nesdev.com
http://forums.nesdev.com/

SMS/SMD polyglot?
http://forums.nesdev.com/viewtopic.php?f=23&t=16545
Page 1 of 1

Author:  lidnariq [ Mon Oct 02, 2017 11:56 pm ]
Post subject:  SMS/SMD polyglot?

I know this isn't exactly the right web site, but...

As far as I can tell, it should not only be possible, but, in fact, easy, to make an image that, when actually in a Genesis, could boot either in Master System mode or in Megadrive modeā€”The Genesis requires a specific value at addresses that are disjoint (I think!) from the required values for the Master System. And the Genesis uses a full 16-bit wide data bus, while the SMS only uses half of it (D8-D15 seem to be unused)

So the question is: does it already exist? Has someone already designed the software that would run on a physical cartridge that you could put into a rev1/rev2 Genesis and have it successfully do a thing regardless of whether the /M3 pin is floating (Genesis) or tied to ground (SMS) ?

Author:  TmEE [ Tue Oct 03, 2017 3:07 am ]
Post subject:  Re: SMS/SMD polyglot?

It wouldn't be super straightforward on hardware side, some address lines change direction (and must be tied to certain states) and purpose of some is completely unknown for the time being. If you want more than 32/48KB some sort of mapper needs to be present also which ideally is bypassed in MD mode.
Also high byte of the bus is still used, and for main RAM. The Z80 RAM is actually unused in SMS mode and one of the 68K RAMs is used instead, I imagine it will cause bus fights between the top byte of ROM and the RAM, but I'm not sure, one day I'll test it out.

Ignoring all hardware difficulties the only complication on software side choosing a 68K stack and start address that also make sense as Z80 instructions but that shouldn't be difficult to do. Hardware side is definitely much more headache.

Author:  lidnariq [ Tue Oct 03, 2017 12:01 pm ]
Post subject:  Re: SMS/SMD polyglot?

Sounds like a good excuse to document what the other signals are doing, then. Since the only thing I was able to find was that 68kA23 becomes /Pause ...

Page 1 of 1 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/