1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2024-08-20 15:29:00 +00:00

more robust MB check

This commit is contained in:
Dave Schmenk 2018-02-26 19:32:20 -08:00
parent 8ebe11621a
commit 8f408c8bbb
2 changed files with 6 additions and 16 deletions

Binary file not shown.

View File

@ -213,7 +213,7 @@ asm psgWrite(pVIA, reg, val)#0
INX
RTS
end
asm viaCheck(pVIA)#2
asm viaCheck(pVIA)#1
PHP
SEI
LDA ESTKL,X
@ -223,23 +223,18 @@ asm viaCheck(pVIA)#2
STX ESP
LDX #$80
LDY #$04
SEC
- LDA (TMP),Y
BMI +
DEX
BNE -
TXA ; TIMEOUT
BEQ ++
+ TAX
LDA (TMP),Y
++ TAY
TXA
LDX ESP
DEX
+ SBC (TMP),Y
++ LDX ESP
STA ESTKL,X
STY ESTKL+1,X
LDA #$00
STA ESTKH,X
STA ESTKH+1,X
PLP
RTS
end
@ -404,13 +399,8 @@ end
// Search slots for MockingBoard
//
def mbTicklePSG(pVIA)
byte tmrBegin, tmrEnd
word tmrDiff
tmrBegin, tmrEnd = viaCheck(pVIA)
tmrDiff = tmrEnd - tmrBegin
//puts("VIA address: $"); puth(pVIA); puts(" Timer Diff = "); puti(tmrDiff); putln
if tmrDiff == 10
//puts("VIA address: $"); puth(pVIA); puts(" Timer Diff = "); puti(viaCheck(pVIA)); putln
if viaCheck(pVIA) == 8 and viaCheck(pVIA) == 8 // Check twice
pVIA->IER = $7F // Mask all interrupts
//pVIA->ACR = $00 // Stop T1 countdown
pVIA->DDRB = $FF // Output enable port A and B