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/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 0cce82cc..cd31985a 100644 Binary files a/Doc/RomWBW Applications.pdf and b/Doc/RomWBW Applications.pdf differ diff --git a/Doc/RomWBW Architecture.pdf b/Doc/RomWBW Architecture.pdf index e75d8164..37499de5 100644 Binary files a/Doc/RomWBW Architecture.pdf and b/Doc/RomWBW Architecture.pdf differ diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index 4a7bcc18..d0605bdb 100644 Binary files a/Doc/RomWBW Disk Catalog.pdf and b/Doc/RomWBW Disk Catalog.pdf differ diff --git a/Doc/RomWBW Getting Started.pdf b/Doc/RomWBW Getting Started.pdf index 31c94949..581f0ffc 100644 Binary files a/Doc/RomWBW Getting Started.pdf and b/Doc/RomWBW Getting Started.pdf differ 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 8fe13b25..4b6c863f 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 @@ -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 @@ -370,10 +371,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 +389,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 @@ -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/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/hbios.asm b/Source/HBIOS/hbios.asm index 3e058bd1..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) @@ -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 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/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 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# 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