diff --git a/software/MZF/BASIC.MZF b/software/MZF/BASIC.MZF index 9724b10..cebbfb7 100644 Binary files a/software/MZF/BASIC.MZF and b/software/MZF/BASIC.MZF differ diff --git a/software/MZF/CPM223.MZF b/software/MZF/CPM223.MZF index addd524..f0255f8 100644 Binary files a/software/MZF/CPM223.MZF and b/software/MZF/CPM223.MZF differ diff --git a/software/asm/BASIC.asm b/software/asm/BASIC.asm index 8e2d016..981ad02 100644 --- a/software/asm/BASIC.asm +++ b/software/asm/BASIC.asm @@ -52,7 +52,7 @@ HEADER2: IF BUILD_RFS = 1 ENDIF HEADER3: IF BUILD_TZFS = 1 - DB "TZFS BASIC V1.1", 0DH, 0DH ; Title/Name (17 bytes). + DB "TZFS BASIC V1.2", 0DH, 0DH ; Title/Name (17 bytes). DW (CODEEND - CODESTART) + (RELOCEND - RELOC) ; Size of program. DW 01200H ; Load address of program. DW RELOC ; Exec address of program. @@ -151,9 +151,16 @@ INIT3: ; Setup keyboard buffer control. LD A,080H ; Cursor on (Bit D7=1). LD (FLASHCTL),A - ; Change to 80 character mode. +INIT80CHAR: IF BUILD_VIDEOMODULE = 1 + IN A,(VMCTRL) ; Get current display mode. + OR MODE_80CHAR ; Enable 80 char display. + OUT (VMCTRL),A ; Activate. + ELSE + ; Change to 80 character mode on the 40/80 Char Colour board v1.0. LD A, 128 ; 80 char mode. LD (DSPCTL), A + ENDIF + ; CALL MLDSP CALL BEL ; Beep to indicate startup - for cases where screen is slow to startup. LD A,0FFH diff --git a/software/asm/cbiosII.asm b/software/asm/cbiosII.asm index 389ad80..014e7b2 100644 --- a/software/asm/cbiosII.asm +++ b/software/asm/cbiosII.asm @@ -257,9 +257,16 @@ INIT3: ; Setup keyboard buffer control. LD A,080H ; Cursor on (Bit D7=1). LD (FLASHCTL),A - ; Change to 80 character mode. - LD A, 128 ; 80 char mode. +INIT80CHAR: IF BUILD_VIDEOMODULE = 1 + IN A,(VMCTRL) ; Get current display mode. + OR MODE_80CHAR ; Enable 80 char display. + OUT (VMCTRL),A ; Activate. + ELSE + ; Change to 80 character mode on the 40/80 Char Colour board v1.0. + LD A, 128 ; 80 char mode. LD (DSPCTL), A + ENDIF + ; CALL MLDSP CALL NL LD DE,CBIOSSIGNON ; Start of sign on message, as devices are detected they are added to the sign on. diff --git a/software/asm/include/BASIC_Definitions.asm b/software/asm/include/BASIC_Definitions.asm index 8c55f71..fe90fd4 100644 --- a/software/asm/include/BASIC_Definitions.asm +++ b/software/asm/include/BASIC_Definitions.asm @@ -61,6 +61,7 @@ CTAPESAVE EQU 4 BUILD_MZ80A EQU 0 ; Build for the standard Sharp MZ80A, no lower memory. Manually change MAXMEM above. BUILD_RFS EQU 0 ; Build for RFS where the tranZPUter board is available without the K64F and running under RFS. BUILD_TZFS EQU 1 ; Build for TZFS where extended memory is available. +BUILD_VIDEOMODULE EQU 1 ; Build for the Video Module v2 board (=1) otherwise build for the 80Char Colour Board v1.0 INCLUDE_ANSITERM EQU 1 ; Include the Ansi terminal emulation processor in the build. ; Debugging @@ -222,6 +223,40 @@ SETXMHZ EQU 062H ; Selec SET2MHZ EQU 064H ; Select the system 2MHz clock frequency. CLKSELRD EQU 066H ; Read clock selected setting, 0 = 2MHz, 1 = XMHz SVCREQ EQU 068H ; I/O Processor service request. +CPLDCFG EQU 06EH ; Version 2.1 CPLD configuration register. +CPLDSTATUS EQU 06EH ; Version 2.1 CPLD status register. +CPLDINFO EQU 06FH ; Version 2.1 CPLD version information register. +SYSCTRL EQU 0F0H ; System board control register. [2:0] - 000 MZ80A Mode, 2MHz CPU/Bus, 001 MZ80B Mode, 4MHz CPU/Bus, 010 MZ700 Mode, 3.54MHz CPU/Bus. +GRAMMODE EQU 0F4H ; MZ80B Graphics mode. Bit 0 = 0, Write to Graphics RAM I, Bit 0 = 1, Write to Graphics RAM II. Bit 1 = 1, blend Graphics RAM I output on display, Bit 2 = 1, blend Graphics RAM II output on display. +VMCTRL EQU 0F8H ; Video Module control register. [2:0] - 000 (default) = MZ80A, 001 = MZ-700, 010 = MZ800, 011 = MZ80B, 100 = MZ80K, 101 = MZ80C, 110 = MZ1200, 111 = MZ2000. [3] = 0 - 40 col, 1 - 80 col. +VMGRMODE EQU 0F9H ; Video Module graphics mode. 7/6 = Operator (00=OR,01=AND,10=NAND,11=XOR), 5=GRAM Output Enable, 4 = VRAM Output Enable, 3/2 = Write mode (00=Page 1:Red, 01=Page 2:Green, 10=Page 3:Blue, 11=Indirect), 1/0=Read mode (00=Page 1:Red, 01=Page2:Green, 10=Page 3:Blue, 11=Not used). +VMREDMASK EQU 0FAH ; Video Module Red bit mask (1 bit = 1 pixel, 8 pixels per byte). +VMGREENMASK EQU 0FBH ; Video Module Green bit mask (1 bit = 1 pixel, 8 pixels per byte). +VMBLUEMASK EQU 0FCH ; Video Module Blue bit mask (1 bit = 1 pixel, 8 pixels per byte). +VMPAGE EQU 0FDH ; Video Module memory page register. [1:0] switches in 1 16Kb page (3 pages) of graphics ram to C000 - FFFF. Bits [1:0] = page, 00 = off, 01 = Red, 10 = Green, 11 = Blue. This overrides all MZ700/MZ80B page switching functions. [7] 0 - normal, 1 - switches in CGROM for upload at D000:DFFF. + + +;----------------------------------------------- +; Video Module control bits. +;----------------------------------------------- +MODE_80CHAR EQU 008H ; Enable 80 character display. +MODE_COLOUR EQU 010H ; Enable colour display. +SYSMODE_MZ80A EQU 000H ; System board mode MZ80A, 2MHz CPU/Bus. +SYSMODE_MZ80B EQU 001H ; System board mode MZ80B, 4MHz CPU/Bus. +SYSMODE_MZ700 EQU 002H ; System board mode MZ700, 3.54MHz CPU/Bus. +VMMODE_MZ80A EQU 000H ; Video mode = MZ80A +VMMODE_MZ700 EQU 001H ; Video mode = MZ700 +VMMODE_MZ800 EQU 002H ; Video mode = MZ800 +VMMODE_MZ80B EQU 003H ; Video mode = MZ80B +VMMODE_MZ80K EQU 004H ; Video mode = MZ80K +VMMODE_MZ80C EQU 005H ; Video mode = MZ80C +VMMODE_MZ1200 EQU 006H ; Video mode = MZ1200 +VMMODE_MZ2000 EQU 007H ; Video mode = MZ2000 +VMMODE_PCGRAM EQU 020H ; Enable PCG RAM. +VMMODE_VGA_OFF EQU 000H ; Set VGA mode off, external monitor is driven by standard internal signals. +VMMODE_VGA_640x480 EQU 040H ; Set external monitor to VGA 640x480 @ 60Hz mode. +VMMODE_VGA_1024x768 EQU 080H ; Set external monitor to VGA 1024x768 @ 60Hz mode. +VMMODE_VGA_800x600 EQU 0C0H ; Set external monitor to VGA 800x600 @ 60Hz mode. ;----------------------------------------------- ; tranZPUter SW Memory Management modes diff --git a/software/asm/include/CPM_Definitions.asm b/software/asm/include/CPM_Definitions.asm index 5debe8f..1e4dafa 100644 --- a/software/asm/include/CPM_Definitions.asm +++ b/software/asm/include/CPM_Definitions.asm @@ -96,6 +96,8 @@ SCRNSZ: EQU COLW * ROW ; Total SCRLW: EQU COLW / 8 ; Number of 8 byte regions in a line for hardware scroll. MODE80C: EQU 1 +BUILD_VIDEOMODULE EQU 1 ; Build for the Video Module v2 board (=1) otherwise build for the 80Char Colour Board v1.0 + ; BIOS equates MAXDISKS EQU 7 ; Max number of Drives supported KEYBUFSIZE EQU 64 ; Ensure this is a power of 2, max size 256. @@ -246,6 +248,39 @@ SETXMHZ EQU 062H ; Selec SET2MHZ EQU 064H ; Select the system 2MHz clock frequency. CLKSELRD EQU 066H ; Read clock selected setting, 0 = 2MHz, 1 = XMHz SVCREQ EQU 068H ; I/O Processor service request. +CPLDCFG EQU 06EH ; Version 2.1 CPLD configuration register. +CPLDSTATUS EQU 06EH ; Version 2.1 CPLD status register. +CPLDINFO EQU 06FH ; Version 2.1 CPLD version information register. +SYSCTRL EQU 0F0H ; System board control register. [2:0] - 000 MZ80A Mode, 2MHz CPU/Bus, 001 MZ80B Mode, 4MHz CPU/Bus, 010 MZ700 Mode, 3.54MHz CPU/Bus. +GRAMMODE EQU 0F4H ; MZ80B Graphics mode. Bit 0 = 0, Write to Graphics RAM I, Bit 0 = 1, Write to Graphics RAM II. Bit 1 = 1, blend Graphics RAM I output on display, Bit 2 = 1, blend Graphics RAM II output on display. +VMCTRL EQU 0F8H ; Video Module control register. [2:0] - 000 (default) = MZ80A, 001 = MZ-700, 010 = MZ800, 011 = MZ80B, 100 = MZ80K, 101 = MZ80C, 110 = MZ1200, 111 = MZ2000. [3] = 0 - 40 col, 1 - 80 col. +VMGRMODE EQU 0F9H ; Video Module graphics mode. 7/6 = Operator (00=OR,01=AND,10=NAND,11=XOR), 5=GRAM Output Enable, 4 = VRAM Output Enable, 3/2 = Write mode (00=Page 1:Red, 01=Page 2:Green, 10=Page 3:Blue, 11=Indirect), 1/0=Read mode (00=Page 1:Red, 01=Page2:Green, 10=Page 3:Blue, 11=Not used). +VMREDMASK EQU 0FAH ; Video Module Red bit mask (1 bit = 1 pixel, 8 pixels per byte). +VMGREENMASK EQU 0FBH ; Video Module Green bit mask (1 bit = 1 pixel, 8 pixels per byte). +VMBLUEMASK EQU 0FCH ; Video Module Blue bit mask (1 bit = 1 pixel, 8 pixels per byte). +VMPAGE EQU 0FDH ; Video Module memory page register. [1:0] switches in 1 16Kb page (3 pages) of graphics ram to C000 - FFFF. Bits [1:0] = page, 00 = off, 01 = Red, 10 = Green, 11 = Blue. This overrides all MZ700/MZ80B page switching functions. [7] 0 - normal, 1 - switches in CGROM for upload at D000:DFFF. + +;----------------------------------------------- +; Video Module control bits. +;----------------------------------------------- +MODE_80CHAR EQU 008H ; Enable 80 character display. +MODE_COLOUR EQU 010H ; Enable colour display. +SYSMODE_MZ80A EQU 000H ; System board mode MZ80A, 2MHz CPU/Bus. +SYSMODE_MZ80B EQU 001H ; System board mode MZ80B, 4MHz CPU/Bus. +SYSMODE_MZ700 EQU 002H ; System board mode MZ700, 3.54MHz CPU/Bus. +VMMODE_MZ80A EQU 000H ; Video mode = MZ80A +VMMODE_MZ700 EQU 001H ; Video mode = MZ700 +VMMODE_MZ800 EQU 002H ; Video mode = MZ800 +VMMODE_MZ80B EQU 003H ; Video mode = MZ80B +VMMODE_MZ80K EQU 004H ; Video mode = MZ80K +VMMODE_MZ80C EQU 005H ; Video mode = MZ80C +VMMODE_MZ1200 EQU 006H ; Video mode = MZ1200 +VMMODE_MZ2000 EQU 007H ; Video mode = MZ2000 +VMMODE_PCGRAM EQU 020H ; Enable PCG RAM. +VMMODE_VGA_OFF EQU 000H ; Set VGA mode off, external monitor is driven by standard internal signals. +VMMODE_VGA_640x480 EQU 040H ; Set external monitor to VGA 640x480 @ 60Hz mode. +VMMODE_VGA_1024x768 EQU 080H ; Set external monitor to VGA 1024x768 @ 60Hz mode. +VMMODE_VGA_800x600 EQU 0C0H ; Set external monitor to VGA 800x600 @ 60Hz mode. ;----------------------------------------------- ; tranZPUter SW Memory Management modes diff --git a/software/asm/include/TZFS_Definitions.asm b/software/asm/include/TZFS_Definitions.asm index 04b1e03..3dea91a 100644 --- a/software/asm/include/TZFS_Definitions.asm +++ b/software/asm/include/TZFS_Definitions.asm @@ -33,6 +33,7 @@ ;----------------------------------------------- ; Features. ;----------------------------------------------- +BUILD_VIDEOMODULE EQU 1 ; Build for the Video Module v2 board (=1) otherwise build for the 80Char Colour Board v1.0 ;----------------------------------------------- ; Entry/compilation start points. @@ -194,6 +195,14 @@ SVCREQ EQU 068H ; I/O P CPLDCFG EQU 06EH ; Version 2.1 CPLD configuration register. CPLDSTATUS EQU 06EH ; Version 2.1 CPLD status register. CPLDINFO EQU 06FH ; Version 2.1 CPLD version information register. +SYSCTRL EQU 0F0H ; System board control register. [2:0] - 000 MZ80A Mode, 2MHz CPU/Bus, 001 MZ80B Mode, 4MHz CPU/Bus, 010 MZ700 Mode, 3.54MHz CPU/Bus. +GRAMMODE EQU 0F4H ; MZ80B Graphics mode. Bit 0 = 0, Write to Graphics RAM I, Bit 0 = 1, Write to Graphics RAM II. Bit 1 = 1, blend Graphics RAM I output on display, Bit 2 = 1, blend Graphics RAM II output on display. +VMCTRL EQU 0F8H ; Video Module control register. [2:0] - 000 (default) = MZ80A, 001 = MZ-700, 010 = MZ800, 011 = MZ80B, 100 = MZ80K, 101 = MZ80C, 110 = MZ1200, 111 = MZ2000. [3] = 0 - 40 col, 1 - 80 col. +VMGRMODE EQU 0F9H ; Video Module graphics mode. 7/6 = Operator (00=OR,01=AND,10=NAND,11=XOR), 5=GRAM Output Enable, 4 = VRAM Output Enable, 3/2 = Write mode (00=Page 1:Red, 01=Page 2:Green, 10=Page 3:Blue, 11=Indirect), 1/0=Read mode (00=Page 1:Red, 01=Page2:Green, 10=Page 3:Blue, 11=Not used). +VMREDMASK EQU 0FAH ; Video Module Red bit mask (1 bit = 1 pixel, 8 pixels per byte). +VMGREENMASK EQU 0FBH ; Video Module Green bit mask (1 bit = 1 pixel, 8 pixels per byte). +VMBLUEMASK EQU 0FCH ; Video Module Blue bit mask (1 bit = 1 pixel, 8 pixels per byte). +VMPAGE EQU 0FDH ; Video Module memory page register. [1:0] switches in 1 16Kb page (3 pages) of graphics ram to C000 - FFFF. Bits [1:0] = page, 00 = off, 01 = Red, 10 = Green, 11 = Blue. This overrides all MZ700/MZ80B page switching functions. [7] 0 - normal, 1 - switches in CGROM for upload at D000:DFFF. ;----------------------------------------------- ; CPLD Configuration constants. @@ -201,6 +210,28 @@ CPLDINFO EQU 06FH ; Versi SET_MODE_MZ80A EQU 1 ; Set to original unmodified hardware. SET_MODE_MZ700 EQU 2 ; Map keyboard and memory mode settings to MZ700 mode. +;----------------------------------------------- +; Video Module control bits. +;----------------------------------------------- +MODE_80CHAR EQU 008H ; Enable 80 character display. +MODE_COLOUR EQU 010H ; Enable colour display. +SYSMODE_MZ80A EQU 000H ; System board mode MZ80A, 2MHz CPU/Bus. +SYSMODE_MZ80B EQU 001H ; System board mode MZ80B, 4MHz CPU/Bus. +SYSMODE_MZ700 EQU 002H ; System board mode MZ700, 3.54MHz CPU/Bus. +VMMODE_MZ80A EQU 000H ; Video mode = MZ80A +VMMODE_MZ700 EQU 001H ; Video mode = MZ700 +VMMODE_MZ800 EQU 002H ; Video mode = MZ800 +VMMODE_MZ80B EQU 003H ; Video mode = MZ80B +VMMODE_MZ80K EQU 004H ; Video mode = MZ80K +VMMODE_MZ80C EQU 005H ; Video mode = MZ80C +VMMODE_MZ1200 EQU 006H ; Video mode = MZ1200 +VMMODE_MZ2000 EQU 007H ; Video mode = MZ2000 +VMMODE_PCGRAM EQU 020H ; Enable PCG RAM. +VMMODE_VGA_OFF EQU 000H ; Set VGA mode off, external monitor is driven by standard internal signals. +VMMODE_VGA_640x480 EQU 040H ; Set external monitor to VGA 640x480 @ 60Hz mode. +VMMODE_VGA_1024x768 EQU 080H ; Set external monitor to VGA 1024x768 @ 60Hz mode. +VMMODE_VGA_800x600 EQU 0C0H ; Set external monitor to VGA 800x600 @ 60Hz mode. + ;----------------------------------------------- ; tranZPUter SW Memory Management modes ;----------------------------------------------- diff --git a/software/asm/tzfs.asm b/software/asm/tzfs.asm index 4b585c4..cdd80fe 100644 --- a/software/asm/tzfs.asm +++ b/software/asm/tzfs.asm @@ -120,13 +120,25 @@ MONITOR: LD A, (SCRNMODE) CP 0 JR NZ, SIGNON ; -SET40CHAR: LD A, 0 ; Using MROM in Bank 0 = 40 char mode. +SET40CHAR: IF BUILD_VIDEOMODULE = 1 + IN A,(VMCTRL) ; Get current video mode. + AND ~MODE_80CHAR ; Clear 80 char flag. + OUT (VMCTRL),A ; Activate. + ELSE + LD A, 0 ; Using MROM in Bank 0 = 40 char mode. LD (DSPCTL), A ; Set hardware register to select 40char mode. + ENDIF LD A, 0 LD (SPAGE), A ; Allow MZ80A scrolling JR SIGNON -SET80CHAR: LD A, 128 ; Using MROM in Bank 1 = 80 char mode. +SET80CHAR: IF BUILD_VIDEOMODULE = 1 + IN A,(VMCTRL) ; Get current video mode. + OR MODE_80CHAR ; Set 80 char flag. + OUT (VMCTRL),A ; Activate. + ELSE + LD A, 128 ; Using MROM in Bank 1 = 80 char mode. LD (DSPCTL), A ; Set hardware register to select 80char mode. + ENDIF LD A, 1 LD A, 0FFH LD (SPAGE), A ; MZ80K Scrolling in 80 column mode for time being. @@ -520,8 +532,15 @@ GOTOX: CALL HEXIYX ;==================================== ; Commands to start the Sharp MZ-80A in its original mode loading either a 40 or 80 column BIOS as directed. -SETMODE40: LD A, 0 +SETMODE40: IF BUILD_VIDEOMODULE = 1 + IN A,(VMCTRL) ; Get current video mode. + AND ~MODE_80CHAR ; Clear 80 char flag. + OUT (VMCTRL),A ; Activate. + ELSE + XOR A LD (DSPCTL), A + ENDIF + XOR A LD (SCRNMODE),A ; 0 = 40char mode on reset. ; LD A,TZSVC_CMD_LOAD40BIOS ; Request the I/O processor loads the SA1510 40column BIOS into memory. @@ -531,8 +550,14 @@ SETBIOS: CALL SVC_CMD ; And m LD DE,MSGFAILBIOS CALL ?PRINTMSG RET ; Return status to caller, 0 = success. -SETMODE80: LD A, 128 +SETMODE80: IF BUILD_VIDEOMODULE = 1 + IN A,(VMCTRL) ; Get current video mode. + OR MODE_80CHAR ; Set 80 char flag. + OUT (VMCTRL),A ; Activate. + ELSE + LD A, 128 LD (DSPCTL), A + ENDIF LD A,1 LD (SCRNMODE),A LD A,TZSVC_CMD_LOAD80BIOS ; Request the I/O processor loads the SA1510 80column BIOS into memory. @@ -541,18 +566,33 @@ SETMODE80: LD A, 128 ; Commands to switch into MZ-700 compatible mode. This involves loading the original (but patched for keyboard use for v1.1) 1Z-013A BIOS ; and changing the frequency, and on the v1.1 board also enabling of additional traps to detect and change memory mode which are catered for in ; hardware on v2+ boards.. -SETMODE700: LD A, 0 +SETMODE700: IF BUILD_VIDEOMODULE = 1 + LD A,VMMODE_MZ700 ; Setup the display to 40 char MZ700 mode. + OUT (VMCTRL),A ; Activate. + ELSE + XOR A LD (DSPCTL), A + ENDIF + XOR A LD (SCRNMODE),A ; 0 = 40char mode on reset. - LD A,SET_MODE_MZ700 - OUT (CPLDCFG),A ; Set the CPLD compatibility mode. + LD A,SYSMODE_MZ700 ; Setup the board to run at 3.54MHz + OUT (SYSCTRL),A ; Activate + LD A,SET_MODE_MZ700 ; Set the tranZPUter CPLD hardware translation to MZ700 mode. + OUT (CPLDCFG),A ; LD A,TZSVC_CMD_LOAD700BIOS40 ; Request the I/O processor loads the MZ700 1Z-013A 40column BIOS into memory. JR SETBIOS -SETMODE7008:LD A, 128 +SETMODE7008:IF BUILD_VIDEOMODULE = 1 + LD A,VMMODE_MZ700 | MODE_80CHAR ; Setup the display to 80char MZ700 mode. + OUT (VMCTRL),A ; Activate. + ELSE + LD A, 128 LD (DSPCTL), A + ENDIF LD A,1 LD (SCRNMODE),A + LD A,SYSMODE_MZ700 ; Setup the board to run at 3.54MHz + OUT (SYSCTRL),A ; Activate LD A,SET_MODE_MZ700 OUT (CPLDCFG),A ; Set the CPLD compatibility mode. LD A,TZSVC_CMD_LOAD700BIOS80 ; Request the I/O processor loads the SA1510 80column BIOS into memory. @@ -561,10 +601,17 @@ SETMODE7008:LD A, 128 ; Command to switch into the Sharp MZ-80B compatible mode. This involves loading the IPL, switching ; the frequency to 4MHz and enabling of additional traps to detect and change memory mode. -SETMODE80B: LD A, 128 +SETMODE80B: IF BUILD_VIDEOMODULE = 1 + LD A,VMMODE_MZ80B | MODE_80CHAR ; Setup the display to 80char MZ80B mode. + OUT (VMCTRL),A ; Activate. + ELSE + LD A, 128 LD (DSPCTL), A + ENDIF LD A,1 LD (SCRNMODE),A + LD A,SYSMODE_MZ80B ; Setup the board to run at 4MHz + OUT (SYSCTRL),A ; Activate LD A,TZSVC_CMD_LOAD80BIPL ; Request the I/O processor loads the IPL and switches frequency. JR SETBIOS diff --git a/software/asm/tzfs_bank2.asm b/software/asm/tzfs_bank2.asm index 09abbe7..e95bab2 100644 --- a/software/asm/tzfs_bank2.asm +++ b/software/asm/tzfs_bank2.asm @@ -387,7 +387,7 @@ HELPSCR: ; "--------- 40 column width -------------" ; Message table ; ;------------------------------------------------------------------------------- -MSGSON: DB "+ TZFS v1.1 **", 00DH, 000H ; Version 1.0-> first split from RFS v2.0 +MSGSON: DB "+ TZFS v1.2 **", 00DH, 000H ; Version 1.0-> first split from RFS v2.0 MSGNOTFND: DB "Not Found", 00DH, 000H MSGBADCMD: DB "???", 00DH, 000H MSGSDRERR: DB "SD Read error, Sec:",0FBH, 000H diff --git a/software/roms/CPM223.BIN b/software/roms/CPM223.BIN index 2df6987..2c518ab 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 d9f693f..4869794 100644 Binary files a/software/roms/tzfs.rom and b/software/roms/tzfs.rom differ