; LAST UPDATE: 14.05.2025 savelij
; SCI Registers VS10xx
INIT_VAR
SETVAR SCI_MODE
SETVAR SCI_STATUS
SETVAR SCI_BASS ; VS1001 -> SCI_INT_FCTLH
SETVAR SCI_CLOCKF
SETVAR SCI_DECODE_TIME
SETVAR SCI_AUDATA
SETVAR SCI_WRAM
SETVAR SCI_WRAMADDR
SETVAR SCI_HDAT0
SETVAR SCI_HDAT1
SETVAR SCI_AIADDR
SETVAR SCI_VOL
SETVAR SCI_AICTRL0 ; VS1001 -> RESERVED
SETVAR SCI_AICTRL1
SETVAR SCI_AICTRL2
SETVAR SCI_AICTRL3
SCIMODE ; BIT
_BITMASK SM_DIFF, 0 ; 0
_BITMASK SM_SETTOZERO, 1 ; 1
_BITMASK SM_RESET, 2 ; 2
_BITMASK SM_OUTOFWAV, 3 ; 3
_BITMASK SM_PDOWN, 4 ; 4
_BITMASK SM_TESTS, 5 ; 5
_BITMASK SM_STREAM, 6 ; 6
_BITMASK SM_SETTOZERO2, 7 ; 7
_BITMASK SM_DACT, 0 ; 8
_BITMASK SM_SDIORD, 1 ; 9
_BITMASK SM_SDISHARE, 2 ; 10
_BITMASK SM_SDINEW, 3 ; 11
_BITMASK SM_ADPCM, 4 ; 12
_BITMASK SM_ADPCM_HP, 5 ; 13
_BITMASK SM_LINE_IN, 6 ; 14
SCISTATUS ; BIT
_BITMASK SS_REFERENCE_SEL, 0 ; 0
_BITMASK SS_AD_CLOCK, 1 ; 1
_BITMASK SS_APDOWN1, 2 ; 2
_BITMASK SS_APDOWN2, 3 ; 3
.M_SS_VER EQU %11110000
_BITMASK SS_VCM_DISABLE, 2 ; 10
_BITMASK SS_VCM_OVERLOAD, 3 ; 11
.M_SS_SWING EQU %01100000
_BITMASK SS_DO_NOT_JUMP, 7 ; 15
VS10XX_READ EQU %00000011
VS10XX_WRITE EQU %00000010
; нумерация чипов VS10XX (нумерация из PDF на VS1063)
INIT_VAR
SETVAR VS1001
SETVAR VS1011
SETVAR VS1002
SETVAR VS1003
SETVAR VS1053
SETVAR VS1033
SETVAR VS1063
SETVAR VS1103
; SCI_CLOCKF
SC_MULT0 EQU 0x0000
SC_MULT1 EQU 0x2000
SC_MULT2 EQU 0x4000
SC_MULT3 EQU 0x6000
SC_MULT4 EQU 0x8000
SC_MULT5 EQU 0xA000
SC_MULT6 EQU 0xC000
SC_MULT7 EQU 0xE000
SC_ADD0 EQU 0x0000
SC_ADD1 EQU 0x0800
SC_ADD2 EQU 0x1000
SC_ADD3 EQU 0x1800