diff options
author | B. Watson <yalhcru@gmail.com> | 2016-02-17 23:47:59 -0500 |
---|---|---|
committer | B. Watson <yalhcru@gmail.com> | 2016-02-17 23:47:59 -0500 |
commit | 3abf7993ce2d2deb1c0596f3404b2bfa27324564 (patch) | |
tree | 67b4cb01fb3b303a14edf41f6ffa56243d33af3a /conio/chline.s | |
parent | b2f7604ac51db075201ea0aa40d002d3d5e7e071 (diff) | |
download | taipan-3abf7993ce2d2deb1c0596f3404b2bfa27324564.tar.gz |
make the cursor behave *much* better, via custom conio function
Diffstat (limited to 'conio/chline.s')
-rw-r--r-- | conio/chline.s | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/conio/chline.s b/conio/chline.s new file mode 100644 index 0000000..2ad7fed --- /dev/null +++ b/conio/chline.s @@ -0,0 +1,32 @@ +; +; Ullrich von Bassewitz, 08.08.1998 +; +; void chlinexy (unsigned char x, unsigned char y, unsigned char length); +; void chline (unsigned char length); +; + + .export _chlinexy, _chline + .import popa, _gotoxy, cputdirect + .importzp tmp1 + +.ifdef __ATARI5200__ +CHRCODE = 14 +.else +CHRCODE = $12+64 +.endif + +_chlinexy: + pha ; Save the length + jsr popa ; Get y + jsr _gotoxy ; Call this one, will pop params + pla ; Restore the length + +_chline: + cmp #0 ; Is the length zero? + beq L9 ; Jump if done + sta tmp1 +L1: lda #CHRCODE ; Horizontal line, screen code + jsr cputdirect ; Direct output + dec tmp1 + bne L1 +L9: rts |