Skip to content

Commit 59f1b90

Browse files
committed
Add HuC1 and HuC-3 constants
1 parent e0ddfaa commit 59f1b90

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

hardware.inc

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -729,7 +729,7 @@ def B_IE_VBLANK equ 0 ; 1 = VBlank interrupt is enabled [r/w]
729729
; these addresses are what's provided here.
730730

731731

732-
; ** MBC1, MBC3, MBC5, MBC6, MBC7, MMM01 **************************************
732+
; ** Common MBCs (MBC1, MBC3, MBC5, MBC6, MBC7, MMM01, HuC1, HuC-3) ***********
733733

734734
; -- RAMG ($0000-$1FFF) -------------------------------------------------------
735735
; Whether SRAM can be accessed [wo]
@@ -739,6 +739,20 @@ def rRAMG equ $0000
739739
def RAMG_SRAM_DISABLE equ $00
740740
def RAMG_SRAM_ENABLE equ $0A ; some MBCs accept any value whose low nybble is $A
741741

742+
def RAMG_SRAM_IR equ $0E ; (HuC1 only) switch SRAM to IR mode
743+
744+
; (HuC-3 only) switch SRAM to map cartridge RAM, RTC, or IR
745+
def RAMG_CART_RAM_RO equ $00 ; select cartridge RAM [ro]
746+
def RAMG_CART_RAM equ $0A ; select cartridge RAM [r/w]
747+
def RAMG_RTC_IN equ $0B ; select RTC command/argument [wo]
748+
def RAMG_RTC_IN_CMD equ %0_111_0000 ; command
749+
def RAMG_RTC_IN_ARG equ %0000_1111 ; argument
750+
def RAMG_RTC_OUT equ $0C ; select RTC command/response [ro]
751+
def RAMG_RTC_OUT_CMD equ %0_111_0000 ; command
752+
def RAMG_RTC_OUT_RESULT equ %0000_1111 ; result
753+
def RAMG_RTC_SEMAPHORE equ $0D ; select RTC semaphore [r/w]
754+
def RAMG_IR equ $0E ; select IR [r/w]
755+
742756
; -- ROMB ($2000-$3FFF) ------------------------------------------------------
743757
; ROM bank number [wo]
744758
def rROMB equ $2000
@@ -766,7 +780,7 @@ def B_RAMB_RUMBLE equ 3 ; (MBC5 and MBC7 only) enable the rumble motor (if any)
766780
def RAMB_RUMBLE_ON equ 1 << B_RAMB_RUMBLE
767781

768782

769-
; ** MBC1 only ****************************************************************
783+
; ** MBC1 and MMM01 only ******************************************************
770784

771785
; -- BMODE ($6000-$7FFF) ------------------------------------------------------
772786
; Banking mode select [wo]
@@ -885,6 +899,16 @@ def rACCELY1 equ $A050
885899
def rEEPROM equ $A080
886900

887901

902+
; ** HuC1 only ****************************************************************
903+
904+
; -- IRREG ($A000-$BFFF) ------------------------------------------------------
905+
; IR register [r/w]
906+
def rIRREG equ $A000
907+
908+
def IR_LED_OFF equ $C0
909+
def IR_LED_ON equ $C1
910+
911+
888912
;******************************************************************************
889913
; Screen-related constants
890914
;******************************************************************************

0 commit comments

Comments
 (0)