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 - M404 Prototype BIOS - "MASTER SYSTEM" text

Reply to topic
Author Message
  • Joined: 08 Dec 2005
  • Posts: 488
  • Location: Melbourne, Australia
Reply with quote
M404 Prototype BIOS - "MASTER SYSTEM" text
Post Posted: Wed Aug 11, 2010 10:10 am
The bumper screen of the M404 Prototype BIOS shows the text "MASTER SYSTEM" in a 16x12 pixel font. Has this text been spotted anywhere else?

The exact tile data for the text exists within several other ROMs:

Hang On / Safari Hunt [BIOS].sms
Choplifter [Proto].sms
Choplifter.sms
Hang On / Safari Hunt.sms
Marksman Shooting / Trap Shooting / Safari Hunt.sms
Marksman Shooting & Trap Shooting.sms
My Hero.sms
TransBot.sms

In fact, the last 2 contain not only the tile data but also, immediately before it, appropriate name table data.

Do any of the above ROMs actually display this text?
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14735
  • Location: London
Reply with quote
Post Posted: Wed Aug 11, 2010 11:11 am
Good find :)

Image for reference:



I'd guess that they were planning to have an equivalent for the "Sega Mark III" flash? Maybe for export systems, or maybe only for Japanese Master Systems? Is it near the Mark III tile data? I'm pretty sure it's not shown.

Edit: Did you you search across all known ROMs to make your list? For reference, the hex sequence is:

Quote
0000f0f0f8f8fcfc00001e1e3e3e7e7e000007070f0f1e1e00003f7f7f70707f
0000fefefe0000fc0000ffffff0303030000fefefe8080800000ffffffe0e0ff0000fcfcfc000
0f00000f8fcfc0c0cfc0000f0783c1e0f07eeeee7e7e3e30000eeeecece8e8e0000
3c3f7f78f0f0000003030303030300008080808080800000ffffe1e0e0e00000fcf8e
0f0783c0000


and it's uncompressed 1bpp.
  View user's profile Send private message Visit poster's website
  • Joined: 08 Dec 2005
  • Posts: 488
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Wed Aug 11, 2010 12:12 pm
Maxim wrote
I'd guess that they were planning to have an equivalent for the "Sega Mark III" flash?


Exactly what I was thinking :)

Quote
Maybe for export systems, or maybe only for Japanese Master Systems?


I'm leaning towards this being for export systems, since it appears in Transbot but not Astro Flash.

Quote
Is it near the Mark III tile data?


The only game on the list to display "Sega Mark III" is Choplifter. The two sets of tile data are far apart here: offsets of approximately $13d80 and $1dc00 in the 128KB ROM.

Quote
Did you you search across all known ROMs to make your list?


All the ROMs I've got, which is almost all known ones - there are a few I've not yet managed to find.

Quote
For reference, the hex sequence is:...


For completeness, the name table data for the text is:

In the BIOS:
Quote
60 09 61 09 62 09 62 0B 63 09 64 09 65 09 66 09 67 09 68 09 67 09 69 09 00 00 63 09 64 09 6A 09 6A 0B 63 09 64 09 65 09 66 09 67 09 68 09 60 09 61 09 6B 09 6C 09 6D 09 6D 0B 64 0F 63 0F 6E 09 6F 09 67 0D 68 0D 70 09 71 09 00 00 64 0F 63 0F 6E 09 6E 0B 64 0F 63 0F 6E 09 6F 09 67 0D 68 0D 6B 09 6C 09


In TransBot and My Hero:
Quote
60 01 61 01 62 01 62 03 63 01 64 01 65 01 66 01 67 01 68 01 67 01 69 01 00 01 63 01 64 01 6A 01 6A 03 63 01 64 01 65 01 66 01 67 01 68 01 60 01 61 01 6B 01 6C 01 6D 01 6D 03 64 07 63 07 6E 01 6F 01 67 05 68 05 70 01 71 01 00 01 64 07 63 07 6E 01 6E 03 64 07 63 07 6E 01 6F 01 67 05 68 05 6B 01 6C 01


Note that the two sets of name table data are identical apart from:

- The use of a different tile index for a blank
- The name table entries in the BIOS have bit 11 ("Use Sprite Palette") set
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14735
  • Location: London
Reply with quote
Post Posted: Wed Aug 11, 2010 12:50 pm
Choplifter has an entry point for displaying the Master System logo at $0023. I can't see anything that would lead to this.

Patch ROM[1F3] = 23,00 and it will replace the Mark III logo. There may be a "cleaner" patch...

Just in case nobody knew, I made a tool for searching for hex sequences.
  View user's profile Send private message Visit poster's website
  • Joined: 08 Dec 2005
  • Posts: 488
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Wed Aug 11, 2010 1:39 pm
Maxim wrote
Patch ROM[1F3] = 23,00 and it will replace the Mark III logo. There may be a "cleaner" patch...


Even if it's not "clean", it's very simple. Good work!

Interestingly, the code at $0023 is not present in the Choplifter prototype.
  View user's profile Send private message Visit poster's website
  • Joined: 08 Dec 2005
  • Posts: 488
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Wed Aug 11, 2010 9:01 pm
Last edited by RetroSpark on Thu Aug 12, 2010 6:58 am; edited 3 times in total
I don't know whether there's a cleaner patch for Choplifter, but there's a perfectly clean one for TransBot.

Even though TransBot does not show a "Sega Mark III" flash, all the code is there to show "MASTER SYSTEM" - it's just jumped over in the shipped ROM. To get the logo to show, all that is needed is to nullify the jump: ROM[$275] = 00

This is the result, shown for a few seconds before the title screen appears:



EDIT: I've expanded on this on the development page for TransBot.
  View user's profile Send private message Visit poster's website
  • Joined: 08 Dec 2005
  • Posts: 488
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Wed Aug 11, 2010 10:47 pm
It seems that Choplifter and TransBot are the best ROMs for demonstrating this. As I tested the others on the list, things got slowly worse and worse...

"Marksman Shooting / Trap Shooting / Safari Hunt" can be made to display the logo (in white on black) by changing a jump to a call: ROM[55b] = cd. In this case though, there is no delay before the title screen.

An equivalent patch for "Marksman Shooting & Trap Shooting" is ROM[4f3] = cd, but this time not only is there no delay, but the palette is almost certainly incorrect as well.

Similarly, a patch for "Hang On / Safari Hunt" (and the matching BIOS) is ROM[4cc] = cd, but this time you can't even see the logo unless you manually halt the machine and fiddle with the VDP registers.

Finally, "My Hero" doesn't seem to reference the name table data at all.
  View user's profile Send private message Visit poster's website
  • Joined: 08 Dec 2005
  • Posts: 488
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Tue Dec 20, 2011 2:35 am
Maxim wrote
Choplifter has an entry point for displaying the Master System logo at $00023.

This is the code at $00023:

 0023: 3A FF FF     LD A,(FFFFh)
 0026: F5           PUSH AF
 0027: 3E 04        LD A,04h
 0029: 32 FF FF     LD (FFFFh),A
 002C: CD 00 BD     CALL BD00h
 002F: F1           POP AF
 0030: 32 FF FF     LD (FFFFh),A
 0033: C9           RET

As you can see, this is simply a thin wrapper which handles mapping. The function at $13d00 does the actual work of writing the "Master System" tiles and name table data to VRAM.

Maxim wrote
Patch ROM[1F3] = 23,00 and it will replace the Mark III logo. There may be a "cleaner" patch...

Now, this is the code around $001f3:

 01E9: 3A FF FF     LD A,(FFFFh)
 01EC: F5           PUSH AF
 01ED: 3E 07        LD A,07h
 01EF: 32 FF FF     LD (FFFFh),A
 01F2: CD 06 80     CALL 8006h
 01F5: F1           POP AF
 01F6: 32 FF FF     LD (FFFFh),A

This area already contains logic to handle mapping. It calls a function at $1c006, which simply writes the "Sega Mark III" name table data to VRAM. Thus the function at $13d00 is the direct "Master System" equivalent of that at $1c006.

A cleaner patch to display the "Master System" logo is therefore to change the code which calls $1c006 to call $13d00, bypassing the wrapper at $00023 altogether: ROM[1ee] = 04; ROM[1f3] = 00,bd.

Paul Baker wrote
Interestingly, the code at $00023 is not present in the Choplifter prototype.

The wrapper code at $00023 is also not present in the (recently released) second Choplifter prototype. I wonder why it was added for the final version?

However, the function at $13d00 does exist in both protos and the cleaner patch works in both, although it needs to be adjusted because the code is at a different address: ROM[1ff] = 04; ROM[204] = 00,bd.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Jun 2010
  • Posts: 757
  • Location: Pennsylvania, USA
Reply with quote
Post Posted: Mon Dec 26, 2011 7:08 am
Awesome stuff, keep it up!
  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!