Browse Source

Merge pull request #115 from wwarthen/dev

Dev
pull/120/head
b1ackmai1er 6 years ago
committed by GitHub
parent
commit
b5a085dd23
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      Doc/ChangeLog.txt
  2. BIN
      Doc/RomWBW Applications.pdf
  3. BIN
      Doc/RomWBW Architecture.pdf
  4. BIN
      Doc/RomWBW Disk Catalog.pdf
  5. BIN
      Doc/RomWBW Getting Started.pdf
  6. 4
      Source/HBIOS/audio.inc
  7. 97
      Source/HBIOS/ay38910.asm
  8. 3
      Source/HBIOS/cfg_dyno.asm
  9. 3
      Source/HBIOS/cfg_ezz80.asm
  10. 3
      Source/HBIOS/cfg_master.asm
  11. 3
      Source/HBIOS/cfg_mk4.asm
  12. 3
      Source/HBIOS/cfg_n8.asm
  13. 3
      Source/HBIOS/cfg_rcz180.asm
  14. 3
      Source/HBIOS/cfg_rcz80.asm
  15. 3
      Source/HBIOS/cfg_sbc.asm
  16. 3
      Source/HBIOS/cfg_scz180.asm
  17. 2
      Source/HBIOS/cfg_una.asm
  18. 3
      Source/HBIOS/cfg_zeta.asm
  19. 3
      Source/HBIOS/cfg_zeta2.asm
  20. 8
      Source/HBIOS/fd.asm
  21. 4
      Source/HBIOS/hbios.asm
  22. 23
      Source/HBIOS/romldr.asm
  23. 19
      Source/HBIOS/sd.asm
  24. 74
      Source/HBIOS/sn76489.asm
  25. 2
      Source/ver.inc
  26. 2
      Source/ver.lib

3
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
-------------

BIN
Doc/RomWBW Applications.pdf

Binary file not shown.

BIN
Doc/RomWBW Architecture.pdf

Binary file not shown.

BIN
Doc/RomWBW Disk Catalog.pdf

Binary file not shown.

BIN
Doc/RomWBW Getting Started.pdf

Binary file not shown.

4
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

97
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#

3
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]

3
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]

3
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]

3
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]

3
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]

3
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]

3
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]

3
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]

3
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]

2
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

3
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]

3
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]

8
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

4
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

23
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

19
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

74
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#

2
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"

2
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

Loading…
Cancel
Save