2000-05-28 13:40:48 +00:00
|
|
|
;
|
|
|
|
; Ullrich von Bassewitz, 08.08.1998
|
|
|
|
;
|
|
|
|
; void chlinexy (unsigned char x, unsigned char y, unsigned char length);
|
|
|
|
; void chline (unsigned char length);
|
|
|
|
;
|
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
.export _chlinexy, _chline
|
|
|
|
.import popa, _gotoxy, cputdirect, setcursor
|
|
|
|
.importzp tmp1
|
2000-05-28 13:40:48 +00:00
|
|
|
|
2014-06-03 16:30:11 +00:00
|
|
|
.ifdef __ATARI5200__
|
2014-03-11 00:17:59 +00:00
|
|
|
CHRCODE = 14
|
2014-06-03 16:30:11 +00:00
|
|
|
.else
|
|
|
|
CHRCODE = $12+64
|
2014-03-11 00:17:59 +00:00
|
|
|
.endif
|
|
|
|
|
2000-05-28 13:40:48 +00:00
|
|
|
_chlinexy:
|
2013-05-09 11:56:54 +00:00
|
|
|
pha ; Save the length
|
|
|
|
jsr popa ; Get y
|
|
|
|
jsr _gotoxy ; Call this one, will pop params
|
|
|
|
pla ; Restore the length
|
2000-05-28 13:40:48 +00:00
|
|
|
|
|
|
|
_chline:
|
2013-05-09 11:56:54 +00:00
|
|
|
cmp #0 ; Is the length zero?
|
|
|
|
beq L9 ; Jump if done
|
|
|
|
sta tmp1
|
2014-03-11 00:17:59 +00:00
|
|
|
L1: lda #CHRCODE ; Horizontal line, screen code
|
2013-05-09 11:56:54 +00:00
|
|
|
jsr cputdirect ; Direct output
|
|
|
|
dec tmp1
|
|
|
|
bne L1
|
|
|
|
L9: jmp setcursor
|