Master System Game Load (Sega Mega-Tech)
Depending on which game you insert, the 68k and Z80 come out of reset differently.
Choose a Master System game like After Burner for Master System load.
This is a great way to completely bypass the 68k and its Upper RAM (the lower IC55 is still required) if you suspect they are faulty.
The Mega-Tech will fully boot and load Master System games with the 68k completely removed. If the 68k is faulty it could pull the data or address pins bad still.
If you are unsure which type of game you have, measure with a multimeter in the cartridge between the !M3 (pin B30) and ground (A1 / A32).
B30 is the third pin in from the right when looking at the game, and grounds are the outer 2 pins on the back plane.
If the pin is shorted, it is a Master System game.
The 315-5308 is responsible for querying the cartridge slots !M3 (pin 78).
This pin is pulled to ground when a Master System game is inserted (Indicating a Mark 3 Master System game).
If you observe the 315-5308 !M3 (pin 78) during boot, if the game is a Master System game it will pulse low every time the circuit connects that cartridge slot to the 315-5308. This means before game load it will be high, during title read it will be low, between resets it will be high, and when the game is loaded it will remain low.
It is best to do this test with a single game inserted so you know the M3 line is always related to that cartridge.
With a master system game, the 68k is not needed even during title read.
The Master System (red trace) will come out of reset during title read, then again when loading the game.
If the game fails to load the Master System will go back into reset (go low) shortly after coming out of reset for the second time.
Game data involves many circuits:
- Z80 - Main Game Processing
- MB8464A - Z80 Work RAM
- 315-5313 - Work RAM control and Video Processing
- 315-5308 - Controls 68k/Z80/WRAM/VRAM bus control flow
The Z80 is entirely responsible for reading in and processing the cartridge game data of Master System games.
Here are what the various signals from the Z80 look like for a successful boot.
All these tests were done with the game After Burner. Use the same game if you want to guarantee identical results.
The !ZIOREQ won't toggle until the game has loaded, then will toggle periodically in long bursts.
The !ZMEQ toggles constantly once out of reset.
Both !ZHALT and !ZNMI should remain constantly high at all times.
The !ZINT will pulse a few times during header read, then stay high until the game loads.
Once it successfully loads, it pulses low for a period, then periodically pulses low 3 times every 150ms.
The !ZRD pulses constantly any time it is out of reset.
The !ZWR pulses only on the second out of reset (so not during header read).
It pulses briefly at the start of game load, then will not pulse again until the game has fully loaded.
Once the game has loaded it will pulse for a long period, then intermittent, then long again as the game progresses.
The !ZBUSACK and !ZBUSREQ should remain high at all times except the header read. It will be low while reading headers.
The !ZWAIT should remain high at all times except the header read. It will pulse low while reading headers.
The !ZM1 will pulse constantly while out of reset but not during header load.
The !ZOE will pulse constantly while out of reset but not during header load.
Notice it is only 3.3V not 5V.
The address pins 0 to 11 toggle during header read, and constantly during game load and play.
During game load they toggle constantly, and during play they become more random and less frequent.
The higher address pins 12 to 15 only toggle briefly at the start of game load, then stay low until the game has loaded before starting again.
Note that as the Z80 doesn't have address pins higher than A15, the IC42 buffer is not even used.
All the data pins toggle constantly any time they are out of reset, with the notable exception of D5 which toggles at the start of game load briefly then is high until the game has loaded.
This is likely specific to the exact game After Burner, and other games will likely toggle all the time for the data pins.
Monitor that the Z80 comes out of reset after header load and stays out firstly. If not, that will need fixing and tracking down why it isn't coming out of reset.
Once the Z80 is out of reset and you are seeing activity like above, but the games are not loading, the following pins are not needed to show the game title, but are needed to load the game, so are worth paying special attention to:
- 315-5313 Data pins D4 to D6 (would show corrupt title text however if bad)
- Z80 Data pins D4 to D6 (would show corrupt title text however if bad)
- 315-5313 Address pins over and including A6 onwards
A failed game load often shows the following on each Z80 pin if the data loaded is corrupt or there is bad RAM, address or data pins to and from the 315-5313, cartridge, Z80 and Z80 RAM.
- Z80 !IOREQ pulses constantly
- !ZHALT sometimes drops low (halting the Z80) after about half a second out of reset
- !ZINT will stay high never dropping low
- ZA12 to 15 which would typically pulse briefly at load then idle until game play, will pulse constantly
- !ZWR will pulse constantly
So, focus your attention primarily on broken traces between the 315-5313, Z80 and address buffers. Specifically, the A6 and higher pins.
If that fails, it is less likely but could be the 315-5313 itself, higher data pins, data buffers, a bad Z80, or anything else. Probe away with your scope to hunt for the problem.
īģŋ