From e418b04c3ee816f5c7dfabb45bdcf6ba648d00fb Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Sat, 2 May 2020 10:54:32 -0700 Subject: [PATCH 1/6] Regenerate Documentation --- Doc/RomWBW Applications.pdf | Bin 140215 -> 140215 bytes Doc/RomWBW Architecture.pdf | Bin 407699 -> 407696 bytes Doc/RomWBW Disk Catalog.pdf | Bin 130986 -> 130986 bytes Doc/RomWBW Getting Started.pdf | Bin 166329 -> 166329 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 0cce82cc57c8f1d4cd95796af3305940b9f32558..cd31985a96ad1ef9b6c55ebbd9a823b0ea22b51b 100644 GIT binary patch delta 111 zcmdmfoMZcOj)pCa8o$_$3=K@oO^v7P|6-JZakdBjVr12Hc5-nsaW*nHb#`?zw*(?* eS3@^vGXqC6b7warQ&Sf^1sg(2rq5Dlk_7+|G#$AB delta 111 zcmdmfoMZcOj)pCa8o$^L4b4rA42-7h|6-JZakdBjVr12HHZ(FdH88X^ceOAvHFtA% fGIuqzbTV;tax%6sb~ZD0vs17kq-6RmWhPkw>(U($ diff --git a/Doc/RomWBW Architecture.pdf b/Doc/RomWBW Architecture.pdf index e75d81649a17f037fdfab459b5184fa6aeb00975..37499de52b3b315948353b9e6c18ab8460694c71 100644 GIT binary patch delta 20196 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 MSuHJd+ZnR|2WhWkIsgCw delta 20271 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 L5hE;ZCd&OE3%IA$ diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index 4a7bcc18830902a343f4b228f48e8c718d289283..d0605bdb92893effa608e7d9e063c8fdb761b9a3 100644 GIT binary patch delta 133 zcmZ4WpMBMT_J%Etr(bFr85)>a7#Qgqn5!EYsB3cR`{t*(B$lKqXt-Dz85kKDm>NKp zZ2$U_F;vvq(!$iz&D_z_)X><-$i>jb$jr>t#L>jq%+SKZz|6(OPQiwdlIgww8D#+o CjU$x+ delta 133 zcmZ4WpMBMT_J%Etr(bFr8k(CJ85-&un5!EYsB3cR`{t*(B$lKqXt-Dz85kKDm>NKp zZ2$U_F;vvq)x^xn*}~A!#Ms!-(Zt2j$<@u+!pX$k&D6}u$<)HoPQiwdlIgww8D#+( CawH1? diff --git a/Doc/RomWBW Getting Started.pdf b/Doc/RomWBW Getting Started.pdf index 31c94949fe461a81fff7381f75c90cdc16676f49..581f0ffce677f01a8d3a4dde6cadca3f23a2801a 100644 GIT binary patch delta 111 zcmdlvnQP}{u7(!IElg}NY(|C#Cgvv7d19Dkq3rGYF-%&z&ZcIrmd>UoM&?E)hOQRQ f=7x^OZmvL4BXbvLa|2f=I|Um;N~X{0WRe8{8;u(~ delta 111 zcmdlvnQP}{u7(!IElg}NY=(yBCWfZdd19Dkq3rGYF-%&z&X#5tu8u~AW(MX!!r0Z! e*woU(&C=1$&C=P$(A3z>PQiwdlIe3gnPdSI2^#$X From a457e797ee50248ad9a193584cf41f357032363c Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Sat, 2 May 2020 13:00:15 -0700 Subject: [PATCH 2/6] Update sd.asm Significantly improve compatibility of SD Cards w/ Z180 -K CPU. --- Source/HBIOS/sd.asm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Source/HBIOS/sd.asm b/Source/HBIOS/sd.asm index 1fefcfa7..1568942b 100644 --- a/Source/HBIOS/sd.asm +++ b/Source/HBIOS/sd.asm @@ -1335,7 +1335,19 @@ SD_EXECCMD1: ; THE FIRST FILL BYTE IS DISCARDED! THIS HACK IS REQUIRED BY ; STUPID SD CARD ADAPTERS THAT NOW OMIT THE MISO PULL-UP. SEE ; COMMENTS AT TOP OF THIS FILE. - CALL SD_GET ; GET A BYTE AND DISCARD IT +; + ;CALL SD_GET ; GET A BYTE AND DISCARD IT +; + ; THE Z180 -K REVISION CSIO DOES NOT KEEP MOSI HIGH WHEN + ; RECEIVING VIA MISO. INSTEAD MOSI IS LEFT AT WHICHEVER LOGIC + ; LEVEL IT WAS LAST SET TO. THIS CAUSES SOME SD CARDS A PROBLEM + ; BECAUSE THEY EXPECT MOSI TO BE CONSISTENTLY HIGH WHEN IDLE. + ; BY USING A PUT INSTEAD OF A GET, WE CAN FORCE MOSI TO BE + ; LEFT AT THE PROPER LOGIC LEVEL. THE SD CARD DOES NOT CARE + ; IF A PUT OR A GET IS USED TO IGNORE THE BYTE BECAUSE THE + ; CLOCK RUNS IN EITHER CASE. + LD A,$FF ; KEEP MOSI HI + CALL SD_PUT ; SEND 8 CLOCKS #ENDIF ; ; GET RESULT @@ -1661,6 +1673,11 @@ SD_SELECT2: #ENDIF LD (SD_OPRVAL),A OUT (SD_OPRREG),A +;; +;#IF ((SDMODE == SDMODE_CSIO) | (SDMODE == SDMODE_MK4) | (SDMODE == SDMODE_SC)) +; CALL DLY32 ; DELAY FOR FINAL BIT +;#ENDIF +; RET ; ; DESELECT CARD From 1a8cfb91e72b707fdcc6add0ac30bd78c8c26434 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Sat, 2 May 2020 14:58:07 -0700 Subject: [PATCH 3/6] Changes from Dean Netherton - Allow immediate autoboot (no timeout) - Allow configuring number of floppy devices --- Doc/ChangeLog.txt | 3 +++ Source/HBIOS/cfg_dyno.asm | 3 ++- Source/HBIOS/cfg_ezz80.asm | 3 ++- Source/HBIOS/cfg_master.asm | 3 ++- Source/HBIOS/cfg_mk4.asm | 3 ++- Source/HBIOS/cfg_n8.asm | 3 ++- Source/HBIOS/cfg_rcz180.asm | 3 ++- Source/HBIOS/cfg_rcz80.asm | 3 ++- Source/HBIOS/cfg_sbc.asm | 3 ++- Source/HBIOS/cfg_scz180.asm | 3 ++- Source/HBIOS/cfg_una.asm | 2 +- Source/HBIOS/cfg_zeta.asm | 3 ++- Source/HBIOS/cfg_zeta2.asm | 3 ++- Source/HBIOS/fd.asm | 8 +++++--- Source/HBIOS/romldr.asm | 23 +++++++++++++---------- Source/ver.inc | 2 +- Source/ver.lib | 2 +- 17 files changed, 46 insertions(+), 27 deletions(-) diff --git a/Doc/ChangeLog.txt b/Doc/ChangeLog.txt index f6324c6e..4a4f72e5 100644 --- a/Doc/ChangeLog.txt +++ b/Doc/ChangeLog.txt @@ -15,6 +15,9 @@ Version 3.1 - DEN: Updated TMS to optionally trigger SYSTIMER interrupt (TMSTIMENABLE) - J?M: Updated KERMIT applications with VT100 terminal support - A?C: Added support for EPFDC +- PMS: Added AY driver with new sound API support +- DEN: Allow immediate autoboot startup +- DEN: Support for floppy device count parameter Version 3.0.1 ------------- diff --git a/Source/HBIOS/cfg_dyno.asm b/Source/HBIOS/cfg_dyno.asm index 23f330c7..681ed38f 100644 --- a/Source/HBIOS/cfg_dyno.asm +++ b/Source/HBIOS/cfg_dyno.asm @@ -21,7 +21,7 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD) USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; -BOOT_TIMEOUT .EQU 0 ; AUTO BOOT TIMEOUT IN SECONDS, 0 TO DISABLE +BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 @@ -103,6 +103,7 @@ MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .EQU FDMODE_DYNO ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2) FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] diff --git a/Source/HBIOS/cfg_ezz80.asm b/Source/HBIOS/cfg_ezz80.asm index 189fa5f6..5e9eab86 100644 --- a/Source/HBIOS/cfg_ezz80.asm +++ b/Source/HBIOS/cfg_ezz80.asm @@ -21,7 +21,7 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD) USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; -BOOT_TIMEOUT .EQU 0 ; AUTO BOOT TIMEOUT IN SECONDS, 0 TO DISABLE +BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; CPUOSC .EQU 10000000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 @@ -128,6 +128,7 @@ MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2) FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] diff --git a/Source/HBIOS/cfg_master.asm b/Source/HBIOS/cfg_master.asm index c8255606..3ec6f45f 100644 --- a/Source/HBIOS/cfg_master.asm +++ b/Source/HBIOS/cfg_master.asm @@ -18,7 +18,7 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD) USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; -BOOT_TIMEOUT .EQU 0 ; AUTO BOOT TIMEOUT IN SECONDS, 0 TO DISABLE +BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; CPUOSC .EQU 8000000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 @@ -166,6 +166,7 @@ MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .EQU FDMODE_NONE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2) FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] diff --git a/Source/HBIOS/cfg_mk4.asm b/Source/HBIOS/cfg_mk4.asm index da75f165..4b7fb617 100644 --- a/Source/HBIOS/cfg_mk4.asm +++ b/Source/HBIOS/cfg_mk4.asm @@ -21,7 +21,7 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD) USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; -BOOT_TIMEOUT .EQU 0 ; AUTO BOOT TIMEOUT IN SECONDS, 0 TO DISABLE +BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 @@ -121,6 +121,7 @@ MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .EQU FDMODE_DIDE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2) FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] diff --git a/Source/HBIOS/cfg_n8.asm b/Source/HBIOS/cfg_n8.asm index d32b7edf..9b80a5a9 100644 --- a/Source/HBIOS/cfg_n8.asm +++ b/Source/HBIOS/cfg_n8.asm @@ -21,7 +21,7 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD) USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; -BOOT_TIMEOUT .EQU 0 ; AUTO BOOT TIMEOUT IN SECONDS, 0 TO DISABLE +BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 @@ -124,6 +124,7 @@ MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .EQU FDMODE_N8 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2) FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] diff --git a/Source/HBIOS/cfg_rcz180.asm b/Source/HBIOS/cfg_rcz180.asm index bd6e086c..cceca22f 100644 --- a/Source/HBIOS/cfg_rcz180.asm +++ b/Source/HBIOS/cfg_rcz180.asm @@ -21,7 +21,7 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD) USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; -BOOT_TIMEOUT .EQU 0 ; AUTO BOOT TIMEOUT IN SECONDS, 0 TO DISABLE +BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 @@ -131,6 +131,7 @@ MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2) FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] diff --git a/Source/HBIOS/cfg_rcz80.asm b/Source/HBIOS/cfg_rcz80.asm index b2b072d0..f39ca40a 100644 --- a/Source/HBIOS/cfg_rcz80.asm +++ b/Source/HBIOS/cfg_rcz80.asm @@ -21,7 +21,7 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD) USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; -BOOT_TIMEOUT .EQU 0 ; AUTO BOOT TIMEOUT IN SECONDS, 0 TO DISABLE +BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; CPUOSC .EQU 7372800 ; CPU OSC FREQ IN MHZ INTMODE .EQU 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 @@ -137,6 +137,7 @@ MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2) FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] diff --git a/Source/HBIOS/cfg_sbc.asm b/Source/HBIOS/cfg_sbc.asm index f5da3829..f7def400 100644 --- a/Source/HBIOS/cfg_sbc.asm +++ b/Source/HBIOS/cfg_sbc.asm @@ -21,7 +21,7 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD) USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; -BOOT_TIMEOUT .EQU 0 ; AUTO BOOT TIMEOUT IN SECONDS, 0 TO DISABLE +BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; CPUOSC .EQU 8000000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 @@ -125,6 +125,7 @@ MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .EQU FDMODE_DIO3 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2) FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] diff --git a/Source/HBIOS/cfg_scz180.asm b/Source/HBIOS/cfg_scz180.asm index 9183f448..44d10d5b 100644 --- a/Source/HBIOS/cfg_scz180.asm +++ b/Source/HBIOS/cfg_scz180.asm @@ -21,7 +21,7 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD) USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; -BOOT_TIMEOUT .EQU 0 ; AUTO BOOT TIMEOUT IN SECONDS, 0 TO DISABLE +BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 @@ -126,6 +126,7 @@ MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2) FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] diff --git a/Source/HBIOS/cfg_una.asm b/Source/HBIOS/cfg_una.asm index 058eca9e..10821319 100644 --- a/Source/HBIOS/cfg_una.asm +++ b/Source/HBIOS/cfg_una.asm @@ -16,7 +16,7 @@ PLATFORM .EQU PLT_UNA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] BIOS .EQU BIOS_UNA ; HARDWARE BIOS: BIOS_[WBW|UNA] ; -BOOT_TIMEOUT .EQU 0 ; AUTO BOOT TIMEOUT IN SECONDS, 0 TO DISABLE +BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 diff --git a/Source/HBIOS/cfg_zeta.asm b/Source/HBIOS/cfg_zeta.asm index a8b9eea6..95670c4e 100644 --- a/Source/HBIOS/cfg_zeta.asm +++ b/Source/HBIOS/cfg_zeta.asm @@ -21,7 +21,7 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD) USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; -BOOT_TIMEOUT .EQU 0 ; AUTO BOOT TIMEOUT IN SECONDS, 0 TO DISABLE +BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; CPUOSC .EQU 20000000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 0 ; INTERRUPT MODE: 0=NONE, 1=MODE 1, 2=MODE 2 @@ -100,6 +100,7 @@ MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .EQU FDMODE_ZETA ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +FDCNT .EQU 1 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2) FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] diff --git a/Source/HBIOS/cfg_zeta2.asm b/Source/HBIOS/cfg_zeta2.asm index d76fcef6..ee5b4b2d 100644 --- a/Source/HBIOS/cfg_zeta2.asm +++ b/Source/HBIOS/cfg_zeta2.asm @@ -21,7 +21,7 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD) USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) ; -BOOT_TIMEOUT .EQU 0 ; AUTO BOOT TIMEOUT IN SECONDS, 0 TO DISABLE +BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; CPUOSC .EQU 20000000 ; CPU OSC FREQ IN MHZ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 @@ -110,6 +110,7 @@ MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .EQU FDMODE_ZETA2 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +FDCNT .EQU 1 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2) FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] diff --git a/Source/HBIOS/fd.asm b/Source/HBIOS/fd.asm index 5c8f7bc0..b35c1e73 100644 --- a/Source/HBIOS/fd.asm +++ b/Source/HBIOS/fd.asm @@ -101,7 +101,7 @@ FRC_TOSEEKWT .EQU -15H ; EB ; ; FD DEVICE CONFIGURATION ; -FD_DEVCNT .EQU 2 ; 2 DEVICES SUPPORTED +FD_DEVCNT .EQU FDCNT ; 2 DEVICES SUPPORTED FD_CFGSIZ .EQU 8 ; SIZE OF CFG TBL ENTRIES ; ; PER DEVICE DATA OFFSETS @@ -645,7 +645,9 @@ FD_INIT: PRTS("FD: IO=0x$") LD A,FDC_MSR CALL PRTHEXBYTE - PRTS(" UNITS=2$") + PRTS(" UNITS=$") + LD A, FD_DEVCNT + '0' + CALL COUT ; ; SETUP THE DISPATCH TABLE ENTRIES ; @@ -1306,7 +1308,7 @@ FC_MOTORON: ; LD BC,300H ; LD BC,50H ; LD (FCD_IDLECNT),BC - + LD A,(CB_CPUMHZ) RLCA LD (FCD_IDLECNT),A diff --git a/Source/HBIOS/romldr.asm b/Source/HBIOS/romldr.asm index 884c5cce..89ec8d62 100644 --- a/Source/HBIOS/romldr.asm +++ b/Source/HBIOS/romldr.asm @@ -164,20 +164,22 @@ start1: call pstr ; do it call clrbuf ; zero fill the cmd buffer ; -#if (BOOT_TIMEOUT > 0) +#if (BOOT_TIMEOUT != -1) ; Initialize auto command timeout downcounter or $FF ; auto cmd active value ld (acmd_act),a ; set flag ld bc,BOOT_TIMEOUT * 100 ; hundredths of seconds ld (acmd_to),bc ; save auto cmd timeout - ;ld a,b ; check for - ;or c ; ... zero - ;jr nz,prompt ; not zero, prompt w/ timeout - ;call nl2 ; formatting - ;ld hl,str_boot ; command string prefix - ;call pstr ; show it - ;call autocmd ; else, handle w/o prompt - ;jr reprompt ; restart w/ autocmd disable +; + ; If timeout is zero, boot auto command immediately + ld a,b ; check for + or c ; ... zero + jr nz,prompt ; not zero, prompt w/ timeout + call nl2 ; formatting + ld hl,str_autoboot ; auto command prefix + call pstr ; show it + call autocmd ; handle w/o prompt + jr reprompt ; restart w/ autocmd disable #endif ; prompt: @@ -205,7 +207,7 @@ wtkey: jp nz,dskycmd ; if pending, do DSKY command #endif ; -#if (BOOT_TIMEOUT > 0) +#if (BOOT_TIMEOUT != -1) ; check for timeout and handle auto boot here ld a,(acmd_act) ; get auto cmd active flag or a ; set flags @@ -1472,6 +1474,7 @@ acmd_to .dw BOOT_TIMEOUT ; auto cmd timeout ;======================================================================= ; str_banner .db PLATFORM_NAME," Boot Loader",0 +str_autoboot .db "AutoBoot: ",0 str_prompt .db "Boot [H=Help]: ",0 str_bs .db bs,' ',bs,0 str_reboot .db "\r\n\r\nRestarting System...",0 diff --git a/Source/ver.inc b/Source/ver.inc index f107c6e7..a4c90775 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 1 #DEFINE RUP 0 #DEFINE RTP 0 -#DEFINE BIOSVER "3.1-pre.14" +#DEFINE BIOSVER "3.1-pre.15" diff --git a/Source/ver.lib b/Source/ver.lib index d54675fa..63100c36 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 1 rup equ 0 rtp equ 0 biosver macro - db "3.1-pre.14" + db "3.1-pre.15" endm From f85205afb847241f6af67271674a98f20ca4e938 Mon Sep 17 00:00:00 2001 From: Dean Netherton Date: Sun, 3 May 2020 11:24:14 +1000 Subject: [PATCH 4/6] whitespace: ay38910 and hbios --- Source/HBIOS/ay38910.asm | 16 ++++++++-------- Source/HBIOS/hbios.asm | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Source/HBIOS/ay38910.asm b/Source/HBIOS/ay38910.asm index 8fe13b25..0bf23767 100644 --- a/Source/HBIOS/ay38910.asm +++ b/Source/HBIOS/ay38910.asm @@ -58,7 +58,7 @@ AY_IDAT .EQU 0 ; NO INSTANCE DATA ASSOCIATED WITH THIS DEVICE ; ; DEVICE CAPABILITIES AND CONFIGURATION ; -SBCV2004 .EQU 1 ; USE SBC-V2-004 HALF CLOCK DIVIDER +SBCV2004 .EQU 1 ; USE SBC-V2-004 HALF CLOCK DIVIDER ; AY_TONECNT .EQU 3 ; COUNT NUMBER OF TONE CHANNELS AY_NOISECNT .EQU 1 ; COUNT NUMBER OF NOISE CHANNELS @@ -106,11 +106,11 @@ AY38910_INIT: LD D,AY_R3CHBP LD E,$00 CALL AY_WRTPSG ; R03 = $00 = XXXX0000 -; - CALL LDELAY ; HALF SECOND +; + CALL LDELAY ; HALF SECOND ; LD E,$00 ; SET VOLUME OFF - CALL AY_SETV ; ON ALL CHANNELS + CALL AY_SETV ; ON ALL CHANNELS ; ; RET ; @@ -129,7 +129,7 @@ AY_INIT: ;====================================================================== ; AY_SETV: - LD B,AY_TONECNT ; NUMBER OF CHANNELS + LD B,AY_TONECNT ; NUMBER OF CHANNELS LD D,AY_R8AVOL ; BASE REGISTER FOR VOLUME AY_SV: CALL AY_WRTPSG ; CYCLING THROUGH ALL CHANNELS INC D @@ -370,10 +370,10 @@ AY_APPLY_PRD: RET ; ;====================================================================== -; +; ; WRITE DATA IN E REGISTER TO DEVICE REGISTER D ; INTERRUPTS DISABLE DURING WRITE. WRITE IN SLOW MODE IF Z180 CPU. -; +; ;====================================================================== ; AY_WRTPSG: @@ -388,7 +388,7 @@ AY_WRTPSG: OR %00110000 ; FORCE SLOW OPERATION (I/O W/S=3) OUT0 (Z180_DCNTL),A ; AND UPDATE DCNTL #ENDIF - LD A,D ; SELECT THE REGISTER WE + LD A,D ; SELECT THE REGISTER WE OUT (AY_RSEL),A ; WANT TO WRITE TO LD A,E ; WRITE THE VALUE TO OUT (AY_RDAT),A ; THE SELECTED REGISTER diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 3e058bd1..979b86b8 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -2555,7 +2555,7 @@ SYS_GETRTCCNT: LD A,(RTC_DISPACT) ; IS RTC ACTIVE? OR A ; SET FLAGS JR Z,SYS_GETRTCCNT1 ; IF NONE, DONE - INC E ; SET ONE DEVICE + INC E ; SET ONE DEVICE SYS_GETRTCCNT1: XOR A ; SIGNALS SUCCESS RET From eb552ab7a2588fa3ea19b5d5564de36c00a19313 Mon Sep 17 00:00:00 2001 From: Dean Netherton Date: Sun, 3 May 2020 11:25:30 +1000 Subject: [PATCH 5/6] Sound Drivers: fixed building image issue Duplicate labels fixed for when building AY38910 and SN76489 drivers into the same image --- Source/HBIOS/audio.inc | 4 ++ Source/HBIOS/ay38910.asm | 81 ++++++++++++++++++++-------------------- Source/HBIOS/sn76489.asm | 74 ++++++++++++++++++------------------ 3 files changed, 80 insertions(+), 79 deletions(-) diff --git a/Source/HBIOS/audio.inc b/Source/HBIOS/audio.inc index e1a9fbe4..2b69513b 100644 --- a/Source/HBIOS/audio.inc +++ b/Source/HBIOS/audio.inc @@ -11,6 +11,8 @@ #DEFINE AUDDEBUG(S) CALL PRTSTRD \ .TEXT S \ .TEXT "$" ; $$$$$$ PRINT STRING S TO CONSOLE - PRTD("HELLO") - NO TRAILING $ REQUIRED +#DEFINE AUDTRACE_CR AUDDEBUG("\r\n$") + #ELSE #DEFINE AUDTRACE(S) #DEFINE AUDTRACE_A @@ -23,4 +25,6 @@ #DEFINE AUDTRACE_IY #DEFINE AUDDEBUG(STR) + +#DEFINE AUDTRACE_CR #ENDIF diff --git a/Source/HBIOS/ay38910.asm b/Source/HBIOS/ay38910.asm index 0bf23767..4b6c863f 100644 --- a/Source/HBIOS/ay38910.asm +++ b/Source/HBIOS/ay38910.asm @@ -144,20 +144,20 @@ AY_SV: CALL AY_WRTPSG ; CYCLING THROUGH ALL CHANNELS ;====================================================================== ; AY_RESET: - AUDTRACE(TRACE_INIT) + AUDTRACE(AYT_INIT) ; CALL AY_INIT ; SET DEFAULT CHIP CONFIGURATION ; - AUDTRACE(TRACE_VOLUME_OFF) + AUDTRACE(AYT_VOLOFF) LD E,0 ; SET VOLUME OFF CALL AY_SETV ; ON ALL CHANNELS ; XOR A ; SIGNAL SUCCESS - LD (PENDING_VOLUME),A ; SET VOLUME TO ZERO + LD (AY_PENDING_VOLUME),A ; SET VOLUME TO ZERO LD H,A LD L,A - LD (PENDING_PERIOD),HL ; SET TONE PERIOD TO ZERO -; + LD (AY_PENDING_PERIOD),HL ; SET TONE PERIOD TO ZERO +; RET ; ;====================================================================== @@ -165,11 +165,11 @@ AY_RESET: ;====================================================================== ; AY_VOLUME: - AUDDEBUG("AY3VOL ") + AUDTRACE(AYT_VOL) AUDTRACE_L - AUDDEBUG("\r\n") + AUDTRACE_CR LD A,L ; SAVE VOLUME - LD (PENDING_VOLUME), A + LD (AY_PENDING_VOLUME), A ; XOR A ; SIGNAL SUCCESS RET @@ -179,22 +179,22 @@ AY_VOLUME: ;====================================================================== ; AY_PERIOD: - AUDDEBUG("AY3PRD ") + AUDTRACE(AYT_PERIOD) AUDTRACE_HL - AUDDEBUG("\r\n") + AUDTRACE_CR LD A, H ; MAXIMUM TONE PERIOD IS 12-BITS CP $10 ; ALLOWED RANGE IS 0001-0FFF (4095) JP NC, AY_QUERY_PERIOD1 ; RETURN NZ IF NUMBER TOO LARGE - LD (PENDING_PERIOD), HL ; SAVE AND + LD (AY_PENDING_PERIOD), HL ; SAVE AND XOR A ; SIGNAL SUCCESS RET AY_QUERY_PERIOD1: LD L, $FF - LD H, L ; REQUESTED PERIOD IS LARGER - LD (PENDING_PERIOD), HL ; THAN THE DEVICE CAN SUPPORT + LD H, L ; REQUESTED PERIOD IS LARGER + LD (AY_PENDING_PERIOD), HL ; THAN THE DEVICE CAN SUPPORT OR L ; SO SIGNAL FAILURE RET ; @@ -203,9 +203,9 @@ AY_QUERY_PERIOD1: ;====================================================================== ; AY_NOTE: - AUDDEBUG("AY3NOT ") + AUDTRACE(AYT_NOTE) AUDTRACE_L - AUDDEBUG("\r\n") + AUDTRACE_CR ADD HL, HL ; SHIFT RIGHT (MULT 2) -INDEX INTO AY3NOTETBL TABLE OF WORDS ; TEST IF HL IS LARGER THAN AY3NOTETBL SIZE @@ -236,11 +236,11 @@ AY_NOTE1: ;====================================================================== ; AY_PLAY: - AUDDEBUG("AY3PLY ") + AUDTRACE(AYT_PLAY) AUDTRACE_D - AUDDEBUG("\r\n") + AUDTRACE_CR ; - LD A, (PENDING_PERIOD + 1) ; CHECK THE HIGH BYTE OF THE PERIOD + LD A, (AY_PENDING_PERIOD + 1) ; CHECK THE HIGH BYTE OF THE PERIOD CP $FF JR Z, AY_PLAY1 ; PERIOD IS TOO LARGE, UNABLE TO PLAY CALL AY_APPLY_VOL @@ -250,13 +250,13 @@ AY_PLAY: RET ; AY_PLAY1: ; TURN CHANNEL VOL TO OFF AND STOP PLAYING - LD A, (PENDING_VOLUME) + LD A, (AY_PENDING_VOLUME) PUSH AF XOR A - LD (PENDING_VOLUME), A + LD (AY_PENDING_VOLUME), A CALL AY_APPLY_VOL POP AF - LD (PENDING_VOLUME), A + LD (AY_PENDING_VOLUME), A ; OR $FF ; SIGNAL FAILURE RET @@ -284,17 +284,17 @@ AY_QUERY: ; AY_QUERY_CHCNT: LD B, AY_TONECNT ; RETURN NUMBER OF - LD C, AY_NOISECNT ; TONE AND NOISE + LD C, AY_NOISECNT ; TONE AND NOISE XOR A ; CHANNELS IN BC RET ; AY_QUERY_PERIOD: - LD HL, (PENDING_PERIOD) ; RETURN 16-BIT PERIOD + LD HL, (AY_PENDING_PERIOD) ; RETURN 16-BIT PERIOD XOR A ; IN HL REGISTER RET ; AY_QUERY_VOLUME: - LD A, (PENDING_VOLUME) ; RETURN 8-BIT VOLUME + LD A, (AY_PENDING_VOLUME) ; RETURN 8-BIT VOLUME LD L, A ; IN L REGISTER XOR A LD H, A @@ -320,11 +320,11 @@ AY_APPLY_VOL: ADD A,AY_R8AVOL ; CHANNEL VOLUME LD D,A ; REGISTER ; - AUDTRACE(TRACE_REG_WR) + AUDTRACE(AYT_REGWR) AUDTRACE_A - AUDTRACE(TRACE_NEWLINE) + AUDTRACE_CR ; - LD A, (PENDING_VOLUME) ; MAP THE VOLUME + LD A, (AY_PENDING_VOLUME) ; MAP THE VOLUME RRCA ; FROM 00-FF RRCA ; TO 00-0F RRCA @@ -353,11 +353,12 @@ AY_APPLY_PRD: ADD A,A ; CHANNEL REGISTER LD D,A ; FOR THE TONE PERIOD ; - AUDTRACE(TRACE_REG_WR) + AUDTRACE(AYT_REGWR) AUDTRACE_A - AUDTRACE(TRACE_NEWLINE) + AUDTRACE_CR + ; - LD HL,(PENDING_PERIOD) ; WRITE THE LOWER + LD HL,(AY_PENDING_PERIOD) ; WRITE THE LOWER LD E,L ; 8-BITS OF THE TONE PERIOD CALL AY_WRTPSG INC D @@ -405,19 +406,17 @@ AY_WRTPSG: ; ;====================================================================== ; -PENDING_PERIOD .DW 0 ; PENDING PERIOD (12 BITS) -PENDING_VOLUME .DB 0 ; PENDING VOL (8 BITS) +AY_PENDING_PERIOD .DW 0 ; PENDING PERIOD (12 BITS) +AY_PENDING_VOLUME .DB 0 ; PENDING VOL (8 BITS) #IF AUDIOTRACE -TRACE_INIT .DB "\r\nAY_INIT CALLED\r\n$" -TRACE_VOLUME_OFF .DB "\r\nAY_VOLUME_OFF\r\n$" -TRACE_VOLUME_SET .DB "\r\nAY_VOLUME_SET CH: $" -TRACE_PLAY .DB "\r\nPLAY\r\n$" -TRACE_VOLUME .DB ", VOL: $" -TRACE_REG_WR .DB "\r\nOUT AY-3-8910 $" -TRACE_PERIOD_SET .DB "\r\nAY_PERIOD_SET CH: $" -TRACE_PERIOD .DB ", PERIOD: $" -TRACE_NEWLINE .DB "\r\n$" +AYT_INIT .DB "\r\nAY_INIT\r\n$" +AYT_VOLOFF .DB "\r\nAY_VOLUME OFF\r\n$" +AYT_VOL .DB "\r\nAY_VOLUME: $" +AYT_NOTE .DB "\r\nAY_NOTE: $" +AYT_PERIOD .DB "\r\nAY_PERIOD $" +AYT_PLAY .DB "\r\nAY_PLAY CH: $" +AYT_REGWR .DB "\r\nOUT AY-3-8910 $" #ENDIF ; ; THE FREQUENCY BY QUARTER TONE STARTING AT A1# diff --git a/Source/HBIOS/sn76489.asm b/Source/HBIOS/sn76489.asm index 5d849893..0d7a2936 100644 --- a/Source/HBIOS/sn76489.asm +++ b/Source/HBIOS/sn76489.asm @@ -69,13 +69,13 @@ SN7_INIT1: ; SN7_RESET: - AUDTRACE(TRACE_INIT) + AUDTRACE(SNT_INIT) CALL SN7_VOLUME_OFF XOR A ; SIGNAL SUCCESS RET SN7_VOLUME_OFF: - AUDTRACE(TRACE_VOLUME_OFF) + AUDTRACE(SNT_VOLOFF) LD A, CHANNEL_0_SILENT OUT (SN76489_PORT_LEFT), A @@ -103,11 +103,11 @@ SN7_VOLUME_OFF: ; 1 CC 1 VVVV SN7_VOLUME: - AUDDEBUG("SN7VOL ") + AUDTRACE(SNT_VOL) AUDTRACE_L - AUDDEBUG("\r\n") + AUDTRACE_CR LD A, L - LD (PENDING_VOLUME), A + LD (SN7_PENDING_VOLUME), A XOR A ; SIGNAL SUCCESS RET @@ -115,9 +115,9 @@ SN7_VOLUME: SN7_NOTE: - AUDDEBUG("SN7NOT ") + AUDTRACE(SNT_NOTE) AUDTRACE_L - AUDDEBUG("\r\n") + AUDTRACE_CR ADD HL, HL ; SHIFT RIGHT (MULT 2) -INDEX INTO SN7NOTETBL TABLE OF WORDS ; TEST IF HL IS LARGER THAN SN7NOTETBL SIZE @@ -144,32 +144,32 @@ SN7_NOTE1: RET SN7_PERIOD: - AUDDEBUG("SN7PRD ") + AUDTRACE(SNT_PERIOD) AUDTRACE_HL - AUDDEBUG("\r\n") + AUDTRACE_CR LD A, H CP $04 JP NC, SN7_QUERY_PERIOD1 ; RETURN NZ IF NUMBER TOO LARGE - LD (PENDING_PERIOD), HL + LD (SN7_PENDING_PERIOD), HL XOR A ; SIGNAL SUCCESS RET SN7_QUERY_PERIOD1: ; REQUESTED PERIOD IS LARGER THAN THE SN76489 CAN SUPPORT LD L, $FF LD H, $FF - LD (PENDING_PERIOD), HL + LD (SN7_PENDING_PERIOD), HL OR $FF ; SIGNAL FAILURE RET SN7_PLAY: - AUDDEBUG("SN7PLY ") + AUDTRACE(SNT_PLAY) AUDTRACE_D - AUDDEBUG("\r\n") + AUDTRACE_CR - LD A, (PENDING_PERIOD + 1) + LD A, (SN7_PENDING_PERIOD + 1) CP $FF JR Z, SN7_PLAY1 ; PERIOD IS TOO LARGE, UNABLE TO PLAY CALL SN7_APPLY_VOL @@ -179,13 +179,13 @@ SN7_PLAY: RET SN7_PLAY1: ; TURN CHANNEL VOL TO OFF AND STOP PLAYING - LD A, (PENDING_VOLUME) + LD A, (SN7_PENDING_VOLUME) PUSH AF LD A, 0 - LD (PENDING_VOLUME), A + LD (SN7_PENDING_VOLUME), A CALL SN7_APPLY_VOL POP AF - LD (PENDING_VOLUME), A + LD (SN7_PENDING_VOLUME), A OR $FF ; SIGNAL FAILURE RET @@ -214,12 +214,12 @@ SN7_QUERY_CHCNT: RET SN7_QUERY_PERIOD: - LD HL, (PENDING_PERIOD) + LD HL, (SN7_PENDING_PERIOD) XOR A RET SN7_QUERY_VOLUME: - LD A, (PENDING_VOLUME) + LD A, (SN7_PENDING_VOLUME) LD L, A LD H, 0 @@ -251,7 +251,7 @@ SN7_APPLY_VOL: ; APPLY VOLUME TO BOTH LEFT AND RIGHT CHANNELS OR $90 LD B, A - LD A, (PENDING_VOLUME) + LD A, (SN7_PENDING_VOLUME) RRCA RRCA RRCA @@ -264,9 +264,9 @@ SN7_APPLY_VOL: ; APPLY VOLUME TO BOTH LEFT AND RIGHT CHANNELS AND $0F OR B ; A CONTAINS COMMAND TO SET VOLUME FOR CHANNEL - AUDTRACE(TRACE_PORT_WR) + AUDTRACE(SNT_REGWR) AUDTRACE_A - AUDTRACE(TRACE_NEWLINE) + AUDTRACE_CR OUT (SN76489_PORT_LEFT), A OUT (SN76489_PORT_RIGHT), A @@ -279,7 +279,7 @@ SN7_APPLY_PRD: PUSH DE PUSH BC PUSH AF - LD HL, (PENDING_PERIOD) + LD HL, (SN7_PENDING_PERIOD) LD A, D AND $3 @@ -295,9 +295,9 @@ SN7_APPLY_PRD: AND $F OR B ; A NOW CONATINS FIRST PERIOD COMMAND - AUDTRACE(TRACE_PORT_WR) + AUDTRACE(SNT_REGWR) AUDTRACE_A - AUDTRACE(TRACE_NEWLINE) + AUDTRACE_CR OUT (SN76489_PORT_LEFT), A OUT (SN76489_PORT_RIGHT), A @@ -318,9 +318,9 @@ SN7_APPLY_PRD: RLCA ; AND PLACE IN BITS 5 AND 6 OR B ; OR THE TWO SETS OF BITS TO MAKE 2ND PERIOD COMMAND - AUDTRACE(TRACE_PORT_WR) + AUDTRACE(SNT_REGWR) AUDTRACE_A - AUDTRACE(TRACE_NEWLINE) + AUDTRACE_CR OUT (SN76489_PORT_LEFT), A OUT (SN76489_PORT_RIGHT), A @@ -344,24 +344,22 @@ SN7_FNTBL: !!!!! #ENDIF -PENDING_PERIOD +SN7_PENDING_PERIOD .DW 0 ; PENDING PERIOD (10 BITS) -PENDING_VOLUME +SN7_PENDING_VOLUME .DB 0 ; PENDING VOL (8 BITS -> DOWNCONVERTED TO 4 BITS AND INVERTED) STR_MESSAGELT .DB "\r\nSN76489: LEFT IO=0x$" STR_MESSAGERT .DB ", RIGHT IO=0x$" #IF AUDIOTRACE -TRACE_INIT .DB "\r\nSN7_INIT CALLED\r\n$" -TRACE_VOLUME_OFF .DB "\r\nSN7_VOLUME_OFF\r\n$" -TRACE_VOLUME_SET .DB "\r\nSN7_VOLUME_SET CH: $" -TRACE_PLAY .DB "\r\nPLAY\r\n$" -TRACE_VOLUME .DB ", VOL: $" -TRACE_PORT_WR .DB "\r\nOUT SN76489, $" -TRACE_PERIOD_SET .DB "\r\nSN7_PERIOD_SET CH: $" -TRACE_PERIOD .DB ", PERIOD: $" -TRACE_NEWLINE .DB "\r\n$" +SNT_INIT .DB "\r\nSN7_INIT\r\n$" +SNT_VOLOFF .DB "\r\nSN7_VOLUME OFF\r\n$" +SNT_VOL .DB "\r\nSN7_VOLUME: $" +SNT_NOTE .DB "\r\nSN7_NOTE: $" +SNT_PERIOD .DB "\r\nSN7_PERIOD: $" +SNT_PLAY .DB "\r\nSN7_PLAY CH: $" +SNT_REGWR .DB "\r\nOUT SN76489, $" #ENDIF ; THE FREQUENCY BY QUARTER TONE STARTING AT A1# From 41318639f8e20f2a2295ba572ad6a7f1bb1b2c0a Mon Sep 17 00:00:00 2001 From: Dean Netherton Date: Sun, 3 May 2020 11:26:19 +1000 Subject: [PATCH 6/6] Sound Drivers: Fix issue when attempting to add 2 sound drivers Needed to increase buffer for active drivers (SND_MAX) from 2 to 3 --- Source/HBIOS/hbios.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 979b86b8..9a4c5073 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -2286,7 +2286,7 @@ SND_ADDENT: ; WORD UNIT SPECIFIC DATA (TYPICALLY A DEVICE INSTANCE DATA ADDRESS) ; SND_FNCNT .EQU 6 ; NUMBER OF SND FUNCS (FOR RANGE CHECK) -SND_MAX .EQU 2 ; UP TO 2 UNITS +SND_MAX .EQU 3 ; UP TO 2 UNITS SND_SIZ .EQU SND_MAX * 4 ; EACH ENTRY IS 4 BYTES ; .DB SND_FNCNT ; SND FUNCTION COUNT (FOR RANGE CHECK)