22
22
;* Rev 2.5 - 03-May-15 : Fixed format (AntonioND)
23
23
;* Rev 2.6 - 09-Apr-16 : Added GBC OAM and cart defines (AntonioND)
24
24
;* Rev 2.7 - 19-Jan-19 : Added rPCMXX (ISSOtm)
25
+ ;* Rev 2.8 - 03-Feb-19 : Added audio registers flags (Álvaro Cuesta)
25
26
26
27
; If all of these are already defined, don't do it again.
27
28
@@ -31,7 +32,7 @@ HARDWARE_INC SET 1
31
32
rev_Check_hardware_inc : MACRO
32
33
;NOTE: REVISION NUMBER CHANGES MUST BE ADDED
33
34
;TO SECOND PARAMETER IN FOLLOWING LINE.
34
- IF \1 > 2 .7 ;PUT REVISION NUMBER HERE
35
+ IF \1 > 2 .8 ;PUT REVISION NUMBER HERE
35
36
WARN "Version \1 or later of 'hardware.inc' is required."
36
37
ENDC
37
38
ENDM
@@ -402,6 +403,9 @@ IEF_VBLANK EQU %00000001 ; V-Blank
402
403
rNR50 EQU $FF24
403
404
rAUDVOL EQU rNR50
404
405
406
+ AUDVOL_VIN_LEFT EQU %10000000 ; SO2
407
+ AUDVOL_VIN_RIGHT EQU %00001000 ; SO1
408
+
405
409
406
410
; --
407
411
; -- AUDTERM/NR51 ($FF25)
@@ -419,6 +423,17 @@ rAUDVOL EQU rNR50
419
423
rNR51 EQU $FF25
420
424
rAUDTERM EQU rNR51
421
425
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
+
422
437
423
438
; --
424
439
; -- AUDENA/NR52 ($FF26)
@@ -433,6 +448,9 @@ rAUDTERM EQU rNR51
433
448
rNR52 EQU $FF26
434
449
rAUDENA EQU rNR52
435
450
451
+ AUDENA_ON EQU %10000000
452
+ AUDENA_OFF EQU %00000000 ; sets all audio regs to 0!
453
+
436
454
437
455
;***************************************************************************
438
456
;*
@@ -454,6 +472,9 @@ rAUDENA EQU rNR52
454
472
rNR10 EQU $FF10
455
473
rAUD1SWEEP EQU rNR10
456
474
475
+ AUD1SWEEP_UP EQU %00000000
476
+ AUD1SWEEP_DOWN EQU %00001000
477
+
457
478
458
479
; --
459
480
; -- AUD1LEN/NR11 ($FF11)
@@ -672,6 +693,47 @@ rPCM12 EQU $FF76
672
693
; --
673
694
rPCM34 EQU $FF77
674
695
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
+
675
737
;***************************************************************************
676
738
;*
677
739
;* Cart related
0 commit comments