Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - SMS1 "double size sprites" bit test

Reply to topic
Author Message
  • Joined: 24 Mar 2021
  • Posts: 120
Reply with quote
SMS1 "double size sprites" bit test
Post Posted: Wed Sep 14, 2022 9:07 pm
In the TMS9918, there's a bit in register 1 called "MAG" that doubles the sizes of sprites. On the SMS2 and GG this even works correctly in mode 4 too. On the Megadrive, there's no legacy modes, so the MAG bit doesn't work anywhere.

But on the SMS1, it's apparently buggy. I wrote a simple test that will display all 64 sprites with the MAG bit on, drawing each of 1 to 8 sprites on a scanline, and can randomize the order of the sprites.

Supposedly, prior evidence has it that the first 1-4 sprites will be double-width only if there are 5-8 sprites on the scanline.

I don't have any SMS (only a GG and MD) to test with... I've made sure this works correctly in Emulicious and MAME's sms1 target. Emulicious "just" emulates an SMS2 with no obvious support for this bug; MAME draws the first 4 sprites on the scanline double-width (and the remaining normal width)

Pressing the pause button will shuffle sprites once. Pressing any button on player 1 joystick will shuffle sprites continuously. Sprites are labeled in base64 (0-9 A-Z a-z + /).

If you have an SMS1, could you test this? Ideally with a picture.
mag.zip (1.38 KB)

  View user's profile Send private message
  • Joined: 12 Apr 2005
  • Posts: 391
  • Location: London, United Kingdom
Reply with quote
Post Posted: Thu Sep 15, 2022 7:44 pm
I had a tricky time running this on my Master System, I just got the "Software Error" screen with the supplied ROM. I'm not sure if it's an issue with the 16KB ROM size on my modified cartridge but I reassembled it as a 32KB ROM which did the trick.

My SMS1 doesn't have the VDP bug/limitation as it has parts usually associated with the SMS2. It's a PAL VA3 model with a 315-5246 VDP (date = 8831) and 315-5237 I/O controller (date = 8737). Unfortunately the date stamp on the main board is smudged and illegible. Most parts have 1988 date codes, and the newest is the Z80 CPU (8926).

I appreciate this isn't what you were asking for, but the VDP bug isn't quite as clear-cut as "SMS1" v "SMS2" as my SMS1 doesn't exhibit the bug due to the newer VDP...
20220915_202429.jpg (194.43 KB)
20220915_202429.jpg
20220915_202452.jpg (198.67 KB)
20220915_202452.jpg

  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3758
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Thu Sep 15, 2022 8:19 pm
We use the term SMS1 and SMS2 loosely here of course, also because it seems to be no way to tell them apart by software means so the only option is to tie those names to the first and second revision of the VDP
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!