To do the 999 challenge you will need to copy the .nines_source folder from the download into your _magicbox folder.
To play against an online opponent in the 999 challenge you will need to follow the instructions for networking.
This is a new feature I'm working on. Every time you hit a boss it switches you to a different boss battle! Can you defeat them all?
Follow the steps for the usual build below. Then copy the .boss_rush_source folder into your _magicbox forlder.
If you have ROMs of Sonic 1, 2, 3, or Knuckles in your _magicbox folder they will be included in the boss rush.
On the startup menu go to BOSS RUSH (BETA) and switch it to "ON".
Then select any game as normal. You will be immediately put into Boss Rush mode in a randomly-selected game.
I've made a tracker specially for this. Unzip the BossRushTracker zip file and run the .exe file inside it.
Input the location of your _magicbox folder into the box at the bottom and it will automatically track your time in each boss.
When running the Magic Box, go to the BOSS RUSH menu. Make sure that EXPOSE DATA TO TRACKER is set to ON.
Follow the instructions for live splits above.
In the folder with the BossRushTracker.exe there is a folder called music. Put mp3 files in that folder.
When running the Magic Box, go to the BOSS RUSH menu. Make sure the following are set to ON:
START NEW BOSS RUSH
EXPOSE DATA TO TRACKER
USE EXTERNAL MUSIC
To play against an online opponent you will need to follow the instructions for networking.
Whenever you hit a boss it will switch your opponent's game.
To enable this, go to the Boss Rush menu, and under the Switch Triggers menu switch on Networked Boss Hit. You may want to switch the other triggers to OFF.
This has only been tested against one set of ROMs. It may not work with all versions of the games.
The tracker is a bit scruffy.
Sonic 1 - Rev 00
Sonic 2 - Rev 01
Sonic 3 - Rev 00
Sonic & Knuckles - Rev 00
Sonic 3D Blast (does not work with tracker yet)
A Mega Drive emulator that switches to a different Sonic game every time you collect a ring. Built by editing the open-source emulator GenesisPlusGX. My source code is available on GitHub.
Network play is supported from version 0.13 upwards. Twitch Chat interactions are supported from version 0.15 upwards. You will need to download the Magic Box VS Communicator to make this work.
Currently detects rings being collected in the following games:
Sonic the Hedgehog (GEN, MS, GG)
Sonic the Hedgehog 2 (GEN, MS, GG)
Sonic the Hedgehog 3 (GEN)
Sonic & Knuckles (GEN)
Sonic 3 & Knuckles (GEN)
Sonic 3D Blast (GEN)
Sonic Spinball (GEN)
Sonic Chaos (MS, GG)
Sonic Triple Trouble (GG)
Sonic Blast (MS, GG)
It also detects specific actions in the following games as if they were rings:
Dr Robotnik's Mean Bean Machine, Puyo Puyo and Puyo Puyo Tsu (GEN)
Streets of Rage 1, 2 and 3 (GEN)
Shadow Dancer, Revenge of Shinobi and Shinobi III (GEN)
Micro Machines 1, 2 and 96 (GEN)
Gunstar Heroes (GEN)
Ecco the Dolphin, Ecco the Tides of Time (GEN)
The Lucky Dime Caper (MS)
Mickey Mouse: Castle of Illusion (MS)
Wonder Boy III: The Dragon's Trap (MS)
Download RetroArch for Windows (32-bit version).
Please ensure you are running the 32-bit version of RetroArch, as the emulator will not run with the 64-bit version. I hope to fix this soon.
Run the installer for RetroArch.
Download Alistair's Magic Box for Windows (v0.26)
If you have problems with this version please try version 0.16
Unzip the downloaded ZIP file
Copy the file genesis_plus_gx_libretro.dll into the RetroArch downloads folder.
To find the location of this folder, open RetroArch and go to Load Core > Install or Restore a Core. The location of the folder will be at the top of the window.
Open RetroArch and go to Load Core > Install or Restore a Core.
Navigate to your downloads folder and select genesis_plus_gx_libretro.dll.
Navigate to your RetroArch folder. It should be one level up from the downloads folder.
Add a new folder called _magicbox
Copy and paste your Sonic game ROMs into this folder.
Works with all Genesis/Mega Drive games, but things to do with collecting rings only work in the following games:
Sonic the Hedgehog
Sonic the Hedgehog 2
Sonic the Hedgehog 3
Sonic & Knuckles
Sonic 3 & Knuckles
Other games can be swapped on a timer: e.g. every 5 seconds or every 30 seconds.
TESTERS: If you don't have any game ROMs download some from here
Open RetroArch and select Load Content. Load any ROM.
If installation has worked you should see a list of the ROMs in your _magicbox folder on the left-hand side of the screen.
If it has detected any ROMs in your _magicbox folder it will run the first one in the list, regardless of which ROM you selected.
Because this emulator juggles mutliple save states for different games, I've implemented functionality for save states beyond what's built into RetroArch by default
To begin all your games from their last saved state, switch BEGIN WITH SAVED STATE to ON
To choose how frequently all your save states are stored, use the AUTO-SAVE STATE menu item.
Hold down UP + START + B to access the in-game menu
Press UP or DOWN to choose an item. Press START to make it happen
Added heart rate monitor support
9999 Challenge bugfix: 10-ring boxes in Sonic 2/3/Knuckles no longer snap your ring count back to 999
9999 Challenge bugfix: you can complete the challenge by getting a 10-ring box in 3D Blast
999/9999 Challenges: gambling machines actually no longer work now
999 Challenge can also be 9999 Challenge - good luck!
Fixed bugs in Sonic 3D Blast in 999 Challenge
Gambling machines no longer work in 999 Challenge
999 Challenge has better VS mutliplayer
Boss Rush tracker now tracks what options you have selected and which games are active
Adds support for Blues Spheres (Sonic 1 + Sonic & Knuckles lock-on)
Can now swap after every 1, 2, 5 or 10 rings
Adds validation data at end of Boss Rush
Adds Bosh Rush Doomsay Zone ring bonus back in
Adds 999 Challenge
Boss Rush can send networked swaps on hit boss
Can use "swap on rings or boss hits" in Sonic 1, 2, 3, Knuckles and 3D Blast
Adds support for Sonic 3D Blast in Boss Rush
Bugfix - fixes crash on startup for new installs
Version number now shows on setup screens
Fix tracker bugs where details can go off-screen
Tracker can now manage custom background music
Stages no longer have debug/level select active.
Tracker scales better.
Swap and death counter work better.
Improvements to deterministic RNG.
Boss Rush now exposes data to a tracker.
A tracker built in Unity tracks your best times.
Boss Rush now allows you to seed the order of bosses
Bossh Rush maintains ring count between bosses
Bugfixes and additional options for Boss Rush
Addition of boss rush mode for Sonic 1, 2, 3 and Knuckles
Bugfixes for Streets of Rage 2 & 3 and the Micro Machines games:
They switch based on their usual triggers if "switch on land" enabled
They observe the cooldown timer
When you have "switch on land" enabled unsupported games will switch based on their usual behaviour. (E.g. Puyo Puyo will still switch when you group four beans)
Sonic 1, 2, 3 and Knuckles can now switch when Sonic lands on the ground.
Cooldown time can now be 2.5, 5 or 15 seconds
I can't remember what I changed this time - sorry! I think it was mostly stuff to support the live shows. Did I mention I have a special kit for this to show at events?
Can switch off rewind feature (is off by default)
Fix bugs in death counter
Add Ecco the Dolphin and Ecco the Tides of Time
Twitch users can use get command to peek at RAM values
Rewind goes back further
Alert on startup about useful button functions
Death counter viewable in UI
Added Lucky Dime Caper (SMS) and Castle of Illusion (SMS)
Colour remove effect no longer affects swap count overlay
Players can hold values in memory using the Twitch interface
Allow Twitch users to type "random" as a number
Allow Twitch users to give single-digit values and 3-digit or 5-digit RAM locations
Add a rewind symbol when rewinding
Switching off "remove colours" in Twitch app resets the screen to normal
Master System can accept RAM values above 0x2000 sent by Twitch users
Fix but where Twitch users send 00 and it gets read as 01
Added rewind feature (hold START + B + LEFT)
Added support for Twitch integration in the VS Communicator
VS Communicator can now write to specific areas in RAM
Added functionality to delete colours when you get a ring
Improved support for Magic Box Communicator (network play, still in beta)
UI now shows if hacks in a category are activated
Added support for Gunstar Heroes
Now reads messages delivered by Magic Box Communicator (network play, still in beta)
Implemented infinite lives in Shinobi III, Shadow Dancer and Streets of Rage trilogy
Added support for Micro Machines 1, 2 and 96
Game switching in Streets of Rage 2 and 3 happens the instant you defeat an enemy
Bugfix: get ring to speed up works in Sonic 2, 3 and Knuckles
Added DOWN + B + START as insta-kill shortcut.
New hack: getting a ring writes data into the level (Sonic 1, 2, 3 and Knuckles)
Rearrange hack-select menu to have sub-menus
Can make game-swap happen in alphabetical order of the ROM file names
File names are shortened instead of going off the screen in menu
Adds support for Game Gear Sonic games
Infinite lives and time work in Game Gear and Master System games
Detects an empty _magicbox folder and gives you a warning
Detects .zip files and gives you a warning (as it cannot read them)
Searches for games in sub-folders of _magicbox
Added support for Puyo, Shinobi and Streets of Rage games
Detects rings in Sonic 3D Blast special stages
Detects Master System games with .sms or .bin file extension
Detects rings in Sonic 1, 2 and Chaos for Master System
Sonic Spinball lives counter is now only updated periodically (so it doesn't freeze on ending screen)
START + UP + B menu no longer renders as totally black (used to happen in Sonic Spinball ending screen)
Detects rings in Sonic Spinball and Sonic 3D Blast
Added a debug menu for finding useful RAM values
Can remove games from random selection in the UP + START + B menu
Can maintain Sonic's lives/rings/time/score/momentum/top-speed across games
Can activate/deactivate effects from the UP + START + B menu
New graphics-related hacks that work for all games:
Do not draw sprites
Do not draw backgrounds
Sort pixels by colour
Re-map colour palettes
Access the in-game menu by holding UP + START + B
Save save states from the in-game menu
Save save states to disk at user-defined intervals
Load save states from start-up or during games
Added ability to toggle special options on and off:
When games should switch
Video RAM can be carried over during a game switch
Infinite lives/time
Sonic speeds up on collect ring
Allow player to choose the starting game from an in-game menu
First release