Issue #2 solved: STOP routine return values determined by trial and error
This commit is contained in:
1 parent
7c31bca28e
commit
2f09f2c9a3
1 file changed
+13
-2
+13
-2
@@ -3,7 +3,18 @@ stop:
|
|||||||
;; Bit 7 of BUCKYSTATUS contains the state of the STOP key
|
;; Bit 7 of BUCKYSTATUS contains the state of the STOP key
|
||||||
;; (Compute's Mapping the 64, p27)
|
;; (Compute's Mapping the 64, p27)
|
||||||
|
|
||||||
;; Get it into the carry flag by rotating left
|
;; BASIC checks carry flag to indicate STOP or not
|
||||||
lda BUCKYSTATUS
|
lda BUCKYSTATUS
|
||||||
rol
|
and #$80
|
||||||
|
beq stop_pressed
|
||||||
|
|
||||||
|
;; By trial and error, we know that Z + C = BREAK
|
||||||
|
;; and that neither should be set otherwise
|
||||||
|
lda #$ff
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
stop_pressed:
|
||||||
|
lda #$00
|
||||||
|
sec
|
||||||
rts
|
rts
|
||||||
Reference in new issue
Block a user