Skip to content

Commit 0f382e8

Browse files
authored
Merge pull request #3 from alvaro-cuesta/audio-flags
Audio registers flags
2 parents b6eb514 + 0b46188 commit 0f382e8

File tree

1 file changed

+63
-1
lines changed

1 file changed

+63
-1
lines changed

hardware.inc

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
;* Rev 2.5 - 03-May-15 : Fixed format (AntonioND)
2323
;* Rev 2.6 - 09-Apr-16 : Added GBC OAM and cart defines (AntonioND)
2424
;* Rev 2.7 - 19-Jan-19 : Added rPCMXX (ISSOtm)
25+
;* Rev 2.8 - 03-Feb-19 : Added audio registers flags (Álvaro Cuesta)
2526

2627
; If all of these are already defined, don't do it again.
2728

@@ -31,7 +32,7 @@ HARDWARE_INC SET 1
3132
rev_Check_hardware_inc : MACRO
3233
;NOTE: REVISION NUMBER CHANGES MUST BE ADDED
3334
;TO SECOND PARAMETER IN FOLLOWING LINE.
34-
IF \1 > 2.7 ;PUT REVISION NUMBER HERE
35+
IF \1 > 2.8 ;PUT REVISION NUMBER HERE
3536
WARN "Version \1 or later of 'hardware.inc' is required."
3637
ENDC
3738
ENDM
@@ -402,6 +403,9 @@ IEF_VBLANK EQU %00000001 ; V-Blank
402403
rNR50 EQU $FF24
403404
rAUDVOL EQU rNR50
404405

406+
AUDVOL_VIN_LEFT EQU %10000000 ; SO2
407+
AUDVOL_VIN_RIGHT EQU %00001000 ; SO1
408+
405409

406410
; --
407411
; -- AUDTERM/NR51 ($FF25)
@@ -419,6 +423,17 @@ rAUDVOL EQU rNR50
419423
rNR51 EQU $FF25
420424
rAUDTERM EQU rNR51
421425

426+
; SO2
427+
AUDTERM_4_LEFT EQU %10000000
428+
AUDTERM_3_LEFT EQU %01000000
429+
AUDTERM_2_LEFT EQU %00100000
430+
AUDTERM_1_LEFT EQU %00010000
431+
; SO1
432+
AUDTERM_4_RIGHT EQU %00001000
433+
AUDTERM_3_RIGHT EQU %00000100
434+
AUDTERM_2_RIGHT EQU %00000010
435+
AUDTERM_1_RIGHT EQU %00000001
436+
422437

423438
; --
424439
; -- AUDENA/NR52 ($FF26)
@@ -433,6 +448,9 @@ rAUDTERM EQU rNR51
433448
rNR52 EQU $FF26
434449
rAUDENA EQU rNR52
435450

451+
AUDENA_ON EQU %10000000
452+
AUDENA_OFF EQU %00000000 ; sets all audio regs to 0!
453+
436454

437455
;***************************************************************************
438456
;*
@@ -454,6 +472,9 @@ rAUDENA EQU rNR52
454472
rNR10 EQU $FF10
455473
rAUD1SWEEP EQU rNR10
456474

475+
AUD1SWEEP_UP EQU %00000000
476+
AUD1SWEEP_DOWN EQU %00001000
477+
457478

458479
; --
459480
; -- AUD1LEN/NR11 ($FF11)
@@ -672,6 +693,47 @@ rPCM12 EQU $FF76
672693
; --
673694
rPCM34 EQU $FF77
674695

696+
697+
;***************************************************************************
698+
;*
699+
;* Flags common to multiple sound channels
700+
;*
701+
;***************************************************************************
702+
703+
; --
704+
; -- Square wave duty cycle
705+
; --
706+
; -- Can be used with AUD1LEN and AUD2LEN
707+
; -- See AUD1LEN for more info
708+
; --
709+
AUDLEN_DUTY_12_5 EQU %00000000 ; 12.5%
710+
AUDLEN_DUTY_25 EQU %01000000 ; 25%
711+
AUDLEN_DUTY_50 EQU %10000000 ; 50%
712+
AUDLEN_DUTY_75 EQU %11000000 ; 75%
713+
714+
715+
; --
716+
; -- Audio envelope flags
717+
; --
718+
; -- Can be used with AUD1ENV, AUD2ENV, AUD4ENV
719+
; -- See AUD1ENV for more info
720+
; --
721+
AUDENV_UP EQU %00001000
722+
AUDENV_DOWN EQU %00000000
723+
724+
725+
; --
726+
; -- Audio trigger flags
727+
; --
728+
; -- Can be used with AUD1HIGH, AUD2HIGH, AUD3HIGH
729+
; -- See AUD1HIGH for more info
730+
; --
731+
732+
AUDHIGH_RESTART EQU %10000000
733+
AUDHIGH_LENGTH_ON EQU %01000000
734+
AUDHIGH_LENGTH_OFF EQU %00000000
735+
736+
675737
;***************************************************************************
676738
;*
677739
;* Cart related

0 commit comments

Comments
 (0)