mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-28 02:55:03 +00:00
lemm: keep pointer on screen
would crash spectacularly when we'd go off the edge
This commit is contained in:
parent
eff804db03
commit
faf9179c10
@ -88,7 +88,7 @@ erase_pointer:
|
|||||||
lda CURSOR_Y
|
lda CURSOR_Y
|
||||||
sta SAVED_Y1
|
sta SAVED_Y1
|
||||||
clc
|
clc
|
||||||
adc #16
|
adc #14
|
||||||
sta SAVED_Y2
|
sta SAVED_Y2
|
||||||
|
|
||||||
lda CURSOR_X
|
lda CURSOR_X
|
||||||
|
@ -14,7 +14,8 @@ hgr_partial_restore:
|
|||||||
ldx SAVED_Y2 ; handle wrap around
|
ldx SAVED_Y2 ; handle wrap around
|
||||||
cpx #192
|
cpx #192
|
||||||
bcc partial_restore_yloop ; assume > 192 off screen negative
|
bcc partial_restore_yloop ; assume > 192 off screen negative
|
||||||
ldx #0
|
|
||||||
|
ldx #0 ; X is end y-co-ord?
|
||||||
|
|
||||||
partial_restore_yloop:
|
partial_restore_yloop:
|
||||||
|
|
||||||
|
@ -120,11 +120,8 @@ check_left:
|
|||||||
cmp #8 ; left key
|
cmp #8 ; left key
|
||||||
bne check_right
|
bne check_right
|
||||||
left_pressed:
|
left_pressed:
|
||||||
lda CURSOR_X ; if 41<x<$FE don't decrement
|
lda CURSOR_X ; if X==0 don't decrement
|
||||||
cmp #41
|
beq done_left_pressed
|
||||||
bcc do_dec_cursor_x
|
|
||||||
cmp #$FE
|
|
||||||
bcc done_left_pressed
|
|
||||||
do_dec_cursor_x:
|
do_dec_cursor_x:
|
||||||
dec CURSOR_X
|
dec CURSOR_X
|
||||||
done_left_pressed:
|
done_left_pressed:
|
||||||
@ -136,11 +133,9 @@ check_right:
|
|||||||
cmp #$15 ; right key
|
cmp #$15 ; right key
|
||||||
bne check_up
|
bne check_up
|
||||||
right_pressed:
|
right_pressed:
|
||||||
lda CURSOR_X ; if 40<x<$FE don't increment
|
lda CURSOR_X ; if X>=38 don't increment
|
||||||
cmp #40
|
cmp #38
|
||||||
bcc do_inc_cursor_x
|
bcs done_right_pressed
|
||||||
cmp #$FE
|
|
||||||
bcc done_right_pressed
|
|
||||||
do_inc_cursor_x:
|
do_inc_cursor_x:
|
||||||
inc CURSOR_X
|
inc CURSOR_X
|
||||||
done_right_pressed:
|
done_right_pressed:
|
||||||
@ -152,11 +147,8 @@ check_up:
|
|||||||
cmp #$0B ; up key
|
cmp #$0B ; up key
|
||||||
bne check_down
|
bne check_down
|
||||||
up_pressed:
|
up_pressed:
|
||||||
lda CURSOR_Y ; if 191<y<$F0 don't decrement
|
lda CURSOR_Y ; if Y==0 don't increment
|
||||||
cmp #191
|
beq done_up_pressed
|
||||||
bcc do_dec_cursor_y
|
|
||||||
cmp #$F0
|
|
||||||
bcc done_up_pressed
|
|
||||||
do_dec_cursor_y:
|
do_dec_cursor_y:
|
||||||
dec CURSOR_Y
|
dec CURSOR_Y
|
||||||
dec CURSOR_Y
|
dec CURSOR_Y
|
||||||
@ -172,11 +164,11 @@ check_down:
|
|||||||
cmp #$0A
|
cmp #$0A
|
||||||
bne check_escape
|
bne check_escape
|
||||||
down_pressed:
|
down_pressed:
|
||||||
lda CURSOR_Y ; if 191<y<$EE don't decrement
|
lda CURSOR_Y ; if Y>=176 then don't inc?
|
||||||
cmp #191
|
cmp #176 ; cursor is 14 in size
|
||||||
bcc do_inc_cursor_y
|
; bcc do_inc_cursor_y
|
||||||
cmp #$EE
|
; cmp #$EE
|
||||||
bcc done_down_pressed
|
bcs done_down_pressed
|
||||||
do_inc_cursor_y:
|
do_inc_cursor_y:
|
||||||
inc CURSOR_Y
|
inc CURSOR_Y
|
||||||
inc CURSOR_Y
|
inc CURSOR_Y
|
||||||
|
Loading…
Reference in New Issue
Block a user