mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Reintegrate wbw -> trunk
This commit is contained in:
@@ -93,12 +93,11 @@ NEWLINE:
|
||||
PRTHEXBYTE:
|
||||
PUSH AF
|
||||
PUSH DE
|
||||
LD DE,HEXSTRBUF
|
||||
CALL HEXSTRBYTE
|
||||
LD A,'$'
|
||||
LD (DE),A
|
||||
LD DE,HEXSTRBUF
|
||||
CALL WRITESTR
|
||||
CALL HEXASCII
|
||||
LD A,D
|
||||
CALL COUT
|
||||
LD A,E
|
||||
CALL COUT
|
||||
POP DE
|
||||
POP AF
|
||||
RET
|
||||
@@ -114,50 +113,30 @@ PRTHEXWORD:
|
||||
POP AF
|
||||
RET
|
||||
;
|
||||
; CONVERT VALUE IN A TO A 2 CHARACTER HEX STRING AT DE
|
||||
; CONVERT BINARY VALUE IN A TO ASCII HEX CHARACTERS IN DE
|
||||
;
|
||||
HEXCHR .TEXT "0123456789ABCDEF"
|
||||
;
|
||||
HEXSTRBYTE:
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
PUSH AF
|
||||
LD BC,0
|
||||
RRA
|
||||
RRA
|
||||
RRA
|
||||
RRA
|
||||
AND 0FH
|
||||
LD C,A
|
||||
LD HL,HEXCHR
|
||||
ADD HL,BC
|
||||
LD A,(HL)
|
||||
LD (DE),A
|
||||
INC DE
|
||||
POP AF
|
||||
PUSH AF
|
||||
LD BC,0
|
||||
AND 0FH
|
||||
LD C,A
|
||||
LD HL,HEXCHR
|
||||
ADD HL,BC
|
||||
LD A,(HL)
|
||||
LD (DE),A
|
||||
INC DE
|
||||
POP AF
|
||||
POP HL
|
||||
POP BC
|
||||
HEXASCII:
|
||||
LD D,A
|
||||
CALL HEXCONV
|
||||
LD E,A
|
||||
LD A,D
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
CALL HEXCONV
|
||||
LD D,A
|
||||
RET
|
||||
;
|
||||
; CONVERT VALUE IN BC TO A 4 CHARACTER HEX STRING AT DE
|
||||
; CONVERT LOW NIBBLE OF A TO ASCII HEX
|
||||
;
|
||||
HEXSTRWORD:
|
||||
LD A,B
|
||||
CALL HEXSTRBYTE
|
||||
LD A,C
|
||||
CALL HEXSTRBYTE
|
||||
RET
|
||||
|
||||
HEXCONV:
|
||||
AND 0FH ;LOW NIBBLE ONLY
|
||||
ADD A,90H
|
||||
DAA
|
||||
ADC A,40H
|
||||
DAA
|
||||
RET
|
||||
;
|
||||
; PRINT A BYTE BUFFER IN HEX POINTED TO BY DE
|
||||
; REGISTER A HAS SIZE OF BUFFER
|
||||
@@ -209,29 +188,34 @@ PANIC:
|
||||
CALL WRITESTR
|
||||
LD DE,STR_AF
|
||||
CALL WRITESTR
|
||||
POP BC
|
||||
POP BC ; AF
|
||||
CALL PRTHEXWORD
|
||||
LD DE,STR_BC
|
||||
CALL WRITESTR
|
||||
POP BC
|
||||
POP BC ; BC
|
||||
CALL PRTHEXWORD
|
||||
LD DE,STR_DE
|
||||
CALL WRITESTR
|
||||
POP BC
|
||||
POP BC ; DE
|
||||
CALL PRTHEXWORD
|
||||
LD DE,STR_HL
|
||||
CALL WRITESTR
|
||||
POP BC
|
||||
POP BC ; HL
|
||||
CALL PRTHEXWORD
|
||||
LD DE,STR_PC
|
||||
CALL WRITESTR
|
||||
POP BC
|
||||
POP BC ; PC
|
||||
CALL PRTHEXWORD
|
||||
LD DE,STR_SP
|
||||
CALL WRITESTR
|
||||
LD (PANIC_SP),SP
|
||||
LD BC,(PANIC_SP)
|
||||
LD HL,0
|
||||
ADD HL,SP ; SP
|
||||
LD B,H
|
||||
LD C,L
|
||||
CALL PRTHEXWORD
|
||||
|
||||
RST 38
|
||||
|
||||
JP 0
|
||||
;
|
||||
;==================================================================================================
|
||||
@@ -252,6 +236,14 @@ COUT:
|
||||
LD B,BF_CIOOUT
|
||||
CALL BIOS_DISPATCH
|
||||
#ENDIF
|
||||
#IFDEF CIOMODE_HBIOS
|
||||
#DEFINE CIOMODE_NONDOS
|
||||
LD E,A
|
||||
LD A,DEFCON
|
||||
LD C,A
|
||||
LD B,BF_CIOOUT
|
||||
RST 08
|
||||
#ENDIF
|
||||
#IFDEF CIOMODE_CBIOS
|
||||
#DEFINE CIOMODE_NONDOS
|
||||
LD C,A
|
||||
@@ -282,6 +274,14 @@ CIN:
|
||||
CALL BIOS_DISPATCH
|
||||
LD A,E
|
||||
#ENDIF
|
||||
#IFDEF CIOMODE_HBIOS
|
||||
#DEFINE CIOMODE_NONDOS
|
||||
LD A,DEFCON
|
||||
LD C,A
|
||||
LD B,BF_CIOIN
|
||||
RST 08
|
||||
LD A,E
|
||||
#ENDIF
|
||||
#IFDEF CIOMODE_CBIOS
|
||||
#DEFINE CIOMODE_NONDOS
|
||||
CALL CBIOS_CONIN
|
||||
@@ -308,6 +308,13 @@ CST:
|
||||
LD C,A
|
||||
CALL BIOS_DISPATCH
|
||||
#ENDIF
|
||||
#IFDEF CIOMODE_HBIOS
|
||||
#DEFINE CIOMODE_NONDOS
|
||||
LD B,BF_CIOIST
|
||||
LD A,DEFCON
|
||||
LD C,A
|
||||
RST 08
|
||||
#ENDIF
|
||||
#IFDEF CIOMODE_CBIOS
|
||||
#DEFINE CIOMODE_NONDOS
|
||||
CALL CBIOS_CONST
|
||||
@@ -631,12 +638,8 @@ DSKY_COFF
|
||||
;
|
||||
STR_EMPTY .TEXT "<EMPTY>$"
|
||||
;
|
||||
HEXSTRBUF .TEXT "XX$"
|
||||
;
|
||||
KY_BUF .DB 0
|
||||
DSKY_BUF: .FILL 8,0
|
||||
DSKY_BUFLEN .EQU $ - DSKY_BUF
|
||||
DSKY_HEXBUF .FILL 4,0
|
||||
DSKY_HEXBUFLEN .EQU $ - DSKY_HEXBUF
|
||||
;
|
||||
PANIC_SP .DW 0
|
||||
|
||||
Reference in New Issue
Block a user