Text
One of the easiest ways to communicate with the user is through text. The OS offers a slew of routines, but here are a few more to add to your list of routines:
PutSI
Standing for "Put String Immediate," a routine like this can really add up to be a wonderful way to save memory, especially for programs relying heavily on text. What you do is call thiws routine with your text data directly following the call. For example:
call PutSI
.db 3,3,"String",0
Here is the code:
PutSI:
pop hl
ld c,(hl)
inc hl
ld b,(hl)
inc hl
ld (curRow),bc
bcall(_PutS)
jp (hl)
To give an idea of how much memory it saves, you save 1 byte after using this routine twice (it makes up for the size of the routine) and saves an additional 7 bytes each time it is used.
VPutSI
Along the same lines as PutSI:
VPutSI:
pop hl
ld c,(hl)
inc hl
ld b,(hl)
inc hl
ld (penCol),bc
bcall(_VPutS)
jp (hl)
PutS_App
To use bcall(_PutS), the string must be in RAM. In Apps, this means you need to copy the string to RAM before displaying it. Or, you could make a routine like this:
PutS_App:
;Inputs:
; HL points to the zero-terminated string
ld a,(hl)
or a
ret z
inc hl
bcall(_PutC)
jr PutS_App
page revision: 0, last edited: 28 Mar 2013 13:42