1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-06 15:06:07 +00:00
cc65/libsrc/geos/conio/cpputs.s

46 lines
806 B
ArmAsm
Raw Normal View History

;
; Maciej 'YTM/Elysium' Witkowiak
;
; 27.10.2001
; 05.03.2002
; void cpputsxy (unsigned char x, unsigned char y, char* s);
; void cpputs (char* s);
; same as cputsxy and cputs but faster and use proportional font spacing
; does not update cursor position
.export _cpputsxy, _cpputs
.import _gotoxy
.import popa
.importzp cursor_x, cursor_y
.include "../inc/const.inc"
.include "../inc/geossym.inc"
.include "../inc/jumptab.inc"
_cpputsxy:
sta r0L ; Save s for later
stx r0H
jsr popa ; Get Y
jsr _gotoxy ; Set cursor, pop x
jmp L0 ; Same as cputs...
_cpputs:
sta r0L ; Save s
stx r0H
L0: ldy #0
lda (r0),y
bne L1 ; Jump if there's something
rts
L1: lda cursor_x
sta r11L
lda cursor_x+1
sta r11H
lda cursor_y
sta r1H
jmp PutString