Cybernoid/Common/MockingboardDefs.a
tomcw 57b5ea265a Fixes for Cybernoid1:
. Ultimately switched from MB(1MHz clock) to Phasor(2MHz clock) for less noisy playback.
. Fixed a bug in Cmd_00 where HL was loaded with the wrong value.
. Fixed bugs where (DE) was referencing $00nn Spectrum ROM values.
. Fixed initial state to mirror the Cybernoid game (not the AY player binary).
2020-09-20 11:50:15 +01:00

58 lines
1.1 KiB
Plaintext

; Mockingboard defines:
CARD_BASE = $C100
SY6522_A_BASE = $00
SY6522_A_PH_BASE = $10 ; Phasor mode (this is common to both MB & Phasor modes)
SY6522_B_BASE = $80
SY6522_ORB = 0
SY6522_ORA = 1
SY6522_DDRB = 2
SY6522_DDRA = 3
SY6522_TIMER1L_COUNTER = 4
SY6522_TIMER1H_COUNTER = 5
SY6522_TIMER2L_COUNTER = 8
SY6522_TIMER2H_COUNTER = 9
SY6522_ACR = $B
SY6522_IFR = $D
SY6522_IER = $E
AY_AFINE = 0
AY_ACOARSE = 1
AY_BFINE = 2
AY_BCOARSE = 3
AY_CFINE = 4
AY_CCOARSE = 5
AY_NOISEPER = 6
AY_ENABLE = 7
AY_AVOL = 8
AY_BVOL = 9
AY_CVOL = 10
AY_EFINE = 11
AY_ECOARSE = 12
AY_ESHAPE = 13
AY_NOISE_MASK = $1f ; valid bits of AY_NOISEPER
AY_AMPLITUDE_MODE = $10 ; b4 of AY_xVOL (0=fixed, 1=envelope)
AY_ENA_A = %110110 ; Enable A (Noise & Tone)
AY_ENA_B = %101101 ; Enable B (Noise & Tone)
AY_ENA_C = %011011 ; Enable C (Noise & Tone)
AY_DIS_A = %001001 ; Disable A (Noise & Tone)
AY_DIS_B = %010010 ; Disable B (Noise & Tone)
AY_DIS_C = %100100 ; Disable C (Noise & Tone)
; AY inputs on BDIR|BC2|BC1:
AY_RESET = 0
AY_INACTIVE = 4
AY_READ = 5
AY_WRITE = 6
AY_LATCH = 7
; Phasor mode
PH_MOCKINGBOARD = 8
PH_PHASOR = $D
PH_ECHOPLUS = $F