Skip to content

Commit efd1a42

Browse files
committed
2.6: Added GBC OAM and cart defines (AntonioND)
1 parent 3ebce5a commit efd1a42

File tree

1 file changed

+32
-22
lines changed

1 file changed

+32
-22
lines changed

hardware.inc

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
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
2930
rev_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
3536
ENDM
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

4951
rRAMG EQU $0000 ; $0000->$1fff
5052
rROMB0 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+
648657
CART_ROM EQU $00
649658
CART_ROM_MBC1 EQU $01
650659
CART_ROM_MBC1_RAM EQU $02
@@ -667,20 +676,21 @@ CART_ROM_MBC5_RAM_BAT_RUMBLE EQU $1E
667676
CART_ROM_MBC7_RAM_BAT_GYRO EQU $22
668677
CART_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

680689
CART_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

685695
CART_RAM_ENABLE EQU $0A
686696
CART_RAM_DISABLE EQU $00

0 commit comments

Comments
 (0)