Mega Drive Boot (Sega Mega Tech)
Just like a normal Mega Drive, you will need a game installed to actually boot and show anything on screen.
If the SMS part of the system is not running, or it doesn't detect any game, it will not bring the Mega Drive circuit out of reset.
If the Mega Drive portion of the system is working, you should also get the main monitor outputting the game.
Here is a basic overview of bring up steps for the Mega Drive side.
- SMS reads BIOS to load Top Menu system
- Checks if at least one game is present
- Brings the Mega Drive system 68k/Z80 out of reset
- Sinks !OE of bus transceivers on address lines to control Mega Drive Z80
- Read the game title metadata back from the Mega Drives Z80 data pins
- If this fails, display 6 empty slots on screen
- If successful, bring 68k out of reset to allow it to read games
- If game loaded successfully, 315-5308 brings Mega Drive Z80 out of reset
All the tests below are performed with a single game in slot 1, and constantly powering on and off the console to be able to capture the first out of reset pulse.
Monitoring the 68k !Reset pin allows you to see the SMS working and bringing it in and out of reset.
Monitoring the Mega Drive Z80 !Reset pin allows you to see the SMS working and bringing it out of reset, then if it comes out a second time, the Mega Drive has successfully loaded a game.
The 315-5313 is the heart of the Mega Drive circuit. It is the VDP responsible for video output and much more, including driving and controlling the 68k.
The first thing to come out of reset is the 315-5313, 5308 and 5309 all via the !SRESET pin 47. This pin is internally pulled high by each chip, and if any have an issue they sink this pin low.
The SMS side firstly keeps the Mega Drive in reset, then brings the 315-5313 and other chips out of reset while the headers are read, then back to in reset, to come out again after the headers are read.
See the first out of reset (reading game headers), followed shortly after by the second out of reset for the Mega Drive to start.
The 315-5313 is out of reset so long as the 315-5308 and 315-5309 are not pulling !SRESET low.
The 315-5308 comes out of reset via the !SRESET exactly as the 315-5313 is, and the !WRESET which is also always high.
The 315-5308 is out of reset so long as the 315-5313 and 315-5309 are not pulling !SRESET low.
The 68k is brought of out reset initially during game header loading by the SMS Z80 circuit (through the 315-5347 pin 11), followed by the 315-5308 bringing it out of reset for the second time once it has initialized (via pin 20).
Once it successfully loads the game, it will release the Z80 from reset.
On the 68k, monitor the reset pin 18 for reset.
If there is no out of reset, check the 315-5308 !RESET (pin 20) is connected to the 68k !RESET (pin 18). Another issue is if the 315-5308 !ZIOREQ (pin 51) is not connected to the Z80 then the 68k won't come out of reset for the second time when the 315-5308 is the one controlling it.
In order for the 68k to come fully out of reset a bunch of pins all need setting up. See System Initialization below.
The Mega Drive Z80 reset can be controlled by both the 315-5308 or the SMS Z80 (via the I/O Expander, OR gate and Inverter).
- The !Reset (pin 18) goes to the output of an OR Gate IC21 HD74LS32P.
- Input 1 (pin 4) comes from the Inverter output (IC23 pin 6), with the input pin 5 going to the I/O Expander IC24 pin 24 (Port D5), which is controlled by the SMS Z80.
- Input 2 (pin 5) goes to the 315-5308 !ZRESET (pin 45).
Meaning if the 315-5308 !ZRESET pin 45 goes high it will bring it out of reset, or if the Z80 sets Port D5 to low, it will also bring it out of reset.
The Z80 should come out of reset initially by the SMS while game headers are read, and then be brought out of reset by the 315-5308 once a game has successfully loaded.
The next step if all reset pins that are expected (315 logic coming out of reset) is to confirm if the system is then performing its initialization prior to reading a game.
TODO: Figure out what the 315-xxxx chips need to do to release the 68k !BGACK high and allow it to start game load... if anything is needed.
After the system initializes the 315-5308 should bring the 68k out of reset, followed by the 315-5313 releasing the !BGACK (pin 100) high, going to the 315-5348 (pin 4) / 315-5347 (pin 2), which then outputs to the 315-5348 (pin 17) going to the 68k, releasing it and letting it become the bus master and start reading from the game slot.
See the Mega Drive 68k page for more information.