Mask AY_NOISEPER (reg-6) with 0x1F, as Cybernoid reg data has a value of 0x2F, which reads back at 0x0F on real hw
This commit is contained in:
parent
6622164bac
commit
0c58998e02
|
@ -15,6 +15,7 @@ USE_AYDATA1 = 1
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
zpTmp = $f9
|
||||||
pTonesTbl = $fa
|
pTonesTbl = $fa
|
||||||
TmpL = $fc ; alias with pAYData
|
TmpL = $fc ; alias with pAYData
|
||||||
pAYData = $fc
|
pAYData = $fc
|
||||||
|
@ -27,6 +28,8 @@ MBBaseH = MBBase+1
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
|
|
||||||
Entrypoint:
|
Entrypoint:
|
||||||
|
lda zpTmp
|
||||||
|
sta saveF9
|
||||||
lda pTonesTbl+0
|
lda pTonesTbl+0
|
||||||
sta saveFA
|
sta saveFA
|
||||||
lda pTonesTbl+1
|
lda pTonesTbl+1
|
||||||
|
@ -194,6 +197,8 @@ done
|
||||||
ldy #SY6522_ORB+$80
|
ldy #SY6522_ORB+$80
|
||||||
sta (MBBase),y
|
sta (MBBase),y
|
||||||
|
|
||||||
|
lda saveF9
|
||||||
|
sta zpTmp
|
||||||
lda saveFA
|
lda saveFA
|
||||||
sta pTonesTbl+0
|
sta pTonesTbl+0
|
||||||
lda saveFB
|
lda saveFB
|
||||||
|
@ -255,6 +260,10 @@ MB7x sty CARD_BASE+SY6522_ORA
|
||||||
MB8x sta CARD_BASE+SY6522_ORB
|
MB8x sta CARD_BASE+SY6522_ORB
|
||||||
MB9x stx CARD_BASE+SY6522_ORB ; Set INACTIVE
|
MB9x stx CARD_BASE+SY6522_ORB ; Set INACTIVE
|
||||||
MBsmc2 lda AYData1,y
|
MBsmc2 lda AYData1,y
|
||||||
|
cpy #AY_NOISEPER
|
||||||
|
bne +
|
||||||
|
and #AY_NOISE_MASK
|
||||||
|
+
|
||||||
MBAx sta CARD_BASE+SY6522_ORA
|
MBAx sta CARD_BASE+SY6522_ORA
|
||||||
lda #AY_WRITE
|
lda #AY_WRITE
|
||||||
MBBx sta CARD_BASE+SY6522_ORB
|
MBBx sta CARD_BASE+SY6522_ORB
|
||||||
|
@ -265,10 +274,8 @@ MBCx stx CARD_BASE+SY6522_ORB ; Set INACTIVE
|
||||||
; Verify AY writes
|
; Verify AY writes
|
||||||
lda pAYData+0
|
lda pAYData+0
|
||||||
sta MBsmc3+1
|
sta MBsmc3+1
|
||||||
sta MBsmc4+1
|
|
||||||
lda pAYData+1
|
lda pAYData+1
|
||||||
sta MBsmc3+2
|
sta MBsmc3+2
|
||||||
sta MBsmc4+2
|
|
||||||
|
|
||||||
ldx #AY_INACTIVE
|
ldx #AY_INACTIVE
|
||||||
ldy #13 ; read AY regs from $D to $0
|
ldy #13 ; read AY regs from $D to $0
|
||||||
|
@ -288,14 +295,19 @@ MB5y sta CARD_BASE+SY6522_DDRA
|
||||||
MB6y sta CARD_BASE+SY6522_ORB
|
MB6y sta CARD_BASE+SY6522_ORB
|
||||||
MB7y stx CARD_BASE+SY6522_ORB
|
MB7y stx CARD_BASE+SY6522_ORB
|
||||||
|
|
||||||
|
MBsmc3 lda AYData1,y
|
||||||
|
cpy #AY_NOISEPER
|
||||||
|
bne +
|
||||||
|
and #AY_NOISE_MASK
|
||||||
|
+ sta zpTmp
|
||||||
MB8y lda CARD_BASE+SY6522_ORA ; and read it!
|
MB8y lda CARD_BASE+SY6522_ORA ; and read it!
|
||||||
MBsmc3 cmp AYData1,y
|
cmp zpTmp
|
||||||
beq +
|
beq +
|
||||||
; ERR Reg:Val(read):Val(expect)
|
; ERR Reg:Val(read):Val(expect)
|
||||||
sty $404
|
sty $404 ; reg#
|
||||||
sta $406
|
sta $406 ; value read
|
||||||
MBsmc4 lda AYData1,y
|
lda zpTmp
|
||||||
sta $408
|
sta $408 ; value expected
|
||||||
lda #'E'+$80
|
lda #'E'+$80
|
||||||
sta $400
|
sta $400
|
||||||
lda #'R'+$80
|
lda #'R'+$80
|
||||||
|
@ -511,6 +523,7 @@ nMBBaseHi !byte 0
|
||||||
AYDataDoneFlag !byte 0
|
AYDataDoneFlag !byte 0
|
||||||
nFrameNum !byte 0,0,0 ; Minute:Second:FrameNum (@ 50Hz)
|
nFrameNum !byte 0,0,0 ; Minute:Second:FrameNum (@ 50Hz)
|
||||||
|
|
||||||
|
saveF9 !byte 0
|
||||||
saveFA !byte 0
|
saveFA !byte 0
|
||||||
saveFB !byte 0
|
saveFB !byte 0
|
||||||
saveFC !byte 0
|
saveFC !byte 0
|
||||||
|
|
Loading…
Reference in New Issue