mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-07 06:53:13 -06:00
Compare commits
8 Commits
v3.2.1-dev
...
v3.2.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
94239866a5 | ||
|
|
2681b84a20 | ||
|
|
b5437c56e9 | ||
|
|
f640630a06 | ||
|
|
53e201bd28 | ||
|
|
51d962aeab | ||
|
|
5f36cf9a12 | ||
|
|
d812066f2e |
@@ -4,6 +4,7 @@ Version 3.2.1
|
||||
- WBW: Fixed SURVEY.COM (again)
|
||||
- DDW: Updates to DOS/65 binaries in disk images
|
||||
- PMS: Updates to VGMPLAY including support for YM2151
|
||||
- WBW: Fix for quark delay adjustment being trashed
|
||||
|
||||
Version 3.2
|
||||
-----------
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3,7 +3,7 @@
|
||||
**RomWBW ReadMe** \
|
||||
Version 3.2.1 \
|
||||
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
|
||||
27 Mar 2023
|
||||
07 Apr 2023
|
||||
|
||||
# Overview
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
RomWBW ReadMe
|
||||
Wayne Warthen (wwarthen@gmail.com)
|
||||
27 Mar 2023
|
||||
07 Apr 2023
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
; 2021-08-13 [WBW] Add support for LiNC Z50 Sound Card
|
||||
; 2021-08-17 [WBW] When playing via HBIOS, call BF_SNDRESET at end
|
||||
; 2022-03-20 [DDW] Add support for MBC PSG module
|
||||
; 2023-03-30 [WBW] Fix for quark delay adjustment being trashed
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; ToDo:
|
||||
@@ -301,6 +302,11 @@ GOPT3 LD A,0 ; SETUP value to PT3 sound files
|
||||
JR GOPTX ; Play PTx file
|
||||
|
||||
GOPTX
|
||||
LD HL,(QDLY) ; Get basic quark delay
|
||||
OR A ; Clear carry
|
||||
SBC HL,DE ; Adjust for file type
|
||||
LD (QDLY),HL ; Save updated quark delay factor
|
||||
|
||||
CALL CRLF2
|
||||
LD DE, MSGSONGNAME ; Print song name message
|
||||
CALL PRTSTR
|
||||
@@ -322,10 +328,6 @@ GOPTX2 LD A,(DE)
|
||||
CALL CRLF2 ; Formatting
|
||||
LD DE,MSGPLY ; Playing message
|
||||
CALL PRTSTR ; Print message
|
||||
LD HL,(QDLY) ; Get basic quark delay
|
||||
OR A ; Clear carry
|
||||
SBC HL,DE ; Adjust for file type
|
||||
LD (QDLY),HL ; Save updated quark delay factor
|
||||
CALL START ; Do initialization
|
||||
PTXLP CALL START+5 ; Play one quark
|
||||
LD A,(START+10) ; Get setup byte
|
||||
@@ -655,8 +657,8 @@ TMP .DB 0 ; work around use of undocumented Z80
|
||||
HBIOSMD .DB 0 ; NON-ZERO IF USING HBIOS SOUND DRIVER, ZERO OTHERWISE
|
||||
OCTAVEADJ .DB 0 ; AMOUNT TO ADJUST OCTAVE UP OR DOWN
|
||||
|
||||
MSGBAN .DB "Tune Player for RomWBW v3.5, 20-Mar-2022",0
|
||||
MSGUSE .DB "Copyright (C) 2021, Wayne Warthen, GNU GPL v3",13,10
|
||||
MSGBAN .DB "Tune Player for RomWBW v3.5a, 30-Mar-2023",0
|
||||
MSGUSE .DB "Copyright (C) 2023, Wayne Warthen, GNU GPL v3",13,10
|
||||
.DB "PTxPlayer Copyright (C) 2004-2007 S.V.Bulba",13,10
|
||||
.DB "MYMPlay by Marq/Lieves!Tuore",13,10,13,10
|
||||
.DB "Usage: TUNE <filename>.[PT2|PT3|MYM] [--hbios] [+tn|-tn]",0
|
||||
|
||||
@@ -30,6 +30,9 @@ INTMODE .SET 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
;
|
||||
HTIMENABLE .SET TRUE ; ENABLE SIMH TIMER SUPPORT
|
||||
;
|
||||
SIMRTCENABLE .SET TRUE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM)
|
||||
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
;
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTSBCFORCE .SET TRUE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
;
|
||||
|
||||
@@ -1908,7 +1908,7 @@ HB_CPU1:
|
||||
; LATER.
|
||||
;
|
||||
CALL HB_CPUSPD ; DYNAMIC CPU SPEED DETECTION
|
||||
JR NZ,HB_CPUSPD2 ; SKIP AHEAD IF FAILED
|
||||
JR NZ,HB_CPU2 ; SKIP AHEAD IF FAILED
|
||||
;
|
||||
; RECORD THE UPDATED CPU OSCILLATOR SPEED
|
||||
;
|
||||
@@ -1921,7 +1921,7 @@ HB_CPU1:
|
||||
;
|
||||
LD (HB_CPUOSC),HL ; RECORD MEASURED SPEED
|
||||
;
|
||||
HB_CPUSPD2:
|
||||
HB_CPU2:
|
||||
;
|
||||
; INIT CPUKHZ BASED ON OSCILLATOR SPEED
|
||||
;
|
||||
@@ -2274,6 +2274,29 @@ HB_BOOTDLY:
|
||||
LD A,BOOTCON ; GET REQUESTED CONSOLE DEV
|
||||
LD (CB_CONDEV),A ; SAVE IT
|
||||
HB_CONRDY:
|
||||
;
|
||||
; MOST SERIAL PORTS ARE CONFIGURED WITH HARDWARE FLOW CONTROL ENABLED.
|
||||
; IF THERE IS A PROBLEM WITH THE RTS SIGNAL, THEN OUTPUT TO THE CONSOLE
|
||||
; WILL BE STALLED WHICH CAN LEAD A USER TO THINK THE SYSTEM IS TOTALLY
|
||||
; DEAD WHEN, IN FACT, IT IS JUST WAITING FOR RTS TO BE ASSERTED. ALSO,
|
||||
; IF THE USER IS BOOTING TO A CRT DEVICE AND DISCONNECTS THE CONSOLE
|
||||
; SERIAL PORT, THE SYSTEM WILL WAIT FOR RTS AND NEVER BOOT. SO, HERE
|
||||
; WE SAVE THE ACTIVE CONSOLE CONFIGURATION, THEN TURN OFF HARDWARE
|
||||
; FLOW CONTROL. THE ORIGINAL CONFIGURATION WILL BE RESTORED BELOW
|
||||
; PRIOR TO LAUNCING THE ROM LOADER.
|
||||
;
|
||||
; RETRIEVE THE CONFIG FROM THE CONSOLE PORT
|
||||
LD B,BF_CIOQUERY ; HBIOS QUERY CIO CONFIG
|
||||
LD A,(CB_CONDEV) ; GET CONSOLE DEVICE
|
||||
LD (HB_BOOTCONSAV),A ; SAVE IT FOR LATER
|
||||
LD C,A ; BOOT CONSOLE TO C
|
||||
CALL HB_DISPATCH ; INTERNAL HBIOS CALL
|
||||
LD (HB_CONCFGSAV),DE ; SAVE CONFIG
|
||||
RES 5,D ; CLEAR RTS BIT
|
||||
LD B,BF_CIOINIT ; HBIOS CIO INIT
|
||||
LD A,(CB_CONDEV) ; GET CONSOLE DEVICE
|
||||
LD C,A ; BOOT CONSOLE TO C
|
||||
CALL HB_DISPATCH ; INTERNAL HBIOS CALL
|
||||
|
||||
#IF (WBWDEBUG == USEMIO) ; OUTPUT ANY CACHED DEBUG TEXT
|
||||
LD HL,MIOOUTPTR
|
||||
@@ -2749,11 +2772,30 @@ HB_WDZ:
|
||||
LD A,(CB_CRTDEV) ; GET CRT DISPLAY DEVICE
|
||||
LD (CB_CONDEV),A ; SAVE IT AS ACTIVE CONSOLE DEVICE
|
||||
;
|
||||
; DISPLAY HBIOS BANNER ON NEW CONSOLE
|
||||
PRTX(STR_BANNER)
|
||||
#ENDIF
|
||||
;
|
||||
INITSYS3:
|
||||
;
|
||||
; RESTORE BOOT CONSOLE CONFIGURATION
|
||||
;
|
||||
CALL LDELAY ; ALLOW SERIAL PORT TO FLUSH
|
||||
LD B,BF_CIOINIT ; HBIOS CIO INIT
|
||||
LD A,(HB_BOOTCONSAV) ; ORIGINAL BOOT CONSOLE DEVICE
|
||||
LD C,A ; BOOT CONSOLE TO C
|
||||
LD DE,(HB_CONCFGSAV) ; SAVED ORIGINAL CONSOLE CFG
|
||||
CALL HB_DISPATCH ; INTERNAL HBIOS CALL
|
||||
;
|
||||
LD A,(HB_BOOTCONSAV) ; GET ORIGINAL BOOT CONSOLE DEV
|
||||
LD C,A ; PUT IN C
|
||||
LD A,(CB_CONDEV) ; GET ACTIVE CONSOLE DEVICE
|
||||
CP C ; COMPARE
|
||||
JR Z,INITSYS3A ; SKIP AHEAD IF NO CHANGE
|
||||
;
|
||||
; DISPLAY HBIOS BANNER ON NEW CONSOLE IF WE SWITCHED TO NEW
|
||||
; CONSOLE DEVICE
|
||||
PRTX(STR_BANNER) ; DISPLAY HBIOS BANNER
|
||||
;
|
||||
INITSYS3A:
|
||||
CALL PRTSUM ; PRINT UNIT/DEVICE SUMMARY TABLE
|
||||
;
|
||||
#IF 0
|
||||
@@ -6286,27 +6328,33 @@ HB_CPUSPD1:
|
||||
#ENDIF
|
||||
|
||||
; WAIT FOR AN INITIAL TICK TO ALIGN, THEN WAIT
|
||||
; FOR SECOND TICK AND TO GET A FULL ONE SECOND LOOP COUNT
|
||||
; FOR A SECOND TICK TO GET A FULL ONE SECOND LOOP COUNT.
|
||||
; WAITSEC WILL SET ZF IF AN OVERFLOW OCCURS (MEANING THAT THE
|
||||
; CLOCK IS NOT TICKING). THERE IS NO
|
||||
; POINT IN CALLING HB_WAITSEC AGAIN IN THAT CASE, SO WE ONLY
|
||||
; CALL HB_WAITSEC AGAIN IF ZF IS NOT SET.
|
||||
CALL DSRTC_START
|
||||
CALL HB_RDSEC ; GET SECONDS
|
||||
LD (HB_CURSEC),A ; AND INIT CURSEC
|
||||
CALL HB_WAITSEC ; WAIT FOR SECONDS TICK
|
||||
LD (HB_CURSEC),A ; SAVE NEW VALUE
|
||||
CALL HB_WAITSEC ; WAIT FOR SECONDS TICK
|
||||
; CALL HB_WAITSEC AGAIN, BUT ONLY IF ZF IS NOT SET
|
||||
CALL NZ,HB_WAITSEC ; WAIT FOR SECONDS TICK
|
||||
;
|
||||
#IF (CPUFAM == CPU_Z180)
|
||||
; RESTORE W/S SETTINGS FROM BEFORE TEST
|
||||
POP AF
|
||||
OUT0 (Z180_DCNTL),A
|
||||
#ENDIF
|
||||
;
|
||||
LD A,H
|
||||
OR L
|
||||
RET Z ; FAILURE, USE DEFAULT CPU SPEED
|
||||
;
|
||||
; MOVE LOOP COUNT TO HL
|
||||
PUSH DE
|
||||
POP HL
|
||||
;
|
||||
; CHECK FOR OVERFLOW (NOT TICKING)
|
||||
LD A,H
|
||||
OR L
|
||||
JR Z,HB_CPUSPD2 ; FAILURE, USE DEFAULT CPU SPEED
|
||||
;
|
||||
; TIMES 4 FOR CPU SPEED IN KHZ
|
||||
; RES 0,L ; GRANULARITY
|
||||
@@ -6322,6 +6370,7 @@ HB_CPUSPD1:
|
||||
HB_WAITSEC:
|
||||
; WAIT FOR SECONDS TICK
|
||||
; RETURN SECS VALUE IN A, LOOP COUNT IN DE
|
||||
; ZF IS SET ON OVERFLOW (CLOCK NOT TICKING)
|
||||
LD DE,0 ; INIT LOOP COUNTER
|
||||
HB_WAITSEC1:
|
||||
;
|
||||
@@ -6366,14 +6415,14 @@ HB_RDSEC:
|
||||
CALL DSRTC_END ; FINISH IT
|
||||
LD A,E ; VALUE TO A
|
||||
RET
|
||||
;
|
||||
#ELSE
|
||||
;
|
||||
OR $FF ; SIGNAL ERROR
|
||||
RET ; NO RTC, ABORT
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
HB_CPUSPD2:
|
||||
; HANDLE NO RTC OR NOT TICKING
|
||||
OR $FF ; SIGNAL ERROR
|
||||
RET ; AND DONE
|
||||
;
|
||||
; SYSTEM CHECK: DUMP MACHINE STATE AND CONTINUE?
|
||||
;
|
||||
SYSCHKA:
|
||||
@@ -7262,6 +7311,9 @@ HB_CURSEC .DB 0 ; CURRENT SECOND (TEMP)
|
||||
;
|
||||
HB_BCDTMP .FILL 5,0 ; BCD NUMBER STORAGE (TEMP)
|
||||
;
|
||||
HB_BOOTCONSAV .DB 0 ; INITIAL BOOT CONSOLE SAVE AREA
|
||||
HB_CONCFGSAV .DW 0 ; CONSOLE CONFIG SAVE AREA
|
||||
;
|
||||
HB_WRKBUF .FILL 512,0 ; INTERNAL DISK BUFFER
|
||||
;
|
||||
HB_END .EQU $
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -45,7 +45,7 @@ an equate. Version 1.2 was never distributed and contains only a few
|
||||
minor fixes. Unfortunately, the use of v1.2 would make it incompatible
|
||||
with many support modules and overlays due to their reliance on
|
||||
hard-coded address assumptions. This is probably why it was never
|
||||
distributed. I encountered this myself with the date stamping code –-
|
||||
distributed. I encountered this myself with the date stamping code --
|
||||
it won't work with v1.2 because it does a version check. For now, I have
|
||||
chosen to use v1.1 to maximize compatibility (seems to be what everyone
|
||||
is doing). Ultimately, I may go back and try to rebuild everything in
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#DEFINE RMN 2
|
||||
#DEFINE RUP 1
|
||||
#DEFINE RTP 0
|
||||
#DEFINE BIOSVER "3.2.1-dev.3"
|
||||
#DEFINE BIOSVER "3.2.1"
|
||||
#define rmj RMJ
|
||||
#define rmn RMN
|
||||
#define rup RUP
|
||||
|
||||
@@ -3,5 +3,5 @@ rmn equ 2
|
||||
rup equ 1
|
||||
rtp equ 0
|
||||
biosver macro
|
||||
db "3.2.1-dev.3"
|
||||
db "3.2.1"
|
||||
endm
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
set ROM=..\..\Binary\SBC_simh.rom
|
||||
if not "%1"=="" set ROM=..\..\Binary\%1.rom
|
||||
if not exist %ROM% goto romerr
|
||||
rem start C:\Users\WWarthen\Bin\putty.exe -load "SIMH Telnet"
|
||||
start /w altairz80.exe sim.cfg %ROM%
|
||||
:: start C:\Users\WWarthen\Bin\putty.exe -load "SIMH Telnet"
|
||||
:: start /w altairz80.exe sim.cfg %ROM%
|
||||
altairz80.exe sim.cfg %ROM%
|
||||
goto :eof
|
||||
|
||||
:romerr
|
||||
|
||||
Reference in New Issue
Block a user