2020;* Rev 2.3 - : Fixed incorrect _HRAM equate
2121;* Rev 2.4 - 27-Apr-13 : Added some cart defines (AntonioND)
2222;* Rev 2.5 - 03-May-15 : Fixed format (AntonioND)
23+ ;* Rev 2.6 - 04-Apr-16 : Added GBC OAM and cart defines (AntonioND)
2324
2425; If all of these are already defined, don't do it again.
2526
@@ -29,17 +30,18 @@ HARDWARE_INC SET 1
2930rev_Check_hardware_inc : MACRO
3031;NOTE: REVISION NUMBER CHANGES MUST BE ADDED
3132;TO SECOND PARAMETER IN FOLLOWING LINE.
32- IF \1 > 2 .5 ;PUT REVISION NUMBER HERE
33+ IF \1 > 2 .6 ;PUT REVISION NUMBER HERE
3334 WARN "Version \1 or later of 'hardware.inc' is required."
3435 ENDC
3536ENDM
3637
3738_HW EQU $FF00
3839
39- _VRAM EQU $8000 ; $8000->$A000
40+ _VRAM EQU $8000 ; $8000->$9FFF
4041_SCRN0 EQU $9800 ; $9800->$9BFF
4142_SCRN1 EQU $9C00 ; $9C00->$9FFF
42- _RAM EQU $C000 ; $C000->$E000
43+ _SRAM EQU $A000 ; $A000->$BFFF
44+ _RAM EQU $C000 ; $C000->$DFFF
4345_OAMRAM EQU $FE00 ; $FE00->$FE9F
4446_AUD3WAVERAM EQU $FF30 ; $FF30->$FF3F
4547_HRAM EQU $FF80 ; $FF80->$FFFE
@@ -48,19 +50,22 @@ _HRAM EQU $FF80 ; $FF80->$FFFE
4850
4951rRAMG EQU $0000 ; $0000->$1fff
5052rROMB0 EQU $2000 ; $2000->$2fff
51- rROMB1 EQU $3000 ; $3000->$3fff
52- rRAMB EQU $4000 ; $4000->$5fff
53+ rROMB1 EQU $3000 ; $3000->$3fff - If more than 256 ROM banks are present.
54+ rRAMB EQU $4000 ; $4000->$5fff - Bit 3 enables rumble (if present)
5355
5456
5557; --
5658; -- OAM flags
5759; --
5860
59- OAMF_PRI EQU %10000000 ; Priority
60- OAMF_YFLIP EQU %01000000 ; Y flip
61- OAMF_XFLIP EQU %00100000 ; X flip
62- OAMF_PAL0 EQU %00000000 ; Palette number; 0,1
63- OAMF_PAL1 EQU %00010000 ; Palette number; 0,1
61+ OAMF_PRI EQU %10000000 ; Priority
62+ OAMF_YFLIP EQU %01000000 ; Y flip
63+ OAMF_XFLIP EQU %00100000 ; X flip
64+ OAMF_PAL0 EQU %00000000 ; Palette number; 0,1 (DMG)
65+ OAMF_PAL1 EQU %00010000 ; Palette number; 0,1 (DMG)
66+ OAMF_BANK0 EQU %00000000 ; Bank number; 0,1 (GBC)
67+ OAMF_BANK1 EQU %00001000 ; Bank number; 0,1 (GBC)
68+ OAMF_PALMASK EQU %00000111 ; Palette (GBC)
6469
6570
6671;***************************************************************************
@@ -645,6 +650,10 @@ rAUD4GO EQU rNR44 ; silly name!
645650;*
646651;***************************************************************************
647652
653+ CART_COMPATIBLE_DMG EQU $00
654+ CART_COMPATIBLE_DMG_GBC EQU $80
655+ CART_COMPATIBLE_GBC EQU $C0
656+
648657CART_ROM EQU $00
649658CART_ROM_MBC1 EQU $01
650659CART_ROM_MBC1_RAM EQU $02
@@ -667,20 +676,21 @@ CART_ROM_MBC5_RAM_BAT_RUMBLE EQU $1E
667676CART_ROM_MBC7_RAM_BAT_GYRO EQU $22
668677CART_ROM_POCKET_CAMERA EQU $FC
669678
670- CART_ROM_256K EQU 0
671- CART_ROM_512K EQU 1
672- CART_ROM_1M EQU 2
673- CART_ROM_2M EQU 3
674- CART_ROM_4M EQU 4
675- CART_ROM_8M EQU 5
676- CART_ROM_16M EQU 6
677- CART_ROM_32M EQU 7
678- CART_ROM_64M EQU 8
679+ CART_ROM_256K EQU 0 ; 2 banks
680+ CART_ROM_512K EQU 1 ; 4 banks
681+ CART_ROM_1M EQU 2 ; 8 banks
682+ CART_ROM_2M EQU 3 ; 16 banks
683+ CART_ROM_4M EQU 4 ; 32 banks
684+ CART_ROM_8M EQU 5 ; 64 banks
685+ CART_ROM_16M EQU 6 ; 128 banks
686+ CART_ROM_32M EQU 7 ; 256 banks
687+ CART_ROM_64M EQU 8 ; 512 banks
679688
680689CART_RAM_NONE EQU 0
681- CART_RAM_16K EQU 1
682- CART_RAM_64K EQU 2
683- CART_RAM_256K EQU 3
690+ CART_RAM_16K EQU 1 ; 1 incomplete bank
691+ CART_RAM_64K EQU 2 ; 1 bank
692+ CART_RAM_256K EQU 3 ; 4 banks
693+ CART_RAM_1M EQU 4 ; 16 banks
684694
685695CART_RAM_ENABLE EQU $0A
686696CART_RAM_DISABLE EQU $00
0 commit comments