OS v36-new is a reskin of krikzz's original EverDrive-MD OS v36 for the EverDrive-MD v2. It keeps every feature the OS has and adds a background, a new font, menu music, animated sprites and a demo-scene About screen.
The original OS is fast and reliable, but it is plain white text on black. We wanted the menu to feel like the multicart menus of the 90s. So we borrowed the look and sound of the Super 480 in 1 megacart and built them into the EverDrive OS.
It is a patch, not a rewrite. The OS logic, the SD card code and the game loader are krikzz's, untouched.
What's new
Area | Before (v36) | Now (v36-new) |
|---|---|---|
Background | black | Ryu, wing lines, new "EVERDRIVE-MD" logo, blue info bar |
Font | small OS font | the 480in1 list font with a drop shadow |
Colours | white / grey | green = selected, white = normal, gold = folders |
Music | none | both 480in1 menu tracks, about 2 minutes, looping |
Sprites | none | twinkling stars, glowing logo |
File list | "001" and, ".bin" | no numbers, .bin/.md/.gen/.smd hidden, 31-character names |
Hidden folders | shown | "System Volume Information", "$RECYCLE.BIN" etc. hidden |
Loading bar | full screen width | shorter, ends before the artwork |
About screen | text | 3D dot object morphing cube → sphere → torus → star → helix, text ring, scroller |
The music stops the moment you press START on a game or confirm an OS update, so nothing hangs while the flash is written. On PAL consoles the player runs 6 ticks per 5 frames, so the music plays at the right speed on 50 Hz too.
Under the hood
The hard limit is memory, not the 64 KB file. The bootloader copies the OS into the Mega Drive's 64 KB of work RAM and runs it from there. The original code takes about 38.7 KB, and the OS uses most of the rest as working memory. Only a gap of about 3.3 KB stays free while it runs.
So everything is spread across the console's other memories at boot:
Item | Size | Lives in |
|---|---|---|
Music player, sprite effects, hooks | ~1.9 KB | the free 3.3 KB gap in work RAM (~1.4 KB still spare) |
Background (241 tiles + map) | ~10 KB | VRAM, uploaded once at boot |
Menu music | 6.3 KB | Z80 RAM |
About demo | 2.9 KB | VRAM, copied into RAM only while About is open |
A few tricks made it work:
- Music in Z80 RAM, played by the 68000. The 480in1 music was captured register by register and squeezed from 37.8 KB to 6.3 KB with a nested back-reference format. The Z80 stays halted; the 68000 reads the stream and writes the YM2612 and PSG in the VBlank interrupt.
- Background on its own plane. The OS used plane B for grey bars. Those writes now go to an invisible part of plane A, so the background on plane B is never touched. Text tiles get the priority bit, so the sprites fly behind the text.
- Safe sprite updates. The interrupt only touches the VDP when the main code is not inside the OS's VDP routines. Where the interrupted address sits on the stack depends on the bootloader, so the OS measures it once while the main menu idles.
- About demo borrows RAM. Opening About saves 2.9 KB of OS working memory to VRAM, runs the demo there, and restores it byte for byte on exit.
How we tested it
Flashing an untested OS onto real hardware is a good way to brick a cart. So before anything went near the EverDrive, the OS had to run in an emulator — and no emulator knows the EverDrive-MD's hardware.
We added a small EverDrive model to Genesis Plus GX: the SPI registers, a virtual SD card that answers real SD commands, and a FAT16 disk image with test ROMs. With that, the unmodified OS boots, lists folders and "loads" games in the emulator.
Every build was checked there: all menus, scrolling through 75 files over 4 pages, the name keyboard, the cheats screen, game launch, PAL and NTSC timing, and both ways a bootloader can call the VBlank handler. The music was verified write for write against the original 480in1 capture. Final tests ran on a real EverDrive-MD v2.
Install
- Copy
os-v36-te2026.bin(exactly 64 KB) to your SD card, next to a copy of the originalos-v36.bin. - On the EverDrive, open toolbox → update OS and pick the new file.
- Confirm with A. The cart reboots into the new menu.
To go back, run the same update with the original file. Flashing is at your own risk.
Download
Find os-v36-te2026.bin here: https://archive.org/details/everdrive-md-os-v36-new-demo
Credits
- Original EverDrive-MD and OS: krikzz
- Background, font and music: the Super 480 in 1 menu (1999, KANEDA)
- Reskin, music player and About demo: TeamEurope 2026



No comments:
Post a Comment