From 3abf7993ce2d2deb1c0596f3404b2bfa27324564 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Wed, 17 Feb 2016 23:47:59 -0500 Subject: make the cursor behave *much* better, via custom conio function --- conio/cvline.s | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 conio/cvline.s (limited to 'conio/cvline.s') 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 -- cgit v1.2.3