← Назад к ресурсам

Mode 13h: MS-DOSify!

An Iris shader pack for Minecraft that recreates the look of late-90s MS-DOS 3D graphics with deliberate retro accuracy.

Modrinth atmosphere cursed potato

Описание

[![License: AGPL v3+](https://img.shields.io/badge/License-AGPL%20v3%2B-blue.svg)](https://github.com/Hand-Lock/mode-13h/blob/main/LICENSE) # Mode 13h: MS-DOSify! *An **Iris** shader pack for Minecraft that recreates the look of late-90s **MS-DOS** 3D graphics with deliberate retro accuracy.* ![A screenshot of a Minecraft daytime scene with the shader pack.](https://cdn.modrinth.com/data/cached_images/7f88226fae022bc760918a14c467a6762b129cd6.png) **Mode 13h: MS-DOSify!** is not just a generic “pixelation” shader. It aims to reproduce the actual visual limitations and quirks that gave old DOS-era 3D games their unmistakable look: low resolution, wobbly software texture mapping, a fixed 256-color palette, colormap lighting, billboarded sprites, and vanilla-accurate fog. It supports the long-term Minecraft versions **`1.20.1`, `1.21.1` and `1.21.11`** with **Iris** or **Oculus**; every release is tested on all three. **26.x** and other versions are **best-effort**. > **Recommended render resolution: `1280 x 800`** > The shader pack is designed to **downscale by 4x** to an internal **`320 x 200`** image, matching classic **Mode 13h** output. > For the most authentic look, stretch the final image to **`4:3`** to reproduce the era’s **non-square pixels**. ## 🧾 Why This Exists A lot of “retro” shaders stop at chunky pixels and call it a day. **Mode 13h** goes further. It tries to recreate the specific rendering artifacts that defined old DOS-era 3D, including the quirks modern graphics usually try to hide or eliminate. The goal is not just to look old — it is to feel like an actual late-90s PC pushing textured 3D slightly beyond its comfort zone. ![A screenshot of a Minecraft night-time scene using the shader pack.](https://cdn.modrinth.com/data/cached_images/8b56f91dff28ec8312f6133e71f8c0ba1f3aa826.png) ## ✨ Features ### 📺 Authentic low-resolution output - The image is downscaled to a **Mode 13h-style `320 x 200`** internal resolution. - This gives the shader pack the crunchy image structure typical of classic DOS graphics. - Textures pick their mipmaps for that `320 x 200` image, so distant surfaces don't shimmer. ### 🧱 Quake-style texture mapping - Like **Quake**, textures are perspective-correct only every **16 pixels** and linear in between, giving the subtle **texture wobble** of software-rendered 3D. - Want the full **PlayStation-style warping**? Switch to **affine** mapping. Prefer it clean? Perspective-correct is there too. ### 🎨 A real 256-color palette - Every pixel is drawn from a **fixed 256-color palette**, like a DOS game's own. - The default **ramp** palette has 16 Minecraft hues (stone, dirt, grass, water, lava, gold…) in 16 shades each. - Prefer the classic? Pick the **stock VGA palette**, or the computed **RGB332** and **`6 x 6 x 6`** palettes. - Or play in the colors of a classic: **Wolfenstein 3D**, **Doom**, **Heretic**, **Hexen**, **Quake**, **Duke Nukem 3D**, **Daggerfall**, or the **Mac OS** system palette. ### 💡 Colormap lighting - Textures only use palette colors, and shadows **step down each color's ramp** instead of dimming smoothly — just like the colormaps of **Doom** and **Quake**. - Light is **quantized** into configurable brightness steps; **16** matches vanilla Minecraft’s light levels. ### 🌫️ Vanilla-accurate fog - Fog **matches vanilla** on each Minecraft version (curve, distance shape, render-distance fog), and clouds fade out like vanilla's. - **Start** and **End** scales push it thicker or farther; set Start to `0.50` for the denser fog of 2.x. ### 🪧 Billboarded sprites - Flowers, grass and saplings, mushrooms, kelp, seagrass and coral, cave vines, sugar cane, pointed dripstone, torches, lanterns, chains, amethyst, bamboo and hanging propagules render as **2D billboards** that always face the player. - This mimics the sprite-based tricks commonly used in older 3D games. - Signs and more blocks can billboard too, with the add-ons below. ### ✋ Painted viewmodel - First-person hands and held items are drawn **flat and unlit**, like the painted weapon sprites of old shooters. - An **ordered dither** at `320 x 200` scale breaks up their gradients before the palette. ### 💧 Night water - Water turns **darker and more opaque** in low light, so rivers and oceans read as black depths at night. ## ⚙️ Configuration The shader includes a **configuration menu** with several options so you can fine-tune the effect to your taste. You can adjust things such as: - **Pixel scale** (resolution reduction) - **Palette**: ramp, stock VGA, RGB332, `6 x 6 x 6`, Mac OS, seven classic game palettes, or off - **Colormap lighting**, **light steps** and **ambient floor** - **Texture mapping**: subdivided, affine or perspective-correct, and the span width - **Fog** start and end, and **Cloud Distance** (match your video setting on 1.21.6+) - **Hands**: flat sprite look and dithering strength - **Add-on compatibility toggles**, which can be enabled or disabled individually ## 🔧 Technical Notes - Requires **Iris** or **Oculus**. **OptiFine is not supported.** - Supported: **Minecraft `1.20.1`, `1.21.1` and `1.21.11`**, tested before every release. **26.x** and other versions are best-effort. - Targets **OpenGL `4.1`**, so it can also run on **macOS**. - **Lightweight:** a handful of geometry passes and one final pass, no composites. - **Upgrading from an older major version:** settings for removed or renamed options reset to their defaults. ## 🧩 Add-ons **Mode 13h** also has optional companion add-ons that expand the billboarding system. > **Important:** Add-ons are **not included** with the shader pack. They must be **downloaded separately**. ### 🪧 Flatter Signs [**Flatter Signs**](https://modrinth.com/mod/flatter-signs) is a mod that changes signs into **cross/hatch models**, allowing Mode 13h to billboard them like flowers or grass. Without the shader pack, those signs simply render as flat cross/hatch objects. With **Mode 13h** enabled, they become proper DOS-style billboarded signs. ### 🧱 Billy Boarding [**Billy Boarding**](https://modrinth.com/resourcepack/billy-boarding) is a resource pack that changes the **`.json` block models** of selected blocks so they become **cross/hatch-based** and therefore compatible with the shader’s billboarding system. It covers cakes and candle cakes, flower pots and potted plants, anvils, bells, brewing stands, cactus, crops and fire. If you install these add-ons, you can enable or disable their dedicated support from the **shader configuration screen**. ## 🌌 Recommended with a Stylized Sky For the best overall presentation, it is recommended to pair **Mode 13h** with a **stylized skybox**. At the moment, the recommended choice is [**Better Sky**](https://modrinth.com/resourcepack/bettersky). It uses the OptiFine sky format, so it needs the mods [**Nuit**](https://modrinth.com/mod/nuit) and [**Nuit Interop**](https://modrinth.com/mod/nuit-interop). A bespoke skybox made specifically for **Mode 13h** may come in the future. ## ❌ What It Is Not - Not just a simple “pixelation” filter - Not a generic CRT-style retro effect: it emulates the **signal, not the monitor**. No CRT curvature, scanlines or bloom; stretch to `4:3` yourself. - Not a clean or modernized take on retro visuals **Mode 13h** intentionally embraces visual instability, harsh quantization, and awkward old rendering tricks — because that is the whole point. ## ❓ FAQ ### Clouds don't show up on 1.21.1 Sodium draws clouds with its own renderer, which Iris skips, so clouds are missing with **every** shader pack on 1.21.1. This is not a Mode 13h bug. To fix it, open your instance folder and add this line to `config/sodium-mixins.properties` (create the file if it doesn't exist), then restart the game: ```properties mixin.features.render.world.clouds=false ``` Vanilla clouds then render through the shader. ### How do I set the cloud distance? (1.21.6+) Clouds fade out at *Video Settings → Cloud Distance*. Shaders can't read that setting, so set *Shader options → Fog → Cloud Distance* to the same number of chunks. The default, `128`, is vanilla's default. Before 1.21.6, clouds fog at the render distance like terrain, and the option does nothing. ### Enchanted items look dark in the hotbar on 26.2 This is an Iris bug on 26.2 and happens with **every** shader pack ([Iris #3348](https://github.com/IrisShaders/Iris/issues/3348)). Hotbar and inventory items are drawn after the world with vanilla's own shaders, so no shader pack code runs on them and Mode 13h can't fix it. It goes away when Iris fixes it. ### What is the Ramp palette, and how do the palettes differ? - **Ramp** (default): built for this pack. It has 16 Minecraft hues (gray, stone, dirt, wood, sand, grass, foliage, water, sky, red, lava, gold, amethyst, skin, diamond, crimson), each in 16 shades from black to near-white, like Quake's palette. Colormap lighting steps down these ramps, so it keeps Minecraft's colors best. - **VGA**: the stock palette a VGA card booted with. It has the 16 EGA colors, a gray ramp and a hue wheel, so it looks generic and saturated, as games did when they had no palette of their own. - **RGB332 / 6x6x6**: computed by splitting each channel evenly. They give a uniform color grid with visible banding and no hand-made ramps. - **Mac OS**: Apple's 1987 system palette, a `6 x 6 x 6` cube plus red, green, blue and gray ramps. - **Game palettes** (Wolf3D, Doom, Heretic, Hexen, Quake, Duke 3D, Daggerfall): the palette each game's 3D world used. Minecraft takes on that game's colors, but some blocks shift hue because those palettes have fewer Minecraft-like ramps. - **Off**: full color. ## 🖇️ Credits - **Shader pack & idea:** *HandLock_* Licensed under [AGPL-3.0-or-later](https://github.com/Hand-Lock/mode-13h/blob/main/LICENSE). ## 🛠️ Development See [`AGENTS.md`](https://github.com/Hand-Lock/mode-13h/blob/main/AGENTS.md). > *“If the textures don’t wobble, it’s not old enough.”*