2000-05-28 13:40:48 +00:00
|
|
|
;
|
|
|
|
; Ullrich von Bassewitz, 08.08.1998
|
|
|
|
;
|
2005-03-26 17:03:30 +00:00
|
|
|
; void __fastcall__ cvlinexy (unsigned char x, unsigned char y, unsigned char length);
|
|
|
|
; void __fastcall__ cvline (unsigned char length);
|
2000-05-28 13:40:48 +00:00
|
|
|
;
|
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
.export _cvlinexy, _cvline, cvlinedirect
|
2016-06-05 12:58:38 +00:00
|
|
|
.import gotoxy, putchar, newline
|
2005-03-26 17:03:30 +00:00
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
.include "zeropage.inc"
|
2000-05-28 13:40:48 +00:00
|
|
|
|
|
|
|
_cvlinexy:
|
2013-05-09 11:56:54 +00:00
|
|
|
pha ; Save the length
|
2016-06-05 12:58:38 +00:00
|
|
|
jsr gotoxy ; Call this one, will pop params
|
2013-05-09 11:56:54 +00:00
|
|
|
pla ; Restore the length and run into _cvline
|
2000-05-28 13:40:48 +00:00
|
|
|
|
|
|
|
_cvline:
|
2013-05-09 11:56:54 +00:00
|
|
|
.ifdef __APPLE2ENH__
|
|
|
|
ldx #'|' | $80 ; Vertical line, screen code
|
2005-03-26 17:03:30 +00:00
|
|
|
.else
|
2013-05-09 11:56:54 +00:00
|
|
|
ldx #'!' | $80 ; Vertical line, screen code
|
2005-03-26 17:03:30 +00:00
|
|
|
.endif
|
2004-03-11 21:54:22 +00:00
|
|
|
|
|
|
|
cvlinedirect:
|
2016-06-19 13:03:20 +00:00
|
|
|
stx tmp1
|
2013-05-09 11:56:54 +00:00
|
|
|
cmp #$00 ; Is the length zero?
|
|
|
|
beq done ; Jump if done
|
2016-06-19 13:03:20 +00:00
|
|
|
sta tmp2
|
|
|
|
: lda tmp1 ; Screen code
|
2013-05-09 11:56:54 +00:00
|
|
|
jsr putchar ; Write, no cursor advance
|
|
|
|
jsr newline ; Advance cursor to next line
|
2016-06-19 13:03:20 +00:00
|
|
|
dec tmp2
|
2013-05-09 11:56:54 +00:00
|
|
|
bne :-
|
2005-03-26 17:03:30 +00:00
|
|
|
done: rts
|