Saturday, October 31, 2026

A New Look for the EverDrive-MD v2: OS v36-new

 


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

  1. Copy os-v36-te2026.bin (exactly 64 KB) to your SD card, next to a copy of the original os-v36.bin.
  2. On the EverDrive, open toolbox → update OS and pick the new file.
  3. 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