|
|
|
; 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
|