mirror of https://github.com/wwarthen/RomWBW.git
5 changed files with 88 additions and 3 deletions
@ -0,0 +1,80 @@ |
|||
; |
|||
; USRROM TEMPLATE FOR A CUSTOM USER ROM |
|||
; |
|||
#INCLUDE "std.asm" |
|||
; |
|||
CR .EQU 0DH |
|||
LF .EQU 0AH |
|||
; |
|||
.ORG USR_LOC |
|||
; |
|||
LD HL,BOOTMSG ; INTRODUCTION |
|||
CALL PRTSTR |
|||
|
|||
CALL CIN ; DO STUFF |
|||
; |
|||
LD A,00H ; RETURN TO ROM LOADER |
|||
LD HL,0000H |
|||
JP 0FFF9H |
|||
; RET |
|||
; |
|||
; |
|||
; |
|||
; PRINT A STRING AT ADDRESS SPECIFIED IN HL |
|||
; STRING MUST BE TERMINATED BY '$' |
|||
; USAGE: |
|||
; LD HL,MYSTR |
|||
; CALL PRTSTR |
|||
; ... |
|||
; MYSTR: .DB "HELLO$" |
|||
; |
|||
PRTSTR: LD A,(HL) |
|||
INC HL |
|||
CP '$' |
|||
RET Z |
|||
CALL COUT |
|||
JR PRTSTR |
|||
; |
|||
; OUTPUT CHARACTER IN A TO CONSOLE DEVICE |
|||
; |
|||
COUT: PUSH AF |
|||
PUSH BC |
|||
PUSH DE |
|||
LD B,01H |
|||
LD C,0 |
|||
LD E,A |
|||
RST 08 |
|||
POP DE |
|||
POP BC |
|||
POP AF |
|||
RET |
|||
; |
|||
; OUTPUT CHARACTER IN A TO CONSOLE DEVICE |
|||
; |
|||
COUTE: PUSH AF |
|||
LD A,E |
|||
CALL COUT |
|||
POP AF |
|||
RET |
|||
; |
|||
; WAIT FOR A CHARACTER FROM THE CONSOLE DEVICE AND RETURN IT IN A |
|||
; |
|||
CIN: PUSH BC |
|||
LD B,00H |
|||
LD C,00H |
|||
RST 08 |
|||
LD A,E |
|||
POP BC |
|||
RET |
|||
; |
|||
BOOTMSG:.DB "No User ROM Installed." |
|||
.DB CR,LF |
|||
.DB "Press a key to return to Boot Loader.$" |
|||
; |
|||
SLACK .EQU (USR_END - $) |
|||
.FILL SLACK,00 |
|||
.ECHO "User ROM space remaining: " |
|||
.ECHO SLACK |
|||
.ECHO " bytes.\n" |
|||
.END |
|||
|
|||
Loading…
Reference in new issue