You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
2.2 KiB
139 lines
2.2 KiB
; 0000-003F : RST Handlers |
|
IF OverrideRst00 == 0 |
|
SECTION "rst00", ROM0[$0000] |
|
ret |
|
DS 7 |
|
ENDC |
|
|
|
IF OverrideRst08 == 0 |
|
SECTION "rst08", ROM0[$0008] |
|
ret |
|
DS 7 |
|
ENDC |
|
|
|
IF OverrideRst10 == 0 |
|
SECTION "rst10", ROM0[$0010] |
|
ret |
|
DS 7 |
|
ENDC |
|
|
|
IF OverrideRst18 == 0 |
|
SECTION "rst18", ROM0[$0018] |
|
ret |
|
DS 7 |
|
ENDC |
|
|
|
IF OverrideRst20 == 0 |
|
SECTION "rst20", ROM0[$0020] |
|
ret |
|
DS 7 |
|
ENDC |
|
|
|
IF OverrideRst28 == 0 |
|
SECTION "rst28", ROM0[$0028] |
|
ret |
|
DS 7 |
|
ENDC |
|
|
|
IF OverrideRst30 == 0 |
|
SECTION "rst30", ROM0[$0030] |
|
ret |
|
DS 7 |
|
ENDC |
|
|
|
IF OverrideRst38 == 0 |
|
SECTION "rst38", ROM0[$0038] |
|
ret |
|
DS 7 |
|
ENDC |
|
|
|
; 0040-0067 : Interrupt Handlers |
|
IF OverrideIntVblank == 0 |
|
SECTION "intVblank", ROM0[$0040] |
|
reti |
|
DS 7 |
|
ENDC |
|
|
|
IF OverrideIntLcdc == 0 |
|
SECTION "intLcdc", ROM0[$0048] |
|
reti |
|
DS 7 |
|
ENDC |
|
|
|
IF OverrideIntTimer == 0 |
|
SECTION "intTimer", ROM0[$0050] |
|
reti |
|
REPT 7 |
|
nop |
|
ENDR |
|
ENDC |
|
|
|
IF OverrideIntSerial == 0 |
|
SECTION "intSerial", ROM0[$0058] |
|
reti |
|
DS 7 |
|
ENDC |
|
|
|
IF OverrideIntJoypad == 0 |
|
SECTION "intJoypad", ROM0[$0060] |
|
reti |
|
DS 7 |
|
ENDC |
|
|
|
; 0068-00FF : Undefined |
|
SECTION "preHeader", ROM0[$0068] |
|
DS $98 |
|
|
|
; ---------------------- |
|
; 0104-014F : ROM Header |
|
; ---------------------- |
|
SECTION "header", ROM0[$0100] |
|
; 0100-0103 : Jump Past Header |
|
nop |
|
jp ProgramStart |
|
|
|
; 0104-0133 : Nintendo Logo |
|
DB $ce, $ed, $66, $66, $cc, $0d, $00, $0b, $03, $73, $00, $83, $00, $0c, $00, $0d |
|
DB $00, $08, $11, $1f, $88, $89, $00, $0e, $dc, $cc, $6e, $e6, $dd, $dd, $d9, $99 |
|
DB $bb, $bb, $67, $63, $6e, $0e, $ec, $cc, $dd, $dc, $99, $9f, $bb, $b9, $33, $3e |
|
|
|
; 0134-013E : Title |
|
STATIC_ASSERT STRLEN(HeaderTitle) <= 13, "Header title is too large!" ; 11 characters + 2 quotes |
|
DB HeaderTitle |
|
DS 11 - STRLEN(HeaderTitle) |
|
|
|
; 013F-0142 : Manufacturer Code |
|
DS 4 |
|
|
|
; 0143 : CGB Flag |
|
DB HeaderCgbFlag |
|
|
|
; 0144-0145 : New Licensee Code |
|
DB "HI" |
|
|
|
; 0146 : SGB Flag |
|
DB HeaderSgbFlag |
|
|
|
; 0147 : Cartridge Type |
|
DB HeaderCartType |
|
|
|
; 0148 : ROM Size |
|
DB HeaderRomSize |
|
|
|
; 0149 : RAM Size |
|
DB HeaderRamSize |
|
|
|
; 014A : Destination Code |
|
DB HeaderDestinationCode |
|
|
|
; 014B : Old Licensee Code |
|
DB HeaderOldLicensee |
|
|
|
; 014C : Mask ROM Version Number |
|
DB HeaderMaskRomVersion |
|
|
|
; 014D : Header Checksum |
|
DB $00 |
|
|
|
; 014E-014F : Global Checksum |
|
DW $0000
|
|
|