Home | Forums | What's new | Resources | |
Using the Z80 properly, as well as the PSG |
segaloco - Jan 31, 2010 |
ExCyber | Jan 31, 2010 | |||
I'm not familiar with it, but from skimming docs here are some possible issues that jump out at me: - Charles MacDonald's doc says to deassert /RESET before requesting the bus (you're doing it the other way around). It doesn't explicitly say that the other way around doesn't work, but that might be part of your problem. - Similarly, the same doc says to release the bus before asserting /RESET. - You don't seem to be waiting for the bus grant (bit 8 of word $A11100 = 0) before you start writing to Z80 RAM. - You might want to stick in a few NOPs between asserting and deasserting /RESET ; I wouldn't count on one extra write instruction (or the hardware) to ensure that the pulse is wide enough to make the Z80 happy. |
mic | Feb 1, 2010 | |||||||
Here's my setup code on the 68k side (I've tested this on a real Megadrive):
Code:
And on the Z80 side:
Code:
If you want to take a look at the full source code for my player you can find it here: http://jiggawatt.org/muzak/xpmck/xpmck-27.zip... The relevant files are \lib\gen\xpmp_gen.s and \src\z80driver\z80driver.asm |
segaloco | Feb 1, 2010 | |||
Okay, thanks. As for the order in which I do things, I just grabbed that out of the Genesis Technical Overview. I will get on fixing that soon. Thanks for the help. |