Probably because there isn't really a different way to approach it... EDIT: I was right to be suspicious about this method, it does not work with all BIOSes: Code (Text): [BIOS] CDX (USA) (v2.21X) ...................... $016000 [BIOS] LaserActive (Japan) (v1.02) ............. $00D500/$01AD00? [BIOS] LaserActive (USA) (v1.02) ............... $00D500/$01AD00? [BIOS] LaserActive (USA) (v1.04) ............... $00D500/$01AD00? [BIOS] Mega-CD 2 (Europe) (v2.00) .............. $016000 [BIOS] Mega-CD 2 (Europe) (v2.00W) ............. $016000 [BIOS] Mega-CD 2 (Japan) (v2.00C) .............. $016000 [BIOS] Mega-CD (Asia) (v1.00S) ................. $016000 [BIOS] Mega-CD (Europe) (v1.00) ................ $015800 [BIOS] Mega-CD (Japan) (1.00l) ................. $016000 [BIOS] Mega-CD (Japan) (1.00S) ................. $016000 [BIOS] Mega-CD (Japan) (v1.00P) ................ $016000 [BIOS] Multi-Mega (Europe) (v2.21X) [b] ........ $016000 [BIOS] Sega CD 2 (USA) (v2.00) ................. $016000 [BIOS] Sega CD 2 (USA) (v2.00W) ................ $016000 [BIOS] Sega CD 2 (USA) (v2.11X) ................ $016000 [BIOS] Sega CD (USA) (v1.00) ................... $015800 [BIOS] Sega CD (USA) (v1.10) ................... $015800 [BIOS] WonderMega (Japan) (v1.00) (Sega) ....... $016000* [BIOS] WonderMega M2 (Japan) (v2.00) ........... $016000* [BIOS] X'Eye (USA) (v2.00) ..................... $016000* LaserActive has the BIOS code at a different address. Also for the WonderMega-based ROMs (the ones marked with an asterisk) the string "SEGA" isn't present at $016000, but rather "WONDER". (of course, add $400000 to all those addresses when running code off a mode 1 program) EDIT: addenum, found another possible location for the BIOS in the LaserActive: $01AD00 x_x
Good job there, Sik. That's just the info needed to make the startup work on everything. It's part of the reason I posted this with code - people could see what was going on and contribute where they could... like in finding the different BIOS locations on "odd" consoles like the Laser Active. EDIT: Looked at the roms myself - simply checking for "WONDER" as well as "SEGA" at 0x16000 (+0x6D) will take care of the WonderMega/XEye. As for the LaserActive, I suspect one of those is the Sub-CPU BIOS for for LD games, and the other for regular CDs. Someone with an LA will have to try it to see which handles CDs. EDIT 2: Okay, here's a quick update. It should work on the WonderMega and X'Eye, and might work on the LaserActive. It also inits the drive if there is a disc in on startup. See how easy it is to make these changes? http://www.mediafire.com/?88m8r5iaij52sdk
Updated OP with latest version. Now works with the LaserActive, finishing the list of supported models.