diff --git a/software/MZF/CPM223.MZF b/software/MZF/CPM223.MZF index 6cd41e8..888138a 100644 Binary files a/software/MZF/CPM223.MZF and b/software/MZF/CPM223.MZF differ diff --git a/software/asm/cbiosII.asm b/software/asm/cbiosII.asm index 9531da1..18b4a08 100644 --- a/software/asm/cbiosII.asm +++ b/software/asm/cbiosII.asm @@ -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 diff --git a/software/asm/cpm22-bios.asm b/software/asm/cpm22-bios.asm index 598e84e..125be69 100644 --- a/software/asm/cpm22-bios.asm +++ b/software/asm/cpm22-bios.asm @@ -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. diff --git a/software/asm/include/CPM_Definitions.asm b/software/asm/include/CPM_Definitions.asm index 9ec12df..64033b3 100644 --- a/software/asm/include/CPM_Definitions.asm +++ b/software/asm/include/CPM_Definitions.asm @@ -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. diff --git a/software/asm/include/TZFS_Definitions.asm b/software/asm/include/TZFS_Definitions.asm index 4119f7a..be63a61 100644 --- a/software/asm/include/TZFS_Definitions.asm +++ b/software/asm/include/TZFS_Definitions.asm @@ -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. diff --git a/software/asm/tzfs.asm b/software/asm/tzfs.asm index 6ca7174..85da94a 100644 --- a/software/asm/tzfs.asm +++ b/software/asm/tzfs.asm @@ -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 diff --git a/software/roms/CPM223.BIN b/software/roms/CPM223.BIN index 9a7965d..bee9a83 100644 Binary files a/software/roms/CPM223.BIN and b/software/roms/CPM223.BIN differ diff --git a/software/roms/tzfs.rom b/software/roms/tzfs.rom index 2d1155d..f75a087 100644 Binary files a/software/roms/tzfs.rom and b/software/roms/tzfs.rom differ