1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-19 06:31:31 +00:00
cc65/libsrc/telestrat/cclear.s

36 lines
948 B
ArmAsm
Raw 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
.import update_adscr
2019-07-26 21:11:34 +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
2019-07-26 21:04:54 +00:00
BRK_TELEMON XFWR
ldx tmp1
dex
bne @L1
2019-07-26 21:11:34 +00:00
@L2:
2019-07-26 21:04:54 +00:00
rts