add print slow

This commit is contained in:
matthias@rpi 2023-11-09 12:06:48 +01:00
parent 498d61186a
commit e0f58c262a
2 changed files with 47 additions and 1 deletions

46
programs/print_slow.s65 Normal file
View File

@ -0,0 +1,46 @@
.ifndef INCLUDE_PRINT_SLOW
INCLUDE_PRINT_SLOW = 1
.include "programs/sleep.s65"
.include "system/lcd.s65"
;********************************************************************************
; @function Print a null-terminated string
; @param ARG0-1: Address of the string to print
; @param x: time to sleep in centiseconds
;********************************************************************************
.proc print_slow
ldy #$00
@print_loop:
lda (ARG0),y
beq @print_end
phx
jsr sleep
plx
jsr lcd_char
iny
bra @print_loop
@print_end:
rts
.endproc
;********************************************************************************
; @macro Print a null-terminated string
; @param message: Address of the message
; @param time_cs: time to sleep in centiseconds
;********************************************************************************
.macro PrintSlow message,time_cs
jsr lcd_clear
lda #.LOBYTE(message)
sta ARG0
lda #.HIBYTE(message)
sta ARG1
phx
ldx #time_cs
jsr print_slow
plx
.endmacro
.endif ; guard

View File

@ -13,4 +13,4 @@ printer:
jeq return_home jeq return_home
jsr lcd_char jsr lcd_char
bra @printer_loop bra @printer_loop
.endif .endif ; guard