Compare commits
3 Commits
ec4a0eeb1e
...
a519d0c619
Author | SHA1 | Date |
---|---|---|
Joshua Bell | a519d0c619 | |
frankmilliron | b182a53dfa | |
frankmilliron | 9401723f0d |
|
@ -77,12 +77,17 @@ ssc_not_found:
|
||||||
init_ssc:
|
init_ssc:
|
||||||
php
|
php
|
||||||
sei
|
sei
|
||||||
|
lda COMMAND ; save status of SSC registers
|
||||||
|
sta saved_command
|
||||||
|
lda CONTROL
|
||||||
|
sta saved_control
|
||||||
|
|
||||||
;; Reset SSC
|
;; Reset the Cricket (stops any playing notes & ensures Cricket is listening)
|
||||||
sta KBDSTRB ; Port 2 DSR line connected to KBDSTRB
|
jsr restore_cmd_ctl ; have to change registers for this to work
|
||||||
lda #0
|
jsr reset_cricket
|
||||||
sta COMMAND
|
jsr restore_cmd_ctl
|
||||||
sta CONTROL
|
jsr reset_cricket ; does it twice in original Cricket driver
|
||||||
|
jsr restore_cmd_ctl
|
||||||
|
|
||||||
;; Configure SSC
|
;; Configure SSC
|
||||||
lda #%00001011 ; no parity/echo/interrupts, RTS low, DTR low
|
lda #%00001011 ; no parity/echo/interrupts, RTS low, DTR low
|
||||||
|
@ -90,15 +95,6 @@ init_ssc:
|
||||||
lda #%10011110 ; 9600 baud, 8 data bits, 2 stop bits
|
lda #%10011110 ; 9600 baud, 8 data bits, 2 stop bits
|
||||||
sta CONTROL
|
sta CONTROL
|
||||||
|
|
||||||
;; Reset Cricket
|
|
||||||
jsr readbyte ; done on original disk
|
|
||||||
lda #HI(ASCII_CR) ; two carriage returns
|
|
||||||
jsr sendbyte
|
|
||||||
lda #HI(ASCII_CR)
|
|
||||||
jsr sendbyte
|
|
||||||
lda #HI('!') ; Reset Cricket (everything but time/date)
|
|
||||||
jsr sendbyte
|
|
||||||
|
|
||||||
;; Read Cricket ID code: 00 ($00)
|
;; Read Cricket ID code: 00 ($00)
|
||||||
lda #0
|
lda #0
|
||||||
jsr sendbyte
|
jsr sendbyte
|
||||||
|
@ -125,10 +121,12 @@ digit: cmp #HI('0') ; < '0' ?
|
||||||
bcc :-
|
bcc :-
|
||||||
|
|
||||||
cricket_found:
|
cricket_found:
|
||||||
|
jsr restore_cmd_ctl
|
||||||
plp
|
plp
|
||||||
jmp install_driver
|
jmp install_driver
|
||||||
|
|
||||||
cricket_not_found:
|
cricket_not_found:
|
||||||
|
jsr restore_cmd_ctl
|
||||||
plp
|
plp
|
||||||
;; fall through...
|
;; fall through...
|
||||||
|
|
||||||
|
@ -144,6 +142,31 @@ not_found:
|
||||||
|
|
||||||
sec ; failure
|
sec ; failure
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
reset_cricket:
|
||||||
|
lda #%00001011 ; no parity/echo/interrupts, RTS low, DTR low
|
||||||
|
sta COMMAND
|
||||||
|
lda #%10011110 ; 9600 baud, 8 data bits, 2 stop bits
|
||||||
|
sta CONTROL
|
||||||
|
|
||||||
|
jsr readbyte ; done on original disk
|
||||||
|
lda #HI(ASCII_CR) ; two carriage returns
|
||||||
|
jsr sendbyte
|
||||||
|
lda #HI(ASCII_CR)
|
||||||
|
jsr sendbyte
|
||||||
|
lda #HI('!') ; Reset Cricket (everything but time/date)
|
||||||
|
jsr sendbyte
|
||||||
|
rts
|
||||||
|
|
||||||
|
restore_cmd_ctl:
|
||||||
|
lda saved_control
|
||||||
|
sta CONTROL
|
||||||
|
lda saved_command
|
||||||
|
sta COMMAND
|
||||||
|
rts
|
||||||
|
|
||||||
|
saved_command: .byte 0
|
||||||
|
saved_control: .byte 0
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
;; Write byte in A
|
;; Write byte in A
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
;; Time
|
;; Time
|
||||||
|
|
||||||
jsr zstrout
|
jsr zstrout
|
||||||
scrcode "\rTime: HH:MM:SS XM\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08"
|
scrcode "\rTime: HH:MM:SS\x08\x08\x08\x08\x08\x08\x08\x08"
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
jsr GETLN2
|
jsr GETLN2
|
||||||
|
@ -82,7 +82,7 @@
|
||||||
sta CONTROL
|
sta CONTROL
|
||||||
|
|
||||||
;; Clock Commands
|
;; Clock Commands
|
||||||
;; Set Time "ST HH:MM:SS:XM"
|
;; Set Time "ST HH:MM:SS"
|
||||||
lda #HI('S')
|
lda #HI('S')
|
||||||
jsr sendbyte
|
jsr sendbyte
|
||||||
lda #HI('T')
|
lda #HI('T')
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
.proc main
|
.proc main
|
||||||
jsr zstrout
|
jsr zstrout
|
||||||
scrcode "\rTime: HH:MM:SS XM\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08"
|
scrcode "\rTime: HH:MM:SS\x08\x08\x08\x08\x08\x08\x08\x08"
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
jsr GETLN2
|
jsr GETLN2
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
sta CONTROL
|
sta CONTROL
|
||||||
|
|
||||||
;; Clock Commands
|
;; Clock Commands
|
||||||
;; Set Time "ST HH:MM:SS:XM"
|
;; Set Time "ST HH:MM:SS"
|
||||||
lda #HI('S')
|
lda #HI('S')
|
||||||
jsr sendbyte
|
jsr sendbyte
|
||||||
lda #HI('T')
|
lda #HI('T')
|
||||||
|
|
Loading…
Reference in New Issue