20
20
;* Rev 2.3 - : Fixed incorrect _HRAM equate
21
21
;* Rev 2.4 - 27-Apr-13 : Added some cart defines (AntonioND)
22
22
;* Rev 2.5 - 03-May-15 : Fixed format (AntonioND)
23
+ ;* Rev 2.6 - 04-Apr-16 : Added GBC OAM and cart defines (AntonioND)
23
24
24
25
; If all of these are already defined, don't do it again.
25
26
@@ -29,17 +30,18 @@ HARDWARE_INC SET 1
29
30
rev_Check_hardware_inc : MACRO
30
31
;NOTE: REVISION NUMBER CHANGES MUST BE ADDED
31
32
;TO SECOND PARAMETER IN FOLLOWING LINE.
32
- IF \1 > 2 .5 ;PUT REVISION NUMBER HERE
33
+ IF \1 > 2 .6 ;PUT REVISION NUMBER HERE
33
34
WARN "Version \1 or later of 'hardware.inc' is required."
34
35
ENDC
35
36
ENDM
36
37
37
38
_HW EQU $FF00
38
39
39
- _VRAM EQU $8000 ; $8000->$A000
40
+ _VRAM EQU $8000 ; $8000->$9FFF
40
41
_SCRN0 EQU $9800 ; $9800->$9BFF
41
42
_SCRN1 EQU $9C00 ; $9C00->$9FFF
42
- _RAM EQU $C000 ; $C000->$E000
43
+ _SRAM EQU $A000 ; $A000->$BFFF
44
+ _RAM EQU $C000 ; $C000->$DFFF
43
45
_OAMRAM EQU $FE00 ; $FE00->$FE9F
44
46
_AUD3WAVERAM EQU $FF30 ; $FF30->$FF3F
45
47
_HRAM EQU $FF80 ; $FF80->$FFFE
@@ -48,19 +50,22 @@ _HRAM EQU $FF80 ; $FF80->$FFFE
48
50
49
51
rRAMG EQU $0000 ; $0000->$1fff
50
52
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)
53
55
54
56
55
57
; --
56
58
; -- OAM flags
57
59
; --
58
60
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)
64
69
65
70
66
71
;***************************************************************************
@@ -645,6 +650,10 @@ rAUD4GO EQU rNR44 ; silly name!
645
650
;*
646
651
;***************************************************************************
647
652
653
+ CART_COMPATIBLE_DMG EQU $00
654
+ CART_COMPATIBLE_DMG_GBC EQU $80
655
+ CART_COMPATIBLE_GBC EQU $C0
656
+
648
657
CART_ROM EQU $00
649
658
CART_ROM_MBC1 EQU $01
650
659
CART_ROM_MBC1_RAM EQU $02
@@ -667,20 +676,21 @@ CART_ROM_MBC5_RAM_BAT_RUMBLE EQU $1E
667
676
CART_ROM_MBC7_RAM_BAT_GYRO EQU $22
668
677
CART_ROM_POCKET_CAMERA EQU $FC
669
678
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
679
688
680
689
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
684
694
685
695
CART_RAM_ENABLE EQU $0A
686
696
CART_RAM_DISABLE EQU $00
0 commit comments