don't click here

SEGA CD Mode 1 Player

Discussion in 'Technical Discussion' started by Chilly Willy, Dec 17, 2011.

  1. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    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):
    1. [BIOS] CDX (USA) (v2.21X) ...................... $016000
    2. [BIOS] LaserActive (Japan) (v1.02) ............. $00D500/$01AD00?
    3. [BIOS] LaserActive (USA) (v1.02) ............... $00D500/$01AD00?
    4. [BIOS] LaserActive (USA) (v1.04) ............... $00D500/$01AD00?
    5. [BIOS] Mega-CD 2 (Europe) (v2.00) .............. $016000
    6. [BIOS] Mega-CD 2 (Europe) (v2.00W) ............. $016000
    7. [BIOS] Mega-CD 2 (Japan) (v2.00C) .............. $016000
    8. [BIOS] Mega-CD (Asia) (v1.00S) ................. $016000
    9. [BIOS] Mega-CD (Europe) (v1.00) ................ $015800
    10. [BIOS] Mega-CD (Japan) (1.00l) ................. $016000
    11. [BIOS] Mega-CD (Japan) (1.00S) ................. $016000
    12. [BIOS] Mega-CD (Japan) (v1.00P) ................ $016000
    13. [BIOS] Multi-Mega (Europe) (v2.21X) [b] ........ $016000
    14. [BIOS] Sega CD 2 (USA) (v2.00) ................. $016000
    15. [BIOS] Sega CD 2 (USA) (v2.00W) ................ $016000
    16. [BIOS] Sega CD 2 (USA) (v2.11X) ................ $016000
    17. [BIOS] Sega CD (USA) (v1.00) ................... $015800
    18. [BIOS] Sega CD (USA) (v1.10) ................... $015800
    19. [BIOS] WonderMega (Japan) (v1.00) (Sega) ....... $016000*
    20. [BIOS] WonderMega M2 (Japan) (v2.00) ........... $016000*
    21. [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
     
  2. Chilly Willy

    Chilly Willy

    Tech Member
    751
    11
    18
    Doom 32X
    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
     
  3. Chilly Willy

    Chilly Willy

    Tech Member
    751
    11
    18
    Doom 32X
    Updated OP with latest version. Now works with the LaserActive, finishing the list of supported models. :)