The Cricket!: Fix SSC reset for Laser 128EX
The change in b182a53d
made resetting/detecting The Cricket! fail on
my Laser 128EX, likely due to startup config of the SSC not being
the same as on an Apple //c. This should be a superset of the change,
but compat testing will be needed.
This commit is contained in:
parent
ed2fa6e7d2
commit
18a73004c4
|
@ -83,17 +83,8 @@ init_ssc:
|
||||||
sta saved_control
|
sta saved_control
|
||||||
|
|
||||||
;; Reset the Cricket (stops any playing notes & ensures Cricket is listening)
|
;; Reset the Cricket (stops any playing notes & ensures Cricket is listening)
|
||||||
jsr restore_cmd_ctl ; have to change registers for this to work
|
|
||||||
jsr reset_cricket
|
jsr reset_cricket
|
||||||
jsr restore_cmd_ctl
|
|
||||||
jsr reset_cricket ; does it twice in original Cricket driver
|
jsr reset_cricket ; does it twice in original Cricket driver
|
||||||
jsr restore_cmd_ctl
|
|
||||||
|
|
||||||
;; Configure SSC
|
|
||||||
lda #%00001011 ; no parity/echo/interrupts, RTS low, DTR low
|
|
||||||
sta COMMAND
|
|
||||||
lda #%10011110 ; 9600 baud, 8 data bits, 2 stop bits
|
|
||||||
sta CONTROL
|
|
||||||
|
|
||||||
;; Read Cricket ID code: 00 ($00)
|
;; Read Cricket ID code: 00 ($00)
|
||||||
lda #0
|
lda #0
|
||||||
|
@ -144,6 +135,12 @@ not_found:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
reset_cricket:
|
reset_cricket:
|
||||||
|
;; Reset SSC
|
||||||
|
lda #0
|
||||||
|
sta COMMAND ; hardware reset all Port 2 ACIA registers
|
||||||
|
sta CONTROL
|
||||||
|
|
||||||
|
;; Configure SSC
|
||||||
lda #%00001011 ; no parity/echo/interrupts, RTS low, DTR low
|
lda #%00001011 ; no parity/echo/interrupts, RTS low, DTR low
|
||||||
sta COMMAND
|
sta COMMAND
|
||||||
lda #%10011110 ; 9600 baud, 8 data bits, 2 stop bits
|
lda #%10011110 ; 9600 baud, 8 data bits, 2 stop bits
|
||||||
|
|
Loading…
Reference in New Issue