diff options
Diffstat (limited to 'conio/cvline.s')
-rw-r--r-- | conio/cvline.s | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/conio/cvline.s b/conio/cvline.s new file mode 100644 index 0000000..7ff56c3 --- /dev/null +++ b/conio/cvline.s @@ -0,0 +1,38 @@ +; +; 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 + .importzp tmp1 + +.ifdef __ATARI5200__ +CHRCODE = 1 ; exclamation mark +.else +CHRCODE = $7C ; Vertical bar +.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: rts |