diff --git a/common/tranzputer.c b/common/tranzputer.c index 00d4e18..b2d996b 100644 --- a/common/tranzputer.c +++ b/common/tranzputer.c @@ -1937,8 +1937,11 @@ void loadTranZPUterDefaultROMS(void) { fillZ80Memory(MZ_MROM_STACK_ADDR, MZ_MROM_STACK_SIZE, 0x00, 1); } - z80Control.disableRefresh = 1; + + // No longer need refresh on the mainboard as all operations are in static RAM. + z80Control.disableRefresh = 1; } + return; } // Method to set the service status flag on the Z80 (and duplicated in the internal @@ -2867,6 +2870,22 @@ void processServiceRequest(void) status=svcCacheDir((const char *)svcControl.directory, 0); break; + // Load the 40 column version of the SA1510 bios into memory. + case TZSVC_CMD_LOAD40BIOS: + if((status=loadZ80Memory((const char *)MZ_ROM_SA1510_40C, 0, MZ_MROM_ADDR, 0, 0, 1)) != FR_OK) + { + printf("Error: Failed to load %s into tranZPUter memory.\n", MZ_ROM_SA1510_40C); + } + break; + + // Load the 80 column version of the SA1510 bios into memory. + case TZSVC_CMD_LOAD80BIOS: + if((status=loadZ80Memory((const char *)MZ_ROM_SA1510_80C, 0, MZ_MROM_ADDR, 0, 0, 1)) != FR_OK) + { + printf("Error: Failed to load %s into tranZPUter memory.\n", MZ_ROM_SA1510_80C); + } + break; + default: break; } diff --git a/include/tools.h b/include/tools.h index 8856d0c..8758a14 100644 --- a/include/tools.h +++ b/include/tools.h @@ -103,7 +103,7 @@ extern "C" { #define CMD_APP_MBASIC 141 // Mini Basic #define CMD_APP_KILO 142 // Kilo Editor #define CMD_APP_ED 143 // Ed Editor -#define CMD_TZ_ZPU 150 // tranZPUter interface/test. +#define CMD_TZ_TZPU 150 // tranZPUter interface/test. #define CMD_TZ_LOAD 151 // tranZPUter memory load/save tool. #define CMD_TZ_DUMP 152 // tranZPUter memory dump tool. #define CMD_TZ_CLEAR 153 // tranZPUter memory clear tool. diff --git a/include/tranzputer.h b/include/tranzputer.h index 8facdd7..16f1199 100755 --- a/include/tranzputer.h +++ b/include/tranzputer.h @@ -115,6 +115,8 @@ #define TZSVC_CMD_SAVEFILE 0x09 // Service command to save a file directly from tranZPUter memory. #define TZSVC_CMD_ERASEFILE 0x0A // Service command to erase a file on the SD card. #define TZSVC_CMD_CHANGEDIR 0x0B // Service command to change active directory on the SD card. +#define TZSVC_CMD_LOAD40BIOS 0x20 // Service command requesting that the 40 column version of the SA1510 BIOS is loaded. +#define TZSVC_CMD_LOAD80BIOS 0x21 // Service command requesting that the 80 column version of the SA1510 BIOS is loaded. #define TZSVC_DEFAULT_DIR "MZF" // Default directory where MZF files are stored. #define TZSVC_DEFAULT_EXT "MZF" // Default file extension for MZF files. #define TZSVC_DEFAULT_WILDCARD "*" // Default wildcard file matching. diff --git a/libraries/lib/libimath2-k64f.a b/libraries/lib/libimath2-k64f.a index 8fb4532..1382a59 100644 Binary files a/libraries/lib/libimath2-k64f.a and b/libraries/lib/libimath2-k64f.a differ diff --git a/libraries/lib/libumansi-k64f.a b/libraries/lib/libumansi-k64f.a index 8ec43aa..ae91167 100644 Binary files a/libraries/lib/libumansi-k64f.a and b/libraries/lib/libumansi-k64f.a differ diff --git a/libraries/lib/libummath-k64f.a b/libraries/lib/libummath-k64f.a index 6420cd7..175dc5f 100644 Binary files a/libraries/lib/libummath-k64f.a and b/libraries/lib/libummath-k64f.a differ diff --git a/libraries/lib/libummathf-k64f.a b/libraries/lib/libummathf-k64f.a index 292edf2..8888f23 100644 Binary files a/libraries/lib/libummathf-k64f.a and b/libraries/lib/libummathf-k64f.a differ diff --git a/libraries/lib/libummisc-k64f.a b/libraries/lib/libummisc-k64f.a index c64e663..029e7d3 100644 Binary files a/libraries/lib/libummisc-k64f.a and b/libraries/lib/libummisc-k64f.a differ diff --git a/libraries/lib/libumstdio-k64f.a b/libraries/lib/libumstdio-k64f.a index a28319e..a77edb2 100644 Binary files a/libraries/lib/libumstdio-k64f.a and b/libraries/lib/libumstdio-k64f.a differ diff --git a/startup/app_k64f_crt0.s b/startup/app_k64f_crt0.s index ed26070..0772580 100644 --- a/startup/app_k64f_crt0.s +++ b/startup/app_k64f_crt0.s @@ -372,5 +372,5 @@ BSS_END: .word __bss_section_end__ .equ funcAddr, funcAddr+funcNext; defapifunc loadTranZPUterDefaultROMS funcAddr .equ funcAddr, funcAddr+funcNext; - defapifunc convertSharpFilename funcAddr + defapifunc convertSharpFilenameToAscii funcAddr .end diff --git a/startup/mk20dx128.c b/startup/mk20dx128.c index 373f869..0089c28 100644 --- a/startup/mk20dx128.c +++ b/startup/mk20dx128.c @@ -1021,7 +1021,7 @@ void _ZPUTA_Vectors(void) __asm__ volatile ("b getZ80IO"); __asm__ volatile ("b clearZ80Reset"); __asm__ volatile ("b loadTranZPUterDefaultROMS"); - __asm__ volatile ("b convertSharpFilename"); + __asm__ volatile ("b convertSharpFilenameToAscii"); #endif } diff --git a/zOS/src/zOS.cpp b/zOS/src/zOS.cpp index 3dc8a1c..077516b 100644 --- a/zOS/src/zOS.cpp +++ b/zOS/src/zOS.cpp @@ -283,7 +283,7 @@ printf("Got an IO request, addr:%02x, Data:%02x\n", ioAddr, ioData); // Indicate the thread is free. // G.ctrlThreadBusy = 0; - threads.delay(100); + threads.delay(1); threads.yield(); } }