nuclear@0: | the following will go into the custom .romhdr section which will be placed at nuclear@0: | address 100h of the binary by the linker (see lnkscript). nuclear@0: .section .romhdr,"a" nuclear@0: nuclear@0: #ifndef GAMENAME nuclear@0: #define GAMENAME "unnamed" nuclear@0: #endif nuclear@0: #ifndef VERSTR nuclear@0: #define VERSTR "00" nuclear@0: #endif nuclear@0: nuclear@0: .ascii "SEGA MEGA DRIVE (C)MINDLAPSE2017" nuclear@0: hdr_game_dom: nuclear@0: .ascii GAMENAME nuclear@0: hdr_game_dom_end: nuclear@0: .fill 48 - (hdr_game_dom_end - hdr_game_dom),1,32 | pad to 48 bytes with spaces nuclear@0: hdr_game_int: nuclear@0: .ascii GAMENAME nuclear@0: hdr_game_int_end: nuclear@0: .fill 48 - (hdr_game_int_end - hdr_game_int),1,32 | pad to 48 bytes with spaces nuclear@0: .ascii "GM" | it's a game (who cares what it is?) nuclear@0: .ascii "0000000-" | product code nuclear@0: .ascii VERSTR | version string nuclear@0: .short 0 | checksum nuclear@0: .ascii "J " | I/O support (joypad) nuclear@0: .long 0 | start address of ROM nuclear@0: .long _rom_end | last address of ROM nuclear@0: .long 0xff0000 | start address of RAM nuclear@0: .long 0xffffff | last address of RAM nuclear@0: .long 0 | SRAM enabled(?) nuclear@0: .long 0 | ??? nuclear@0: .long 0 | start address of SRAM nuclear@0: .long 0 | last address of SRAM nuclear@0: .long 0 | ??? nuclear@0: .long 0 | ??? nuclear@0: .fill 40,1,32 | notes (fill with spaces for now TODO) nuclear@0: .ascii "JUE " | country codes