From c834ff216a3155b127780a9dee8fa34a43966d57 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 9 Oct 2021 08:51:52 +0800 Subject: [PATCH 01/23] Development Stub --- Source/Apps/Build.cmd | 1 + Source/Apps/Dev/Build.cmd | 14 ++++++++++++++ Source/Apps/Dev/Clean.cmd | 7 +++++++ Source/Apps/Dev/Makefile | 7 +++++++ Source/Apps/Dev/dev.asm | 32 ++++++++++++++++++++++++++++++++ Source/Apps/Makefile | 2 +- 6 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 Source/Apps/Dev/Build.cmd create mode 100644 Source/Apps/Dev/Clean.cmd create mode 100644 Source/Apps/Dev/Makefile create mode 100644 Source/Apps/Dev/dev.asm diff --git a/Source/Apps/Build.cmd b/Source/Apps/Build.cmd index da042c4c..44e085ac 100644 --- a/Source/Apps/Build.cmd +++ b/Source/Apps/Build.cmd @@ -32,6 +32,7 @@ pushd Tune && call Build || exit /b & popd pushd FAT && call Build || exit /b & popd pushd Test && call Build || exit /b & popd pushd ZMP && call Build || exit /b & popd +pushd Dev && call Build || exit /b & popd copy *.com %APPBIN%\ || exit /b diff --git a/Source/Apps/Dev/Build.cmd b/Source/Apps/Dev/Build.cmd new file mode 100644 index 00000000..b63e6163 --- /dev/null +++ b/Source/Apps/Dev/Build.cmd @@ -0,0 +1,14 @@ +@echo off +setlocal + +set TOOLS=../../../Tools +set PATH=%TOOLS%\tasm32;%PATH% +set TASMTABS=%TOOLS%\tasm32 + +echo Building Dev... +tasm -t80 -g3 -fFF dev.asm dev.com %dev.lst || exit /b + +copy /Y dev.com ..\..\..\Binary\Apps\ || exit /b +rem copy /Y *.ovr ..\..\..\Binary\Apps\ || exit /b +rem copy /Y *.hlp ..\..\..\Binary\Apps\ || exit /b +rem copy /Y *.doc ..\..\..\Binary\Apps\ || exit /b diff --git a/Source/Apps/Dev/Clean.cmd b/Source/Apps/Dev/Clean.cmd new file mode 100644 index 00000000..e9a0e341 --- /dev/null +++ b/Source/Apps/Dev/Clean.cmd @@ -0,0 +1,7 @@ +@echo off +setlocal + +if exist Dev.com del Dev.com +if exist *.hex del *.hex +if exist *.lst del *.lst +if exist *.zip del *.zip diff --git a/Source/Apps/Dev/Makefile b/Source/Apps/Dev/Makefile new file mode 100644 index 00000000..1328720e --- /dev/null +++ b/Source/Apps/Dev/Makefile @@ -0,0 +1,7 @@ +OBJECTS = Dev.com *.ovr *.hlp Dev.doc +DEST = ../../../Binary/Apps +TOOLS = ../../../Tools +OTHERS = *.hex +NODELETE = *.ovr *.doc *.hlp + +include $(TOOLS)/Makefile.inc diff --git a/Source/Apps/Dev/dev.asm b/Source/Apps/Dev/dev.asm new file mode 100644 index 00000000..e368b628 --- /dev/null +++ b/Source/Apps/Dev/dev.asm @@ -0,0 +1,32 @@ +;=============================================================================== +; Dev - Developement Stub +;=============================================================================== +; +; AUTHOR: +; +; Usage: +; +;_______________________________________________________________________________ +; +; Change Log: +; +;_______________________________________________________________________________ +; +; ToDo: +; +;_______________________________________________________________________________ +; +;=============================================================================== +; Definitions +;=============================================================================== +; +; +;=============================================================================== +; Code Section +;=============================================================================== +; +; + .org $100 + ret + .end + diff --git a/Source/Apps/Makefile b/Source/Apps/Makefile index 7ca650ad..929c60a8 100644 --- a/Source/Apps/Makefile +++ b/Source/Apps/Makefile @@ -1,7 +1,7 @@ OBJECTS = sysgen.com survey.com \ syscopy.com assign.com format.com talk.com mode.com rtc.com \ timer.com rtchb.com -SUBDIRS = XM FDU FAT Tune Test ZMP +SUBDIRS = XM FDU FAT Tune Test ZMP Dev DEST = ../../Binary/Apps TOOLS =../../Tools From 1db11ca924d29bca609979c3636f60c55c7f267e Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sun, 10 Oct 2021 13:56:13 +0800 Subject: [PATCH 02/23] Update uart.asm --- Source/HBIOS/uart.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/HBIOS/uart.asm b/Source/HBIOS/uart.asm index 06df7e96..3a67e081 100644 --- a/Source/HBIOS/uart.asm +++ b/Source/HBIOS/uart.asm @@ -81,7 +81,7 @@ UART_PREINIT: ; INIT UART4 BOARD CONFIG REGISTER (NO HARM IF IT IS NOT THERE) ; LD A,$80 ; SELECT 7.3728MHZ OSC & LOCK CONFIG REGISTER - OUT ($CF),A ; DO IT + OUT (UART4BASE+$0F),A ; DO IT ; ; SETUP THE DISPATCH TABLE ENTRIES ; @@ -518,7 +518,7 @@ UART_INITDEV1: ; FOR 750+, WE ENABLE THE 64-BYTE FIFO ; DLAB MUST STILL BE ON FOR ACCESS TO BIT 5 ; WE DO *NOT* ENABLE ANY OTHER FCR BITS HERE - ; BEACAUSE IT WILL SCREW UP THE 2552!!! + ; BECAUSE IT WILL SCREW UP THE 2552!!! LD A,%00100000 UART_OUTP(UART_FCR) ; DO IT ; From f3d4c9adb51a1cc92214653fc7eca7f24166b393 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Wed, 13 Oct 2021 22:17:54 +0800 Subject: [PATCH 03/23] Update hbios.inc --- Source/HBIOS/hbios.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/HBIOS/hbios.inc b/Source/HBIOS/hbios.inc index b88012db..0cb96410 100644 --- a/Source/HBIOS/hbios.inc +++ b/Source/HBIOS/hbios.inc @@ -190,7 +190,7 @@ RTCDEV_DS .EQU $00 ; DS1302 RTCDEV_BQ .EQU $10 ; BQ4845P RTCDEV_SIMH .EQU $20 ; SIMH RTCDEV_INT .EQU $30 ; PERIODIC INT TIMER -RTCDEV_DS7 .EQU $40 ; DS1302 (I2C) +RTCDEV_DS7 .EQU $40 ; DS1307 (I2C) RTCDEV_RP5 .EQU $50 ; RP5C01 ; ; VIDEO DEVICE IDS From 844b26d2e5cd1636935291ef0a85603dd0cddcd5 Mon Sep 17 00:00:00 2001 From: b1ackmai1er <39449559+b1ackmai1er@users.noreply.github.com> Date: Thu, 14 Oct 2021 18:16:13 +0800 Subject: [PATCH 04/23] Update Clean.cmd --- Source/Apps/Clean.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/Apps/Clean.cmd b/Source/Apps/Clean.cmd index 8e9810e6..22259b3a 100644 --- a/Source/Apps/Clean.cmd +++ b/Source/Apps/Clean.cmd @@ -13,3 +13,4 @@ pushd Tune && call Clean || exit /b 1 & popd pushd FAT && call Clean || exit /b 1 & popd pushd Test && call Clean || exit /b 1 & popd pushd ZMP && call Clean || exit /b 1 & popd +pushd ZMD && call Clean || exit /b 1 & popd From fc28738edc850deb90b9f1a3194704a08954f679 Mon Sep 17 00:00:00 2001 From: b1ackmai1er <39449559+b1ackmai1er@users.noreply.github.com> Date: Thu, 14 Oct 2021 18:25:58 +0800 Subject: [PATCH 06/23] Update Build.cmd --- Source/Apps/Build.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Apps/Build.cmd b/Source/Apps/Build.cmd index 44e085ac..cd71ed07 100644 --- a/Source/Apps/Build.cmd +++ b/Source/Apps/Build.cmd @@ -32,7 +32,7 @@ pushd Tune && call Build || exit /b & popd pushd FAT && call Build || exit /b & popd pushd Test && call Build || exit /b & popd pushd ZMP && call Build || exit /b & popd -pushd Dev && call Build || exit /b & popd +pushd ZMD && call Build || exit /b & popd copy *.com %APPBIN%\ || exit /b From 6d70dd92fb7222254ae318da5fb8be05959a36d1 Mon Sep 17 00:00:00 2001 From: b1ackmai1er <39449559+b1ackmai1er@users.noreply.github.com> Date: Thu, 14 Oct 2021 18:31:38 +0800 Subject: [PATCH 07/23] Update Makefile --- Source/Apps/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Apps/Makefile b/Source/Apps/Makefile index 929c60a8..ea2decb0 100644 --- a/Source/Apps/Makefile +++ b/Source/Apps/Makefile @@ -1,7 +1,7 @@ OBJECTS = sysgen.com survey.com \ syscopy.com assign.com format.com talk.com mode.com rtc.com \ timer.com rtchb.com -SUBDIRS = XM FDU FAT Tune Test ZMP Dev +SUBDIRS = XM FDU FAT Tune Test ZMP ZMD DEST = ../../Binary/Apps TOOLS =../../Tools From a6dcb90d363aa7916fd8e648460761ed626e9061 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Fri, 15 Oct 2021 22:32:39 +0800 Subject: [PATCH 08/23] Update usrrom.asm Ensure message goes to current console --- Source/HBIOS/usrrom.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/HBIOS/usrrom.asm b/Source/HBIOS/usrrom.asm index bbc54162..be9d80f4 100644 --- a/Source/HBIOS/usrrom.asm +++ b/Source/HBIOS/usrrom.asm @@ -44,7 +44,7 @@ COUT: PUSH AF PUSH DE PUSH HL LD B,01H - LD C,0 + LD C,80H LD E,A RST 08 POP HL @@ -59,7 +59,7 @@ CIN: PUSH BC PUSH DE PUSH HL LD B,00H - LD C,00H + LD C,80H RST 08 LD A,E POP HL From 24677d81be61e8b122e963ad8335ddbbec1847fc Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Fri, 15 Oct 2021 22:50:08 +0800 Subject: [PATCH 09/23] Update sn76489.asm Fix speed reversion --- Source/HBIOS/sn76489.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/HBIOS/sn76489.asm b/Source/HBIOS/sn76489.asm index 866b7c50..812ea274 100644 --- a/Source/HBIOS/sn76489.asm +++ b/Source/HBIOS/sn76489.asm @@ -93,7 +93,7 @@ SN7_VOLUME_OFF: #IFDEF SBCV2004 LD A,(HB_RTCVAL) - OR %11110111 ; SBC-V2-004+ CHANGE TO + AND %11110111 ; SBC-V2-004+ CHANGE TO OUT (RTCIO),A ; NORMAL CLOCK SPEED #ENDIF From 47d9c4008d26b1b938d9ce073323abeeb68e1e8f Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 01:59:46 +0800 Subject: [PATCH 10/23] Prelim speed management framework --- Source/HBIOS/Config/MBC_std.asm | 2 +- Source/HBIOS/cfg_master.asm | 2 ++ Source/HBIOS/cfg_mbc.asm | 2 ++ Source/HBIOS/cfg_sbc.asm | 2 ++ Source/HBIOS/hbios.asm | 29 +++++++++++++++++++++-------- Source/HBIOS/std.asm | 11 +++++++++++ 6 files changed, 39 insertions(+), 9 deletions(-) diff --git a/Source/HBIOS/Config/MBC_std.asm b/Source/HBIOS/Config/MBC_std.asm index ef9ca19a..adadab65 100644 --- a/Source/HBIOS/Config/MBC_std.asm +++ b/Source/HBIOS/Config/MBC_std.asm @@ -34,4 +34,4 @@ FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) ; DSKYENABLE .SET FALSE ; ENABLES DSKY -DSKYMODE .SET DSKYMODE_NG ; DSKY VERTSION: DSKYMODE_[V1|NG] +DSKYMODE .SET DSKYMODE_NG ; DSKY VERSION: DSKYMODE_[V1|NG] diff --git a/Source/HBIOS/cfg_master.asm b/Source/HBIOS/cfg_master.asm index 0694402e..da5f828b 100644 --- a/Source/HBIOS/cfg_master.asm +++ b/Source/HBIOS/cfg_master.asm @@ -20,6 +20,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 8000000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/cfg_mbc.asm b/Source/HBIOS/cfg_mbc.asm index 4cf7d9a1..4e502fc2 100644 --- a/Source/HBIOS/cfg_mbc.asm +++ b/Source/HBIOS/cfg_mbc.asm @@ -23,6 +23,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 8000000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/cfg_sbc.asm b/Source/HBIOS/cfg_sbc.asm index a4b11a76..aaa252f4 100644 --- a/Source/HBIOS/cfg_sbc.asm +++ b/Source/HBIOS/cfg_sbc.asm @@ -23,6 +23,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 8000000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 22847126..6e73abc6 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -187,6 +187,22 @@ RTCDEF .EQU 0 ; ALLOWS DRIVERS TO SET BITS RTCDEF .SET RTCDEF | %00000001 ; SC128 I2C SCL BIT #ENDIF ; +#IF (!(CPUSPDCAP==SPD_FIXED) & (PLATFORM==PLT_MBC)) +#IF (CPUSPDDEF==SPD_HIGH) +RTCDEF .SET RTCDEF | %00001000 ; DEFAULT SPEED HIGH +#ELSE +RTCDEF .SET RTCDEF | %00000000 ; DEFAULT SPEED LOW +#ENDIF +#ENDIF +; +#IF (!(CPUSPDCAP==SPD_FIXED) & (PLATFORM==PLT_SBC)) +#IF (CPUSPDDEF==SPD_HIGH) +RTCDEF .SET RTCDEF | %00000000 ; DEFAULT SPEED HIGH +#ELSE +RTCDEF .SET RTCDEF | %00001000 ; DEFAULT SPEED LOW +#ENDIF +#ENDIF +; ; ; #IFNDEF APPBOOT @@ -1068,6 +1084,11 @@ Z280_BOOTERR .TEXT "\r\n\r\n*** Application mode boot not supported under Z280 n ; DI ; NO INTERRUPTS IM 1 ; INTERRUPT MODE 1 + +#IF ((PLATFORM=PLT_MBC) | (PLATFORM=PLT_SBC)) + LD A,(HB_RTCVAL) ; SET DEFAULT + OUT (RTCIO),A ; SPEED +#ENDIF ; #IF (DIAGENABLE) LD A,%00000001 @@ -2327,14 +2348,6 @@ HB_WDZ: PRTX(STR_BANNER) #ENDIF ; -; EXPERIMENTAL!!! -; ENGAGE TURBO... -; -; LD A,(HB_RTCVAL) -; SET 3,A -; OUT (RTCIO),A -; LD (HB_RTCVAL),A -; INITSYS3: CALL PRTSUM ; PRINT UNIT/DEVICE SUMMARY TABLE ; diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index 2828a57f..73ac08c7 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -384,6 +384,17 @@ WDOG_NONE .EQU 0 ; NONE WDOG_EZZ80 .EQU 1 ; EASY Z80 WATCHDOG WDOG_SKZ .EQU 2 ; SK Z80 CPU W/ 512K ; +; SYSTEM SPEED CAPABILITIES +; +SPD_FIXED .EQU 0 ; PLATFORM SPEED FIXED AND CANNOT CHANGE SPEEDS +SPD_HILO .EQU 1 ; PLATFORM CAN CHANGE BETWEEN TWO SPEEDS +; +; SYSTEM SPEED CHARACTERISTICS +; +SPD_UNSUP .EQU 0 ; PLATFORM CAN CHANGE SPEEDS BUT IS UNSUPPORTED +SPD_HIGH .EQU 1 ; PLATFORM CAN CHANGE SPEED, STARTS HIGH +SPD_LOW .EQU 2 ; PLATFORM CAN CHANGE SPEED, STARTS LOW +; #INCLUDE "build.inc" ; INCLUDE USER CONFIG, ADD VARIANT, TIMESTAMP, & ROMSIZE ; #IF (BIOS == BIOS_WBW) From 7b9e1af15574ed8e0d20667b8aecbdc4b175671c Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 09:49:54 +0800 Subject: [PATCH 11/23] Speed change support --- Source/HBIOS/cfg_dyno.asm | 2 ++ Source/HBIOS/cfg_ezz80.asm | 2 ++ Source/HBIOS/cfg_mk4.asm | 2 ++ Source/HBIOS/cfg_n8.asm | 2 ++ Source/HBIOS/cfg_rcz180.asm | 2 ++ Source/HBIOS/cfg_rcz280.asm | 2 ++ Source/HBIOS/cfg_rcz80.asm | 2 ++ Source/HBIOS/cfg_scz180.asm | 2 ++ Source/HBIOS/cfg_una.asm | 2 ++ Source/HBIOS/cfg_zeta.asm | 2 ++ Source/HBIOS/cfg_zeta2.asm | 2 ++ 11 files changed, 22 insertions(+) diff --git a/Source/HBIOS/cfg_dyno.asm b/Source/HBIOS/cfg_dyno.asm index aaa5d317..5fea23d9 100644 --- a/Source/HBIOS/cfg_dyno.asm +++ b/Source/HBIOS/cfg_dyno.asm @@ -23,6 +23,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/cfg_ezz80.asm b/Source/HBIOS/cfg_ezz80.asm index d4adc42a..8546fe26 100644 --- a/Source/HBIOS/cfg_ezz80.asm +++ b/Source/HBIOS/cfg_ezz80.asm @@ -23,6 +23,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 10000000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/cfg_mk4.asm b/Source/HBIOS/cfg_mk4.asm index 10b6d8cc..837f7420 100644 --- a/Source/HBIOS/cfg_mk4.asm +++ b/Source/HBIOS/cfg_mk4.asm @@ -23,6 +23,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/cfg_n8.asm b/Source/HBIOS/cfg_n8.asm index 62395938..fcb9e4bb 100644 --- a/Source/HBIOS/cfg_n8.asm +++ b/Source/HBIOS/cfg_n8.asm @@ -23,6 +23,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/cfg_rcz180.asm b/Source/HBIOS/cfg_rcz180.asm index 112119e7..04279b9b 100644 --- a/Source/HBIOS/cfg_rcz180.asm +++ b/Source/HBIOS/cfg_rcz180.asm @@ -23,6 +23,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/cfg_rcz280.asm b/Source/HBIOS/cfg_rcz280.asm index 78457671..920d1ece 100644 --- a/Source/HBIOS/cfg_rcz280.asm +++ b/Source/HBIOS/cfg_rcz280.asm @@ -23,6 +23,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 24000000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/cfg_rcz80.asm b/Source/HBIOS/cfg_rcz80.asm index 5023e2c8..9dcdfa42 100644 --- a/Source/HBIOS/cfg_rcz80.asm +++ b/Source/HBIOS/cfg_rcz80.asm @@ -23,6 +23,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 7372800 ; CPU OSC FREQ IN MHZ INTMODE .EQU 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/cfg_scz180.asm b/Source/HBIOS/cfg_scz180.asm index 8078a6d9..ba0d5b9d 100644 --- a/Source/HBIOS/cfg_scz180.asm +++ b/Source/HBIOS/cfg_scz180.asm @@ -23,6 +23,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/cfg_una.asm b/Source/HBIOS/cfg_una.asm index 28552b42..33528538 100644 --- a/Source/HBIOS/cfg_una.asm +++ b/Source/HBIOS/cfg_una.asm @@ -18,6 +18,8 @@ BIOS .EQU BIOS_UNA ; HARDWARE BIOS: BIOS_[WBW|UNA] ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) ; diff --git a/Source/HBIOS/cfg_zeta.asm b/Source/HBIOS/cfg_zeta.asm index 23dc57e4..47fe482c 100644 --- a/Source/HBIOS/cfg_zeta.asm +++ b/Source/HBIOS/cfg_zeta.asm @@ -23,6 +23,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 20000000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/cfg_zeta2.asm b/Source/HBIOS/cfg_zeta2.asm index dbf6cee2..b14d62b1 100644 --- a/Source/HBIOS/cfg_zeta2.asm +++ b/Source/HBIOS/cfg_zeta2.asm @@ -23,6 +23,8 @@ TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; +CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO +CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW CPUOSC .EQU 20000000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) From 2625f6b6fce6d584222f101dd5679970377fcbec Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 10:02:19 +0800 Subject: [PATCH 12/23] Skeleton development directory --- Source/Apps/Build.cmd | 1 + Source/Apps/Clean.cmd | 1 + Source/Apps/Makefile | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/Apps/Build.cmd b/Source/Apps/Build.cmd index cd71ed07..6ead2264 100644 --- a/Source/Apps/Build.cmd +++ b/Source/Apps/Build.cmd @@ -33,6 +33,7 @@ pushd FAT && call Build || exit /b & popd pushd Test && call Build || exit /b & popd pushd ZMP && call Build || exit /b & popd pushd ZMD && call Build || exit /b & popd +pushd Dev && call Build || exit /b & popd copy *.com %APPBIN%\ || exit /b diff --git a/Source/Apps/Clean.cmd b/Source/Apps/Clean.cmd index 22259b3a..88cc92e6 100644 --- a/Source/Apps/Clean.cmd +++ b/Source/Apps/Clean.cmd @@ -14,3 +14,4 @@ pushd FAT && call Clean || exit /b 1 & popd pushd Test && call Clean || exit /b 1 & popd pushd ZMP && call Clean || exit /b 1 & popd pushd ZMD && call Clean || exit /b 1 & popd +pushd Dev && call Clean || exit /b 1 & popd diff --git a/Source/Apps/Makefile b/Source/Apps/Makefile index ea2decb0..5a77bb5e 100644 --- a/Source/Apps/Makefile +++ b/Source/Apps/Makefile @@ -1,7 +1,7 @@ OBJECTS = sysgen.com survey.com \ syscopy.com assign.com format.com talk.com mode.com rtc.com \ timer.com rtchb.com -SUBDIRS = XM FDU FAT Tune Test ZMP ZMD +SUBDIRS = XM FDU FAT Tune Test ZMP ZMD Dev DEST = ../../Binary/Apps TOOLS =../../Tools From 90b0eb872986cae9cf16db547725ae3d1b01b6c3 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 10:08:48 +0800 Subject: [PATCH 13/23] Update Makefile --- Source/Apps/Dev/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Apps/Dev/Makefile b/Source/Apps/Dev/Makefile index 1328720e..deb22e49 100644 --- a/Source/Apps/Dev/Makefile +++ b/Source/Apps/Dev/Makefile @@ -4,4 +4,6 @@ TOOLS = ../../../Tools OTHERS = *.hex NODELETE = *.ovr *.doc *.hlp +USETASM=1 + include $(TOOLS)/Makefile.inc From a4278f2e9e3813407ab479dad4195913e1e7bb3f Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 10:15:36 +0800 Subject: [PATCH 14/23] Update Makefile --- Source/Apps/Dev/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Apps/Dev/Makefile b/Source/Apps/Dev/Makefile index deb22e49..54028207 100644 --- a/Source/Apps/Dev/Makefile +++ b/Source/Apps/Dev/Makefile @@ -4,6 +4,6 @@ TOOLS = ../../../Tools OTHERS = *.hex NODELETE = *.ovr *.doc *.hlp -USETASM=1 +%.com: USETASM=1 include $(TOOLS)/Makefile.inc From 4bd371a36bdb5e4c2e71fbbe38c3b4e45ccab3cc Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 10:19:29 +0800 Subject: [PATCH 15/23] Update Makefile --- Source/Apps/Dev/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Apps/Dev/Makefile b/Source/Apps/Dev/Makefile index 54028207..d2afb052 100644 --- a/Source/Apps/Dev/Makefile +++ b/Source/Apps/Dev/Makefile @@ -3,7 +3,8 @@ DEST = ../../../Binary/Apps TOOLS = ../../../Tools OTHERS = *.hex NODELETE = *.ovr *.doc *.hlp +include $(TOOLS)/Makefile.inc %.com: USETASM=1 -include $(TOOLS)/Makefile.inc + From ed117bdc880142a9a60ec300645a0f03cbcc2927 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 10:26:46 +0800 Subject: [PATCH 16/23] Update Makefile --- Source/Apps/Dev/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Apps/Dev/Makefile b/Source/Apps/Dev/Makefile index d2afb052..b7f5e392 100644 --- a/Source/Apps/Dev/Makefile +++ b/Source/Apps/Dev/Makefile @@ -1,8 +1,8 @@ -OBJECTS = Dev.com *.ovr *.hlp Dev.doc +OBJECTS = Dev.com +DOCS = Dev.doc DEST = ../../../Binary/Apps +DOCDEST = ../../../Binary/Apps TOOLS = ../../../Tools -OTHERS = *.hex -NODELETE = *.ovr *.doc *.hlp include $(TOOLS)/Makefile.inc %.com: USETASM=1 From 479b6274513ede6edcbb28e3245c61b60c391ac8 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 10:30:53 +0800 Subject: [PATCH 17/23] Update Makefile --- Source/Apps/Dev/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Apps/Dev/Makefile b/Source/Apps/Dev/Makefile index b7f5e392..02b18e84 100644 --- a/Source/Apps/Dev/Makefile +++ b/Source/Apps/Dev/Makefile @@ -5,6 +5,6 @@ DOCDEST = ../../../Binary/Apps TOOLS = ../../../Tools include $(TOOLS)/Makefile.inc -%.com: USETASM=1 +Dev.com: USETASM=1 From aa1acc9bf8f751e64b5e754eec46b8c37faca0b6 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 10:33:41 +0800 Subject: [PATCH 18/23] Update Makefile --- Source/Apps/Dev/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Apps/Dev/Makefile b/Source/Apps/Dev/Makefile index 02b18e84..231c967d 100644 --- a/Source/Apps/Dev/Makefile +++ b/Source/Apps/Dev/Makefile @@ -1,10 +1,10 @@ -OBJECTS = Dev.com -DOCS = Dev.doc +OBJECTS = dev.com +DOCS = dev.doc DEST = ../../../Binary/Apps DOCDEST = ../../../Binary/Apps TOOLS = ../../../Tools include $(TOOLS)/Makefile.inc -Dev.com: USETASM=1 +dev.com: USETASM=1 From 3ac788374b843a777dddb716cbd31a2f40e261df Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 10:37:24 +0800 Subject: [PATCH 19/23] Update Makefile --- Source/Apps/Dev/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Apps/Dev/Makefile b/Source/Apps/Dev/Makefile index 231c967d..d91d97e2 100644 --- a/Source/Apps/Dev/Makefile +++ b/Source/Apps/Dev/Makefile @@ -5,6 +5,6 @@ DOCDEST = ../../../Binary/Apps TOOLS = ../../../Tools include $(TOOLS)/Makefile.inc -dev.com: USETASM=1 +%.com: USETASM=1 From 3fd8c798989ad5618206df3fb4077a5ebdfd2c79 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 10:43:50 +0800 Subject: [PATCH 20/23] getting linux build to work --- Source/Apps/Dev/Clean.cmd | 2 +- Source/Apps/Dev/Makefile | 2 +- Source/Apps/Dev/dev.txt | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 Source/Apps/Dev/dev.txt diff --git a/Source/Apps/Dev/Clean.cmd b/Source/Apps/Dev/Clean.cmd index e9a0e341..00648f91 100644 --- a/Source/Apps/Dev/Clean.cmd +++ b/Source/Apps/Dev/Clean.cmd @@ -1,7 +1,7 @@ @echo off setlocal -if exist Dev.com del Dev.com +if exist dev.com del dev.com if exist *.hex del *.hex if exist *.lst del *.lst if exist *.zip del *.zip diff --git a/Source/Apps/Dev/Makefile b/Source/Apps/Dev/Makefile index d91d97e2..56c24fce 100644 --- a/Source/Apps/Dev/Makefile +++ b/Source/Apps/Dev/Makefile @@ -1,5 +1,5 @@ OBJECTS = dev.com -DOCS = dev.doc +DOCS = dev.txt DEST = ../../../Binary/Apps DOCDEST = ../../../Binary/Apps TOOLS = ../../../Tools diff --git a/Source/Apps/Dev/dev.txt b/Source/Apps/Dev/dev.txt new file mode 100644 index 00000000..60301781 --- /dev/null +++ b/Source/Apps/Dev/dev.txt @@ -0,0 +1 @@ +THE DEV DIRECTORY IS A SKELETON DIRECTORY TO AID SETTING UP A BUILD PROCESS FOR A NEW PROGRAM From 90a1f814c1558075f9dbf5220c64ecc1429c99a4 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 17:51:33 +0800 Subject: [PATCH 21/23] Update hbios.asm --- Source/HBIOS/hbios.asm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 6e73abc6..6b59ef54 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -1099,7 +1099,8 @@ Z280_BOOTERR .TEXT "\r\n\r\n*** Application mode boot not supported under Z280 n XOR A ; LED IS INVERTED, TURN IT ON #ENDIF #IF (LEDMODE == LEDMODE_RTC) - LD A,%00000001 ; LED 0 + LD A,(HB_RTCVAL) + OR %00000001 ; LED 0 LD (HB_RTCVAL),A ; SAVE TO SHADOW REGISTER #ENDIF OUT (LEDPORT),A From b0d4458122c4b43c7ca99c203379cfac2874b709 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 19:12:07 +0800 Subject: [PATCH 22/23] Update updater.asm --- Source/HBIOS/updater.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/HBIOS/updater.asm b/Source/HBIOS/updater.asm index b65d70c3..44191b42 100644 --- a/Source/HBIOS/updater.asm +++ b/Source/HBIOS/updater.asm @@ -1467,7 +1467,7 @@ BAUDTBL:.DB "75$" ; 0 0 ;====================================================================== ; CLKTBL: .DB 6 ; 1 4800 - .DB 7 ; 2 9600 + .DB 6 ; 2 4800 .DB 7 ; 3 9600 .DB 8 ; 4 19200 .DB 8 ; 5 19200 From 6c55035ddfb0cde3619eaf7ab0968c3c3bc5a7e3 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 16 Oct 2021 19:46:22 +0800 Subject: [PATCH 23/23] Speed switch support --- Source/HBIOS/dma.asm | 95 +++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 55 deletions(-) diff --git a/Source/HBIOS/dma.asm b/Source/HBIOS/dma.asm index e8cf8153..a7eaf7d6 100644 --- a/Source/HBIOS/dma.asm +++ b/Source/HBIOS/dma.asm @@ -25,15 +25,32 @@ DMA_RESET .equ $c3 DMA_FBACK .equ TRUE ; ALLOW FALLBACK TO SOFTWARE DMA_USEHS .equ TRUE ; USE CLOCK DIVIDER ; -#IF (DMAMODE=DMAMODE_MBC) -DMA_RDY .EQU %00000000 -DMA_FORCE .EQU 1 -;DMA_USEHS .SET FALSE -#ENDIF -#IF (DMAMODE=DMAMODE_ECB) DMA_RDY .EQU %00001000 DMA_FORCE .EQU 0 -DMA_USEHS .SET TRUE + +#IF (DMA_USEHS & (DMAMODE=DMAMODE_MBC)) +#IF (CPUSPDDEF=SPD_HIGH) +#DEFINE DMAIOSLO LD A,(HB_RTCVAL) \ AND %11110111 \ OUT (RTCIO),A +#DEFINE DMAIONOR PUSH AF \ LD A,(HB_RTCVAL) \ OR %00001000 \ OUT (RTCIO),A \ POP AF +#ELSE +#DEFINE DMAIOSLO \; +#DEFINE DMAIONOR \; +#ENDIF +#ENDIF +; +#IF (DMA_USEHS & (DMAMODE=DMAMODE_ECB)) +#IF (CPUSPDDEF=SPD_HIGH) +#DEFINE DMAIOSLO LD A,(HB_RTCVAL) \ OR %00001000 \ OUT (RTCIO),A +#DEFINE DMAIONOR PUSH AF \ LD A,(HB_RTCVAL) \ AND %11110111 \ OUT (RTCIO),A \ POP AF +#ELSE +#DEFINE DMAIOSLO \; +#DEFINE DMAIONOR \; +#ENDIF +#ENDIF + +#IF (!DMA_USEHS) +#DEFINE DMAIOSLO \; +#DEFINE DMAIONOR \; #ENDIF ; ;================================================================================================== @@ -49,11 +66,7 @@ DMA_INIT: LD A,DMA_FORCE out (DMABASE+1),a ; force ready off ; -#IF (DMA_USEHS) - ld a,(HB_RTCVAL) - or %00001000 ; half - out (RTCIO),a ; clock -#ENDIF + DMAIOSLO ; call DMAProbe ; do we have a dma? jr nz,DMA_NOTFOUND @@ -68,13 +81,8 @@ DMA_INIT: xor a ; set status ; DMA_EXIT: -#IF (DMA_USEHS) - push af - ld a,(HB_RTCVAL) - and %11110111 ; full - out (RTCIO),a ; clock - pop af -#ENDIF + DMAIONOR + ret ; DMA_NOTFOUND: @@ -163,11 +171,8 @@ DMALDIR: ld b,DMACopy_Len ; dma command ld c,DMABASE ; block ; -#IF (DMA_USEHS) - ld a,(HB_RTCVAL) - or %00001000 ; half - out (RTCIO),a ; clock -#ENDIF + DMAIOSLO +; di otir ; load and execute dma ei @@ -177,13 +182,9 @@ DMALDIR: in a,(DMABASE) ; set non-zero and %00111011 ; if failed sub %00011011 -#IF (DMA_USEHS) - push af - ld a,(HB_RTCVAL) - and %11110111 ; full - out (RTCIO),a ; clock - pop af -#ENDIF + + DMAIONOR + ret ; DMACopy ;.db DMA_DISABLE ; R6-Command Disable DMA @@ -216,11 +217,8 @@ DMAOTIR: ld b,DMAOut_Len ; dma command ld c,DMABASE ; block ; -#IF (DMA_USEHS) - ld a,(HB_RTCVAL) - or %00001000 ; half - out (RTCIO),a ; clock -#ENDIF + DMAIOSLO + di otir ; load and execute dma ei @@ -231,13 +229,8 @@ DMAOTIR: and %00111011 ; if failed sub %00011011 ; -#IF (DMA_USEHS) - push af - ld a,(HB_RTCVAL) - and %11110111 ; full - out (RTCIO),a ; clock - pop af -#ENDIF + DMAIONOR + ret ; DMAOutCode ;.db DMA_DISABLE ; R6-Command Disable DMA @@ -275,11 +268,8 @@ DMAINIR: ld b,DMAIn_Len ; dma command ld c,DMABASE ; block ; -#IF (DMA_USEHS) - ld a,(HB_RTCVAL) - or %00001000 ; half - out (RTCIO),a ; clock -#ENDIF + DMAIOSLO +; di otir ; load and execute dma ei @@ -290,13 +280,8 @@ DMAINIR: and %00111011 ; if failed sub %00011011 ; -#IF (DMA_USEHS) - push af - ld a,(HB_RTCVAL) - and %11110111 ; full - out (RTCIO),a ; clock - pop af -#ENDIF + DMAIONOR +; ret ; DMAInCode ;.db DMA_DISABLE ; R6-Command Disable DMA