Small discovery

For hardware talk only (please avoid ROM dumper stuff)
Post Reply
TmEE co.(TM)
Very interested
Posts: 2373
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Small discovery

Post by TmEE co.(TM) » Thu Aug 12, 2010 4:37 pm

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 :shock:

Sega is crazy :P

VRAM is still VDP VRAM not 68K RAM.

I hope this interests someone ^^
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

Eke
Very interested
Posts: 856
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke » Thu Aug 12, 2010 7:34 pm

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 :idea:

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 ?

TmEE co.(TM)
Very interested
Posts: 2373
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Sat Aug 14, 2010 8:57 am

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).
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

Post Reply