Jorge Nuno once pointed my attention to A14 line on 68K RAM, which is not connected to 68K, but to a separate pin coming from the ASIC.... so I made an experiment and connected the line to 68K A14 and everything remained functional....
At least so I thought... SMS games did not work for the most part... but when I restored the A14 line then the games all started working.
Now, I disabled 68K RAM by pulling !CE line high, and no SMS game works... and then I restored 68K RAM and pulled Z80 RAM !CE high and SMS games remained working perfectly
Sega is crazy
VRAM is still VDP VRAM not 68K RAM.
I hope this interests someone ^^
Small discovery
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
Small discovery
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
So basically, they used one of the 68k RAM chip as Z80 RAM in SMS compatibility mode, not the original Z80 RAM as you would logically think they did
The odd thing is that RAM /CE is generated by the VDP, which means this chip is still doing Z80 address decoding in SMS mode
As far as I understand it, in SMS mode Z80 address bus is directly connected to 68k address bus (for cartridge port access): ZA14-ZA15 are used for address decoding ($C000-$FFFF access are mapped to 8k mirrored RAM) and ZA0-ZA12 are used to address the RAM chip. RAM A13 obviously needs to be forced for mirrored RAM access, which is why IA14 is controlled by the ASIC.
But the thing I don't understand is why SMS games wouldn't work if it is connected to VA14, it shouldn't matter if it's 0 or 1? Or is it because when the 68k does not run, address lines are in a "intermediate" state which is neither 0 or 1 and the RAM chip cannot get a valid address ?
The odd thing is that RAM /CE is generated by the VDP, which means this chip is still doing Z80 address decoding in SMS mode
As far as I understand it, in SMS mode Z80 address bus is directly connected to 68k address bus (for cartridge port access): ZA14-ZA15 are used for address decoding ($C000-$FFFF access are mapped to 8k mirrored RAM) and ZA0-ZA12 are used to address the RAM chip. RAM A13 obviously needs to be forced for mirrored RAM access, which is why IA14 is controlled by the ASIC.
But the thing I don't understand is why SMS games wouldn't work if it is connected to VA14, it shouldn't matter if it's 0 or 1? Or is it because when the 68k does not run, address lines are in a "intermediate" state which is neither 0 or 1 and the RAM chip cannot get a valid address ?
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
I guess it won't work because some games use mirrored area access, and then it won't mirror but would be another piece of RAM entirely... ?that's only thing I can think of why some games work and some don't...
and the RAM is on high byte (D8...D15), ROM is on low byte (D0...D7).
and the RAM is on high byte (D8...D15), ROM is on low byte (D0...D7).
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen