More CPM updates

This commit is contained in:
Philip Smart
2020-06-04 00:00:15 +01:00
parent 3cb932b7c7
commit 7d1a4a7e15
8 changed files with 18 additions and 10 deletions

Binary file not shown.

View File

@@ -1622,8 +1622,7 @@ MTRDEL2: DEC DE
POP DE
RET
DSKWRITE: DI
LD A,MAXWRRETRY
DSKWRITE: LD A,MAXWRRETRY
LD (RETRIES),A
LD A,(SECTORCNT)
LD B,A
@@ -1665,8 +1664,7 @@ WRITEDATA: OUTI
; Read disk starting at the first logical sector in param block 1009/100A
; Continue reading for the given size 100B/100C and store in the location
; Pointed to by the address stored in the parameter block. 100D/100E
DSKREAD: DI
LD A,MAXRDRETRY
DSKREAD: LD A,MAXRDRETRY
LD (RETRIES),A
LD A,(SECTORCNT)
LD B,A
@@ -1882,7 +1880,8 @@ RETRIESERR: BIT 2,A ; Data
RETRIESERR2:
; Process error, dump debug data and return fail code.
HDLERROR:
HDLERROR: SCF
CALL DEBUG
HOLPRTSTR: LD A,(DE)
OR A
JR Z,HDLPRTSTR3

View File

@@ -31,4 +31,5 @@
ORG CPMBIOS
; All CBIOS code, tables and variables are stored in the CBIOS source code.
; All CBIOS code, tables and variables are now stored in the cbios.asm and cbiosII.asm as a seperate assembled
; binary.

View File

@@ -293,9 +293,9 @@ CPM_SD_IMGSZ EQU CPM_SD_TRK * CPM_SD_SEC * SD_SECSIZE
TZVARMEM: EQU 0F4A0H
TZSVCMEM: EQU 0F560H ; Start of a memory structure used to communicate with the K64F I/O processor for services such as disk access.
TZSVCSIZE: EQU 00280H ;
TZSVCDIRSZ: EQU 8 ; Size of the directory/file name.
TZSVCDIRSZ: EQU 20 ; Size of the directory/file name.
TZSVCFILESZ: EQU 17 ; Size of a Sharp filename.
TZSVCWILDSZ: EQU 8 ; Size of the wildcard.
TZSVCWILDSZ: EQU 20 ; Size of the wildcard.
TZSVCSECSIZE: EQU 512
TZSVCDIR_ENTSZ: EQU 32 ; Size of a directory entry.
TZSVCWAITIORETRIES: EQU 500 ; Wait retries for IO response.

View File

@@ -345,9 +345,9 @@ TZSTACK: EQU TZVARMEM + TZVARSIZE
TZSVCMEM: EQU 0ED80H ; Start of a memory structure used to communicate with the K64F I/O processor for services such as disk access.
TZSVCSIZE: EQU 00280H ;
TZSVCDIRSZ: EQU 8 ; Size of the directory/file name.
TZSVCDIRSZ: EQU 20 ; Size of the directory/file name.
TZSVCFILESZ: EQU 17 ; Size of a Sharp filename.
TZSVCWILDSZ: EQU 8 ; Size of the wildcard.
TZSVCWILDSZ: EQU 20 ; Size of the wildcard.
TZSVCSECSIZE: EQU 512
TZSVCDIR_ENTSZ: EQU 32 ; Size of a directory entry.
TZSVCWAITIORETRIES: EQU 5 ; Wait retries for IO response.

View File

@@ -196,6 +196,9 @@ CMDTABLE: DB 000H | 000H | 000H | 001H ; Bit 2
DB 000H | 000H | 000H | 001H
DB '8' ; 80 Char screen mode.
DW SETMODE80
DB 000H | 000H | 000H | 005H
DB "BASIC" ; Load and run BASIC SA-5510.
DW LOADBASIC
DB 000H | 000H | 000H | 001H
DB 'B' ; Bell.
DW SGX
@@ -1575,6 +1578,10 @@ DIRSD3: INC D ; Onto
DIRSD4: RET
;
; Quick method to load the basic interpreter. So long as the filename doesnt change this method will load and boot Basic.
LOADBASIC: LD DE,BASICFILENM
JR LOADSDCARD
; Quick method to load CPM. So long as the filename doesnt change this method will load and boot CPM.
LOADCPM: LD DE,CPMFILENAME
JR LOADSDCARD
@@ -2228,6 +2235,7 @@ LOCALTEST: LD A,0
; Quick load program names.
CPMFILENAME:DB "CPM223", 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H
BASICFILENM:DB "BASIC SA-5510", 000H
; Error tone.
ERRTONE: DB "A0", 0D7H, "ARA", 0D7H, "AR", 00DH

Binary file not shown.

Binary file not shown.