From 7d1a4a7e15d6fa4eecd74c8aeb5178bd40ddbbf0 Mon Sep 17 00:00:00 2001 From: Philip Smart Date: Thu, 4 Jun 2020 00:00:15 +0100 Subject: [PATCH] More CPM updates --- software/MZF/CPM223.MZF | Bin 18048 -> 18048 bytes software/asm/cbiosII.asm | 9 ++++----- software/asm/cpm22-bios.asm | 3 ++- software/asm/include/CPM_Definitions.asm | 4 ++-- software/asm/include/TZFS_Definitions.asm | 4 ++-- software/asm/tzfs.asm | 8 ++++++++ software/roms/CPM223.BIN | Bin 17920 -> 17920 bytes software/roms/tzfs.rom | Bin 18432 -> 18432 bytes 8 files changed, 18 insertions(+), 10 deletions(-) diff --git a/software/MZF/CPM223.MZF b/software/MZF/CPM223.MZF index 6cd41e82f1bfbfb2d05655316f581d7afa334ce4..888138a3dca96903f65b972b5baf2205a648716d 100644 GIT binary patch delta 563 zcmZqZWo+nW+`ua{(LrJ}uS_J<<~q3?9>&F!Uu($&Np5X<-o-p0PyaVs!zd^&b$0P& zb8TzJHIs|A?d8|-NW8FO_+hl0@vfrT2Sx@4K?Vjz28OdCoPshSl^3;(85eJM)e&F> z8Wg6h0wk+-_b@Js!CQ(!$SI$7V) zVseI|g6?hZvroCtUgkcufcxwp?z@WrKL1tJ#@}Uu($&Np5X<-i16LPyaVs!zd^&b#~!o zb8TzJRg;Ug?d4bTNW8FO_+hl0@vfrT2Sx@4K?Vjz28OdCoPshSl^3;(85eGL)e&F> z8Wg6h0wk+-_b~QOw$SruG~L{x*Uu!8!*lzFKD)&itGkT;iWeB!7&uS6DX^XupR8|a z!T5P{x}k#JUGB5bxzAqZKD3DY>_6_iivK?URn+4CY`5j?K5j84Hio+|-!4A%@3SZn zOZb4bNMqAd0n{?(?7qqG4aFGMC$kx;SXT3#73Z-!$++F>IpZmI?!%$nM&}syFW)%p z&T|sVQU^Kjq@DEH6Wq^co;+L01yrioJ2~0N!V@Uc`i|wq;WD19PtRWEl4A#YUAtzh z1}9Jlzs1*w7f;G6ym@%>a3MB%1B86~43)Z}a@ULTO$BNVwOU~Q@pZO2fgPJpE}!KOb4u|a0N1Pkf{1vejY H+QSS0N%H<| 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 9a7965dfcbbccf4a32fbe4784eee946451b88462..bee9a83c89ddf58757cbd3479483c5dbe67d1869 100644 GIT binary patch delta 563 zcmZqZVQlDO+|VmMF+gH-uXH5S=6|v|JdBGcXKTp=$!;xq-o-p0PyaVs!zd^&b$0RO z?ON81YbJlzvX@`OBk{tD;fK*~#=DAU9~c=J1Q{3<85quna0<$RR0e7nGcMkIR9k=% zXwWqs6(IRrXAk4j$vbrY8BI2G==C#6Wbxd-q0esd#p*7jzv2Z(HU`eqZVIetMJKN} zu$cV9KtcC5_t~f1XD@RfTEKnw5BFWgf1m#X>qN&*VZwF-FzN9fm5Fl{{xfd8|${Znt{Qc#4hta4@&gIY#}43)a2KWygnegM<{Yn jz}i$H+K!<}od8Q|f=z!8VuQ?j2^Q1^3T}3B+QSS0Z?@<9 delta 614 zcmZqZVQlDO+|Vn%d8u?H)5HLY&HrR`co-K>&eoC#lHFSJybF0gp8jvNhEY&l>g>YF z+qJA2S55w`WiP*qN8*JQ!w;j~jCU2yJ}@#c2r@7zGBBJC;S`hssSMOEW?Z=WsI~wj z(4cENDnRnL&K}0z$vbrY8BI5H==C#6^^QWCN_qXX|HRV=G{&WiI`on+i@^_=k(JNMyGZliOI`j>B< zb>}$=WvPRlchXM!>{!e`s5TNwatA-RV+PctOar1KwK?vS(w1t??Qq?ATcWz29Ufsn0=QK#FhoI z-+J$7gjsbqL)hvdNNVzHM_wP0+#?jZCtz)=5N*d$q)vdPG{L4n2eCnBy#x#D0tGj_ IIPGBu0OFhjcmMzZ diff --git a/software/roms/tzfs.rom b/software/roms/tzfs.rom index 2d1155d8175301be6b899a26cd4431d79501509e..f75a087a9225905bdb85f051b74267724f5d877e 100644 GIT binary patch delta 70 zcmZpez}PT>al=MF)uV4U*xdyc7$gP$UOZ^Wu>Iugrw0Z3f1ho50pv1DyjR@#mQ8r_ ZHNI%Z1(S{Vp8`ngSv9VGw& delta 70 zcmZpez}PT>al=MF)wORm*xdyc7$gP$UOZ^Wu>Iugrw0Z3f1ho50pv1DyjNWMmW_S# ZHNI%ZDU*%(p8`nf~c9MJ#(