1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-01 13:41:34 +00:00
cc65/libsrc/atari/cvline.s
2014-03-11 01:17:59 +01:00

39 lines
1.1 KiB
ArmAsm

;
; Ullrich von Bassewitz, 08.08.1998
;
; void cvlinexy (unsigned char x, unsigned char y, unsigned char length);
; void cvline (unsigned char length);
;
.include "atari.inc"
.export _cvlinexy, _cvline
.import popa, _gotoxy, putchar, setcursor
.importzp tmp1
.ifndef __ATARI5200__
CHRCODE = $7C ; Vertical bar
.else
CHRCODE = 1 ; exclamation mark
.endif
_cvlinexy:
pha ; Save the length
jsr popa ; Get y
jsr _gotoxy ; Call this one, will pop params
pla ; Restore the length and run into _cvline
_cvline:
cmp #0 ; Is the length zero?
beq L9 ; Jump if done
sta tmp1
L1: lda COLCRS
pha
lda #CHRCODE ; Vertical bar
jsr putchar ; Write, no cursor advance
pla
sta COLCRS
inc ROWCRS
dec tmp1
bne L1
L9: jmp setcursor