- Joined: 06 Aug 2021
- Posts: 49
|
Testing on real hardware, what should I use?
Posted: Fri Aug 06, 2021 3:08 am
|
Hey all, I'm starting to play around with Master System development. I started a little bit over the winter learning assembly and had a lot of fun, but I'm going to switch over to smsdevkit, since I can work so much faster using it.
But I want to be able to test my builds on real hardware to make sure that they work not just through emulation. I'm not looking to drop a whole bunch of cash on every single variation of the SMS, so I was wondering what the best approach would be.
I already own a Genesis and a Power Base converter (I've had them both for years now). So my first question is: will the Genesis/Powerbase converter be a good unit to test on, or does it have some noticeable discrepancies between an original SMS?
Obviously I'm going to need some kind of flash cart. So secondly, should I go for a Master Everdrive, or just get a Mega Everdrive? Will there be any real difference?
Thanks!
|
- Joined: 05 Dec 2019
- Posts: 56
- Location: USA
|
Posted: Fri Aug 06, 2021 3:31 am
|
A few noticeable discrepancies that I've found between my EverDrive MD on a model 1 NTSC Genesis and others' SMS/GG hardware
- The TMS9918 modes are completely removed, as are some of the AND masks and other must-be-1 bits on various VDP registers. If you fail to initialize them, the Genesis will tolerate it, but the SMS will get confused and try to mix in some TMS9918 behaviors.
- No sprite magnification mode.
- The VRAM port on the Genesis VDP has a 4-entry first-in, first-out (FIFO) queue. This can accept writes more or less as fast as the SMS puts them out. On the SMS/GG, by contrast, two VRAM writes outside vblank with one less than 27 T-states after the other can cause one of the writes to be lost or corrupted.
- Genesis doesn't include Game Gear's expanded palette mode.
- The Pause button on SMS sends NMI. (Games use 1 = B to start.) The Start button on Game Gear is read through a separate port. The Start button on Genesis is read by using the TH output to toggle the multiplexer. It's possible to make a controller reading routine that reads all three.
- Less memory is initialized on Genesis.
- I think Genesis tolerates incorrect checksums and other invalid header data. Export SMS BIOS does not.
|
- Joined: 05 Sep 2013
- Posts: 3828
- Location: Stockholm, Sweden
|
Posted: Fri Aug 06, 2021 9:08 am
|
if you're going to use devkitSMS the only real difference you might incur into is the lacking of the sprite zoom ability on the MD, but if you avoid those sprite modes altogether you're fine.
as for the flash cart... if you plan in the future of doing MegaDrive homebrew too, I think you can pick the Mega Everdrive. Not sure how well it supports the SMS homebrew but if it runs all the SMS ROMs there should be no problem.
|
- Joined: 06 Aug 2021
- Posts: 49
|
Posted: Tue Aug 17, 2021 6:52 pm
|
sverx wrote Not sure how well it supports the SMS homebrew but if it runs all the SMS ROMs there should be no problem.
I'll make sure to post any issues that I find on the forums. Thanks for the help!
|
- Joined: 06 Aug 2021
- Posts: 49
|
Posted: Tue Aug 24, 2021 12:41 pm
|
bofner wrote sverx wrote Not sure how well it supports the SMS homebrew but if it runs all the SMS ROMs there should be no problem.
I'll make sure to post any issues that I find on the forums. Thanks for the help!
So far so good. It's actually shown me some things (such as the screen boarder) that you can't really test out on an emulator. That FM synth on the x7 is pretty awesome too.
|