Added chline and cvline implementation from CBM implementation.
This commit is contained in:
29
libsrc/c1p/chline.s
Normal file
29
libsrc/c1p/chline.s
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
;
|
||||||
|
; based on CBM implementation
|
||||||
|
;
|
||||||
|
; originally by:
|
||||||
|
; 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
|
||||||
|
|
||||||
|
_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 #$94 ; Horizontal line, screen code
|
||||||
|
jsr cputdirect ; Direct output
|
||||||
|
dec tmp1
|
||||||
|
bne L1
|
||||||
|
L9: rts
|
||||||
32
libsrc/c1p/cvline.s
Normal file
32
libsrc/c1p/cvline.s
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
;
|
||||||
|
; based on CBM version
|
||||||
|
; originally by:
|
||||||
|
; Ullrich von Bassewitz, 08.08.1998
|
||||||
|
;
|
||||||
|
; void cvlinexy (unsigned char x, unsigned char y, unsigned char length);
|
||||||
|
; void cvline (unsigned char length);
|
||||||
|
;
|
||||||
|
|
||||||
|
.export _cvlinexy, _cvline
|
||||||
|
.import popa, _gotoxy, putchar, newline
|
||||||
|
.importzp tmp1
|
||||||
|
|
||||||
|
_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 #$95 ; Vertical bar
|
||||||
|
jsr putchar ; Write, no cursor advance
|
||||||
|
jsr newline ; Advance cursor to next line
|
||||||
|
dec tmp1
|
||||||
|
bne L1
|
||||||
|
L9: rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user