don't click here

Custom Genesis BIOS

Discussion in 'Technical Discussion' started by GenesisFan64, Mar 13, 2011.

  1. GenesisFan64

    GenesisFan64

    The bright side of the dark side. Member
    108
    0
    16
    This BIOS displays a simple message and an icon before booting the game, ala DS (the official games are unaffected)
    The icon, description, pallet, even the font can be customized

    Examples:

    My sonic hack
    [​IMG]
    (Temporary icon)

    Test ROM
    [​IMG]

    This requires a special header, which I'll put the it in my next post Below

    Download:
    BIOS
    Test ROM ("Hello World!")

    The BIOS checks for the string "GF64" at $C0
    and starting from $D0, it grabs the full [LONG] locations of the pallet, font, icon and description (in this order)

    From the "Hello World!" ROM:

    Code (ASM):
    1.         dc.l $FFFE00,Entrypoint,ErrorTrap,ErrorTrap
    2.         dc.l ErrorTrap,ErrorTrap,ErrorTrap,ErrorTrap
    3.         dc.l ErrorTrap,ErrorTrap,ErrorTrap,ErrorTrap
    4.         dc.l ErrorTrap,ErrorTrap,ErrorTrap,ErrorTrap
    5.         dc.l ErrorTrap,ErrorTrap,ErrorTrap,ErrorTrap
    6.         dc.l ErrorTrap,ErrorTrap,ErrorTrap,ErrorTrap
    7.         dc.l ErrorTrap,ErrorTrap,ErrorTrap,ErrorTrap
    8.         dc.l HBlank,ErrorTrap,VBlank,ErrorTrap
    9.         dc.l ErrorTrap,ErrorTrap,ErrorTrap,ErrorTrap
    10.         dc.l ErrorTrap,ErrorTrap,ErrorTrap,ErrorTrap
    11.         dc.l ErrorTrap,ErrorTrap,ErrorTrap,ErrorTrap
    12.         dc.l ErrorTrap,ErrorTrap,ErrorTrap,ErrorTrap
    13.  
    14.         dc.b "GF64            "
    15.         dc.l BIOS_Pal,BIOS_art_txt,BIOS_art_icon,BIOS_txt
    16.         dc.b "                " ; Reserved for something else...
    17.         dc.b "                "
    18.  
    19.         dc.b "SEGA Genesis    "
    20.         dc.b "(C)GF64 2010.???"     ;the board replaced ( C ) [without spaces] to (C)
    21.         dc.b "GF64",$27,"s SAMPLE PROGRAM                           "
    22.         dc.b "GF64",$27,"s SAMPLE PROGRAM                           "
    23.         dc.b "GM MK-1337 -00"
    24.         dc.w 0
    25.         dc.b "J               "
    26.         dc.l 0
    27.         dc.l 0
    28.         dc.l $FF0000
    29.         dc.l $FFFFFF
    30.         dc.l $20202020
    31.         dc.l $20202020
    32.         dc.l $20202020
    33.         dc.b "                                                    "
    34.         dc.b "JUE             "
    35.  
    36. ; Note: the data can be placed anywere in the ROM
    37. BIOS_Pal:   incbin  "BIOS\pal.bin"
    38.         even
    39.  
    40. BIOS_Art_Txt:   incbin  "BIOS\art.bin"  ;Font
    41.         even
    42.  
    43. BIOS_Art_Icon:  incbin  "BIOS\icon.bin" ;Icon 32x32
    44.         even
    45.  
    46. ; "}" = space
    47. ; "{" = end-of-text
    48.  
    49. BIOS_Txt:   dc.b    "Sample Program","}"
    50.         dc.b    "}"
    51.         dc.b    "}"
    52.         dc.b    "\#_day/\#_month/2011","{"
    53.         even
     
  2. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    1
    0
    Writing my own MD/Genesis sound driver :D
    This is nice, though I'm not sure if it would be of use... Why not show it to the people at http://gendev.spritesmind.net/forum/? It's a community dedicated to Mega Drive homebrew and hardware-related research.
     
  3. TmEE

    TmEE

    Master of OPL3-SA2/3 Tech Member
    1,726
    2
    18
    Estonia, Rapla City
    T-04YBSC-A !
    I don't think its too useful, but nice novelity none the less.

    I would not use TRAP vectors for the addresses though, there's some unused chunks you could use instead.
     
  4. GenesisFan64

    GenesisFan64

    The bright side of the dark side. Member
    108
    0
    16
    [​IMG]
    ^ That's the reason why I used $C0

    True. I only made this for testing purposes... but it looked good to show it here, oh well.
     
  5. TmEE

    TmEE

    Master of OPL3-SA2/3 Tech Member
    1,726
    2
    18
    Estonia, Rapla City
    T-04YBSC-A !
    [​IMG]

    :P