Wayne Warthen
4 months ago
No known key found for this signature in database
GPG Key ID: 8B34ED29C07EEB0A
22 changed files with
10818 additions and
10819 deletions
-
Source/Apps/FDU/fdu.asm
-
Source/Apps/HTalk/htalk.asm
-
Source/Apps/Test/I2C/srom.asm
-
Source/Apps/Tune/hbios.inc
-
Source/Apps/Tune/tune.asm
-
Source/Apps/XM/xmhb.z80
-
Source/Apps/XM/xmhb_old.z80
-
Source/Apps/XM/xmuf.z80
-
Source/Apps/ZMD/zmdhb.z80
-
Source/Apps/assign/assign.asm
-
Source/Apps/cpuspd/cpuspd.asm
-
Source/Apps/mode/mode.asm
-
Source/Apps/reboot/reboot.asm
-
Source/Apps/rtc/rtc.asm
-
Source/Apps/slabel/slabel.asm
-
Source/Apps/startup/startup.asm
-
Source/Apps/timer/timer.asm
-
Source/HBIOS/hbios.asm
-
Source/HBIOS/hbios.inc
-
Source/HBIOS/sysconf.asm
-
Source/ver.inc
-
Source/ver.lib
|
|
|
@ -172,7 +172,7 @@ INIT0: |
|
|
|
|
|
|
|
INIT1: |
|
|
|
; ROMWBW HBIOS DETECTION |
|
|
|
LD HL,(0FFFEH) ; HL := ADR OR ROMWBW HBIOS IDENT |
|
|
|
LD HL,(0FFFCH) ; HL := ADR OR ROMWBW HBIOS IDENT |
|
|
|
LD A,(HL) ; GET FIRST BYTE OF ROMWBW MARKER |
|
|
|
CP 'W' ; MATCH? |
|
|
|
JP NZ,INIT2 ; ABORT WITH INVALID CONFIG BLOCK |
|
|
|
|
|
|
|
@ -31,7 +31,7 @@ STKSIZ .EQU $FF |
|
|
|
; |
|
|
|
; HBIOS SYSTEM CALLS AND ID STRING ADDRESS |
|
|
|
; |
|
|
|
ROMWBW_ID .EQU $FFFE ; ROMWBW ID STRING ADDRESS |
|
|
|
ROMWBW_ID .EQU $FFFC ; ROMWBW ID STRING ADDRESS |
|
|
|
HBIOS_SYS .EQU $FFF0 ; HBIOS SYSCALL ADDRESS |
|
|
|
|
|
|
|
H_SYSGET .EQU $F8 ; GET SYSTEM INFO |
|
|
|
|
|
|
|
@ -37,7 +37,7 @@ fcb2 .equ $006C ; second CP/M parsed FCB |
|
|
|
cr .equ 13 ; carriage return |
|
|
|
lf .equ 10 ; line feed |
|
|
|
; |
|
|
|
ident .equ $FFFE ; loc of RomWBW HBIOS ident ptr |
|
|
|
ident .equ $FFFC ; loc of RomWBW HBIOS ident ptr |
|
|
|
; |
|
|
|
bf_sysver .equ $F1 ; BIOS: VER function |
|
|
|
bf_sysget .equ $F8 ; HBIOS: SYSGET function |
|
|
|
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
|
IDENT .EQU $FFFE ; loc of RomWBW HBIOS ident ptr |
|
|
|
IDENT .EQU $FFFC ; loc of RomWBW HBIOS ident ptr |
|
|
|
; |
|
|
|
BF_SYSVER .EQU $F1 ; BIOS: VER function |
|
|
|
BF_SYSGET .EQU $F8 ; HBIOS: SYSGET function |
|
|
|
|
|
|
|
@ -446,7 +446,7 @@ IDBIO: |
|
|
|
; |
|
|
|
IDBIO1: |
|
|
|
; Check for RomWBW (HBIOS) |
|
|
|
LD HL,($FFFE) ; HL := HBIOS ident location |
|
|
|
LD HL,($FFFC) ; HL := HBIOS ident location |
|
|
|
LD A,'W' ; First byte of ident |
|
|
|
CP (HL) ; Compare |
|
|
|
JR NZ,IDBIO2 ; Not HBIOS |
|
|
|
|
|
|
|
@ -239,7 +239,7 @@ IDBIO: |
|
|
|
; |
|
|
|
IDBIO1: |
|
|
|
; Check for RomWBW (HBIOS) |
|
|
|
LD HL,(0FFFEH) ; HL := HBIOS ident location |
|
|
|
LD HL,(0FFFCH) ; HL := HBIOS ident location |
|
|
|
LD A,'W' ; First byte of ident |
|
|
|
CP (HL) ; Compare |
|
|
|
JR NZ,IDBIO2 ; Not HBIOS |
|
|
|
|
|
|
|
@ -180,7 +180,7 @@ IDBIO: |
|
|
|
; |
|
|
|
IDBIO1: |
|
|
|
; Check for RomWBW (HBIOS) |
|
|
|
LD HL,(0FFFEH) ; HL := HBIOS ident location |
|
|
|
LD HL,(0FFFCH) ; HL := HBIOS ident location |
|
|
|
LD A,'W' ; First byte of ident |
|
|
|
CP (HL) ; Compare |
|
|
|
JR NZ,IDBIO2 ; Not HBIOS |
|
|
|
|
|
|
|
@ -175,7 +175,7 @@ IDBIO: |
|
|
|
; |
|
|
|
IDBIO1: |
|
|
|
; Check for RomWBW (HBIOS) |
|
|
|
LD HL,(0FFFEH) ; HL := HBIOS ident location |
|
|
|
LD HL,(0FFFCH) ; HL := HBIOS ident location |
|
|
|
LD A,'W' ; First byte of ident |
|
|
|
CP (HL) ; Compare |
|
|
|
JR NZ,IDBIO2 ; Not HBIOS |
|
|
|
|
|
|
|
@ -273,7 +273,7 @@ IDBIO: |
|
|
|
; |
|
|
|
IDBIO1: |
|
|
|
; Check for RomWBW (HBIOS) |
|
|
|
LD HL,(0FFFEH) ; HL := HBIOS ident location |
|
|
|
LD HL,(0FFFCH) ; HL := HBIOS ident location |
|
|
|
LD A,'W' ; First byte of ident |
|
|
|
CP (HL) ; Compare |
|
|
|
JR NZ,IDBIO2 ; Not HBIOS |
|
|
|
|
|
|
|
@ -190,7 +190,7 @@ init: |
|
|
|
ldir ; do the copy |
|
|
|
; |
|
|
|
; determine end of CBIOS (assume HBIOS for now) |
|
|
|
ld hl,($FFFE) ; get proxy start address |
|
|
|
ld hl,($FFFC) ; get proxy start address |
|
|
|
ld (bioend),hl ; save as CBIOS end address |
|
|
|
; |
|
|
|
; check for UNA (UBIOS) |
|
|
|
|
|
|
|
@ -29,7 +29,7 @@ bf_sysres_int .equ $00 ; reset hbios internal |
|
|
|
bf_sysres_warm .equ $01 ; warm start (restart boot loader) |
|
|
|
bf_sysres_cold .equ $02 ; cold start |
|
|
|
; |
|
|
|
ident .equ $FFFE ; loc of RomWBW HBIOS ident ptr |
|
|
|
ident .equ $FFFC ; loc of RomWBW HBIOS ident ptr |
|
|
|
; |
|
|
|
;======================================================================= |
|
|
|
; |
|
|
|
|
|
|
|
@ -48,7 +48,7 @@ stksiz .equ $40 ; Working stack size |
|
|
|
restart .equ $0000 ; CP/M restart vector |
|
|
|
bdos .equ $0005 ; BDOS invocation vector |
|
|
|
; |
|
|
|
ident .equ $FFFE ; loc of RomWBW HBIOS ident ptr |
|
|
|
ident .equ $FFFC ; loc of RomWBW HBIOS ident ptr |
|
|
|
; |
|
|
|
bf_cioinit .equ $04 ; HBIOS: CIOINIT function |
|
|
|
bf_cioquery .equ $05 ; HBIOS: CIOQUERY function |
|
|
|
|
|
|
|
@ -53,7 +53,7 @@ bf_sysres_int .equ $00 ; reset hbios internal |
|
|
|
bf_sysres_warm .equ $01 ; warm start (restart boot loader) |
|
|
|
bf_sysres_cold .equ $02 ; cold start |
|
|
|
; |
|
|
|
ident .equ $FFFE ; loc of RomWBW HBIOS ident ptr |
|
|
|
ident .equ $FFFC ; loc of RomWBW HBIOS ident ptr |
|
|
|
; |
|
|
|
;=============================================================================== |
|
|
|
; |
|
|
|
|
|
|
|
@ -1203,7 +1203,7 @@ IDBIO: |
|
|
|
; |
|
|
|
IDBIO1: |
|
|
|
; Check for RomWBW (HBIOS) |
|
|
|
LD HL,(0FFFEH) ; HL := HBIOS ident location |
|
|
|
LD HL,(0FFFCH) ; HL := HBIOS ident location |
|
|
|
LD A,'W' ; First byte of ident |
|
|
|
CP (HL) ; Compare |
|
|
|
JR NZ,IDBIO2 ; Not HBIOS |
|
|
|
|
|
|
|
@ -68,7 +68,7 @@ bf_sysreset .equ $F0 ; restart system |
|
|
|
bf_sysres_int .equ $00 ; reset hbios internal |
|
|
|
bf_sysres_warm .equ $01 ; warm start (restart boot loader) |
|
|
|
; |
|
|
|
ident .equ $FFFE ; loc of RomWBW HBIOS ident ptr |
|
|
|
ident .equ $FFFC ; loc of RomWBW HBIOS ident ptr |
|
|
|
; |
|
|
|
sigbyte1 .equ $A5 ; 1st sig byte boot info sector (bb_sig) |
|
|
|
sigbyte2 .equ $5A ; 2nd sig byte boot info sector (bb_sig) |
|
|
|
|
|
|
|
@ -31,7 +31,7 @@ stksiz .equ $40 ; Working stack size |
|
|
|
restart .equ $0000 ; CP/M restart vector |
|
|
|
bdos .equ $0005 ; BDOS invocation vector |
|
|
|
; |
|
|
|
ident .equ $FFFE ; loc of RomWBW HBIOS ident ptr |
|
|
|
ident .equ $FFFC ; loc of RomWBW HBIOS ident ptr |
|
|
|
; |
|
|
|
rmj .equ 2 ; intended CBIOS version - major |
|
|
|
rmn .equ 9 ; intended CBIOS version - minor |
|
|
|
|
|
|
|
@ -52,7 +52,7 @@ STKSIZ .EQU $40 ; Working stack size |
|
|
|
RESTART .EQU $0000 ; CP/M restart vector |
|
|
|
BDOS .EQU $0005 ; BDOS invocation vector |
|
|
|
; |
|
|
|
IDENT .EQU $FFFE ; loc of RomWBW HBIOS ident ptr |
|
|
|
IDENT .EQU $FFFC ; loc of RomWBW HBIOS ident ptr |
|
|
|
; |
|
|
|
BF_SYSVER .EQU $F1 ; BIOS: VER function |
|
|
|
BF_SYSGET .EQU $F8 ; HBIOS: SYSGET function |
|
|
|
@ -322,7 +322,7 @@ IDBIO: |
|
|
|
; |
|
|
|
IDBIO1: |
|
|
|
; Check for RomWBW (HBIOS) |
|
|
|
LD HL,($FFFE) ; HL := HBIOS ident location |
|
|
|
LD HL,(IDENT) ; HL := HBIOS ident location |
|
|
|
LD A,'W' ; First byte of ident |
|
|
|
CP (HL) ; Compare |
|
|
|
JR NZ,IDBIO2 ; Not HBIOS |
|
|
|
|
|
|
|
@ -1376,8 +1376,8 @@ HBX_BUF_END .EQU $ |
|
|
|
JP HBX_BNKSEL ; (+19) HB_BNKSEL: FIXED ADR ENTRY FOR HBX_BNKSEL |
|
|
|
JP HBX_BNKCPY ; (+22) HB_BNKCPY: FIXED ADR ENTRY FOR HBX_BNKCPY |
|
|
|
JP HBX_BNKCALL ; (+25) HB_BNKCALL: FIXED ADR ENTRY FOR HBX_BNKCALL |
|
|
|
.DW HBX_IDENT ; (+28) ADDRESS OF HBIOS PROXY START (DEPRECATED) |
|
|
|
.DW HBX_IDENT ; (+30) HB_IDENT: ADDRESS OF HBIOS IDENT INFO DATA BLOCK |
|
|
|
.DW HBX_IDENT ; (+28) HB_IDENT: ADDRESS OF HBIOS IDENT INFO DATA BLOCK |
|
|
|
.DW HBX_IDENT ; (+30) RESERVED (USED BY MSX PLATFORM), SET TO HBX_IDENT FOR BACKWARD COMPATIBILITY |
|
|
|
; |
|
|
|
.FILL MEMTOP - $ ; FILL TO END OF MEMORY (AS NEEDED) |
|
|
|
.ORG HBX_IMG + HBX_SIZ ; RESTORE ORG |
|
|
|
|
|
|
|
@ -554,5 +554,4 @@ HB_INVOKE .EQU HBX_XFCFNS + (0 * 3) ; INVOKE HBIOS FUNCTION |
|
|
|
HB_BNKSEL .EQU HBX_XFCFNS + (1 * 3) ; SELECT LOW MEMORY BANK ID |
|
|
|
HB_BNKCPY .EQU HBX_XFCFNS + (2 * 3) ; INTERBANK MEMORY COPY |
|
|
|
HB_BNKCALL .EQU HBX_XFCFNS + (3 * 3) ; INTERBANK FUNCTION CALL |
|
|
|
;HB_LOC .EQU HBX_XFCFNS + 12 ; ADDRESS OF HBIOS PROXY START (DEPRECATED) |
|
|
|
HB_IDENT .EQU HBX_XFCFNS + 14 ; POINTER TO HBIOS IDENT DATA BLOCK |
|
|
|
HB_IDENT .EQU HBX_XFCFNS + 12 ; POINTER TO HBIOS IDENT DATA BLOCK |
|
|
|
|
|
|
|
@ -51,7 +51,7 @@ cmdmax .EQU $20 ; Max cmd input length |
|
|
|
stksiz .EQU $40 ; Working stack size |
|
|
|
restart .EQU $0000 ; CP/M restart vector |
|
|
|
bdos .EQU $0005 ; BDOS invocation vector |
|
|
|
ident .EQU $FFFE ; loc of RomWBW HBIOS ident ptr |
|
|
|
ident .EQU $FFFC ; loc of RomWBW HBIOS ident ptr |
|
|
|
; |
|
|
|
ETX .EQU 3 ; CTRL-C |
|
|
|
BEL .EQU 7 ; ASCII bell |
|
|
|
|
|
|
|
@ -2,7 +2,7 @@ |
|
|
|
#DEFINE RMN 6 |
|
|
|
#DEFINE RUP 0 |
|
|
|
#DEFINE RTP 0 |
|
|
|
#DEFINE BIOSVER "3.6.0-dev.26" |
|
|
|
#DEFINE BIOSVER "3.6.0-dev.27" |
|
|
|
#define rmj RMJ |
|
|
|
#define rmn RMN |
|
|
|
#define rup RUP |
|
|
|
|
|
|
|
@ -3,5 +3,5 @@ rmn equ 6 |
|
|
|
rup equ 0 |
|
|
|
rtp equ 0 |
|
|
|
biosver macro |
|
|
|
db "3.6.0-dev.26" |
|
|
|
db "3.6.0-dev.27" |
|
|
|
endm |
|
|
|
|