1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-07 07:29:33 +00:00
cc65/libsrc/telestrat/cclear.s

36 lines
963 B
ArmAsm
Raw Permalink Normal View History

2019-07-26 21:04:54 +00:00
;
; 2019-07-07, Jede (jede@oric.org)
;
; void cclearxy (unsigned char x, unsigned char y, unsigned char length);
; void cclear (unsigned char length);
;
.export _cclearxy, _cclear
2022-04-17 14:06:22 +00:00
.import update_adscr, display_conio
2019-07-26 21:04:54 +00:00
2022-04-17 14:06:22 +00:00
.importzp tmp1
2019-07-26 21:04:54 +00:00
.import popax
.include "telestrat.inc"
_cclearxy:
pha ; Save the length
jsr popax ; Get X and Y
sta SCRY ; Store Y
stx SCRX ; Store X
jsr update_adscr
pla ; Restore the length and run into _cclear
_cclear:
2019-07-26 21:11:34 +00:00
tax ; Is the length equal to zero?
beq @L2 ; Yes we skip
2019-07-26 21:04:54 +00:00
@L1:
2019-07-26 21:11:34 +00:00
stx tmp1 ; Save X
lda #' ' ; Erase current char
2021-03-01 21:33:12 +00:00
jsr display_conio
2019-07-26 21:04:54 +00:00
ldx tmp1
dex
bne @L1
2019-07-26 21:11:34 +00:00
@L2:
2019-07-26 21:04:54 +00:00
rts