diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 6b792df2..7d0e05c9 100644 Binary files a/Doc/RomWBW Applications.pdf and b/Doc/RomWBW Applications.pdf differ diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index bcb35b0b..6abefb6d 100644 Binary files a/Doc/RomWBW Disk Catalog.pdf and b/Doc/RomWBW Disk Catalog.pdf differ diff --git a/Doc/RomWBW Errata.pdf b/Doc/RomWBW Errata.pdf index e6c3a0f3..90b66724 100644 Binary files a/Doc/RomWBW Errata.pdf and b/Doc/RomWBW Errata.pdf differ diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index 45836989..94ce2d47 100644 Binary files a/Doc/RomWBW System Guide.pdf and b/Doc/RomWBW System Guide.pdf differ diff --git a/Doc/RomWBW User Guide.pdf b/Doc/RomWBW User Guide.pdf index badced4a..4265a442 100644 Binary files a/Doc/RomWBW User Guide.pdf and b/Doc/RomWBW User Guide.pdf differ diff --git a/ReadMe.md b/ReadMe.md index a492391b..bcd27027 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -3,7 +3,7 @@ **RomWBW ReadMe** \ Version 3.5 \ Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ -08 Dec 2024 +12 Dec 2024 # Overview diff --git a/ReadMe.txt b/ReadMe.txt index 31fb331b..32e4ad84 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,6 +1,6 @@ RomWBW ReadMe Wayne Warthen (wwarthen@gmail.com) -08 Dec 2024 +12 Dec 2024 diff --git a/Source/Apps/Tune/cli.inc b/Source/Apps/Tune/cli.inc index fc901068..cd9eaecf 100644 --- a/Source/Apps/Tune/cli.inc +++ b/Source/Apps/Tune/cli.inc @@ -23,6 +23,26 @@ CLI_HAVE_HBIOS_SWITCH1 ; NOT MATCHED --HBIOS LD (HBIOSMD), A RET +CLI_PORTS: + LD HL, CLIARGS ; TEST FOR -MSX ON COMMAND LINE + LD DE, OPT_MSX + CALL STRINDEX + JR NZ, CLI_PORTS1 + LD A,PORTS_MSX + JR CLI_PORTS_Z +CLI_PORTS1: + LD HL, CLIARGS ; TEST FOR -RC ON COMMAND LINE + LD DE, OPT_RC + CALL STRINDEX + JR NZ, CLI_PORTS2 + LD A,PORTS_RC + JR CLI_PORTS_Z +CLI_PORTS2: + LD A,PORTS_AUTO ; USE AUTO PORT SELECTION +CLI_PORTS_Z: + LD (USEPORTS),A ; SAVE PORTS SELECTION + RET + CLI_ABRT_UNSUPPFILTYP: PUSH AF ISHBIOS @@ -79,6 +99,8 @@ CLI_OCTAVE_ADJST5: LD (OCTAVEADJ), A RET +OPT_MSX .DB "-MSX", 0 ; USE MSX PORTS +OPT_RC .DB "-RC", 0 ; USE RC PORTS HBIOSOPT: .DB "--HBIOS", 0 DOWN1 .DB "-t1", 0 ; DOWN AN OCTAVE DOWN2 .DB "-t2", 0 ; DOWN TWO OCTAVE diff --git a/Source/Apps/Tune/tune.asm b/Source/Apps/Tune/tune.asm index 97d16230..32202d2e 100644 --- a/Source/Apps/Tune/tune.asm +++ b/Source/Apps/Tune/tune.asm @@ -52,6 +52,7 @@ ; 2024-07-08 [WBW] Add support for Les Bird's Graphics, Sound, Joystick ; 2024-07-11 [WBW] Updated, Les Bird's module now uses same settings as EB6 ; 2024-09-17 [WBW] Add support for HEATH H8 with Les Bird's MSX Card +; 2024-12-12 [WBW] Add options to force standard MSX or RC ports ;_______________________________________________________________________________ ; ; ToDo: @@ -73,6 +74,10 @@ TYPPT2 .EQU 1 ; FILTYP value for PT2 sound file TYPPT3 .EQU 2 ; FILTYP value for PT3 sound file TYPMYM .EQU 3 ; FILTYP value for MYM sound file ; +PORTS_AUTO .EQU 0 ; AUTO select audio chip ports +PORTS_MSX .EQU 1 ; force MSX audio chip ports +PORTS_RC .EQU 2 ; force RCBUS audio chip ports +; ; HIGH SPEED CPU CONTROL ; SBCV2004 .EQU 0 ; ENABLE SBC-V2-004 HALF CLOCK DIVIDER @@ -106,6 +111,7 @@ Id .EQU 1 ; 5) Insert official identificator PRTSTRDE(MSGBAN) ; Print to banner message CALL CLI_ABRT_IF_OPT_FIRST + CALL CLI_PORTS CALL CLI_HAVE_HBIOS_SWITCH CALL CLI_OCTAVE_ADJST JP CONTINUE @@ -125,6 +131,22 @@ CONTINUE: OR A JR NZ, TSTTIMER ; skip hardware check if using hbios + LD A, (USEPORTS) ; get ports option + LD HL,MSXPORTS ; assume MSX + CP PORTS_MSX ; use MSX? + JR Z,FORCE + LD HL,RCPORTS ; asssume RC + CP PORTS_RC ; use RC? + JR Z,FORCE + JR AUTOSEL ; otherwise do auto select + +FORCE: + LD BC,CFGSIZ ; Size of one entry + LD DE,CFG ; Active config structure + LDIR ; Update active config structure + JR MAT ; Continue + +AUTOSEL: LD HL,CFGTBL ; Point to start of config table CFGSEL: LD A,$FF ; End of table marker @@ -646,6 +668,17 @@ CFGSIZ .EQU $ - CFGTBL ; .DB $FF ; END OF TABLE MARKER ; +; The following are table entries (like above), but not part of auto +; detection searching. They are selected byh command line options. +; +MSXPORTS: + .DB $FF, $A0, $A1, $FF, $FF, $FF, $FF ; GENERIC MSX + .DW HWSTR_MSX +; +RCPORTS: + .DB $FF, $D8, $D0, $FF, $FF, $FF, $FF ; GENERIC RC + .DW HWSTR_RC +; CFG: ; ACTIVE CONFIG VALUES (FROM SELECTED CFGTBL ENTRY) PLT .DB 0 ; RomWBW HBIOS platform id PORTS: @@ -672,11 +705,13 @@ 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.11, 17-Sep-2024",0 +USEPORTS .DB 0 ; AUDIO CHIP PORT SELECTION MODE + +MSGBAN .DB "Tune Player for RomWBW v3.12, 12-Dec-2024",0 MSGUSE .DB "Copyright (C) 2024, 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 .[PT2|PT3|MYM] [--hbios] [+tn|-tn]",0 + .DB "Usage: TUNE .[PT2|PT3|MYM] [-msx|-rc] [--hbios] [+tn|-tn]",0 MSGBIO .DB "Incompatible BIOS or version, " .DB "HBIOS v", '0' + RMJ, ".", '0' + RMN, " required",0 MSGPLT .DB "Hardware error, system not supported!",0 @@ -700,6 +735,8 @@ HWSTR_MBC .DB "NHYODYNE Sound Module",0 HWSTR_DUO .DB "DUODYNE Sound Module",0 HWSTR_NABU .DB "NABU Onboard Sound",0 HWSTR_HEATH .DB "HEATH H8 MSX Module",0 +HWSTR_MSX .DB "MSX Standard Ports (A0H/A1H)",0 +HWSTR_RC .DB "RCBus Standard Ports (D8H/D0H)",0 MSGUNSUP .db "MYM files not supported with HBIOS yet!\r\n", 0 diff --git a/Source/Doc/Applications.md b/Source/Doc/Applications.md index 46c1152f..179e8f0d 100644 --- a/Source/Doc/Applications.md +++ b/Source/Doc/Applications.md @@ -2224,6 +2224,10 @@ well known port addresses at startup. It will auto-configure itself for the hardware found. If no hardware is detected, it will abort with an error message. +Some sound board hardware does not support automatic detection +(notably the Why-Em-Ulator). You may force the use of standard +MSX or RC Bus standard ports using the `-MSX` or `-RC` options. + On Z180 systems, I/O wait states are added when writing to the sound chip to avoid exceeding its speed limitations. On Z80 systems, you will need to ensure that the CPU clock speed of your system does not @@ -2239,18 +2243,20 @@ AY-3-8910 or YM2149 chips, or a compatibility layer thru HBIOS supporting the SN76489 chip. By default the application will attempt to interface directly to the sound -chip. The optional argument `--hbios` supplied after the filename, will +chip. The optional argument `--HBIOS` supplied after the filename, will enable the application to use the HBIOS sound driver. The HBIOS mode also support other switch as described below. | Switch | Description | | ----------- | ------------------------------------------------------ | -| `--hbios` | Utilise HBIOS' sound driver | -| `+t1` | Play tune an octave higher | -| `+t2` | Play tune two octaves higher | -| `-t1` | Play tune an octave lower | -| `-t2` | Play tune two octaves lower | +| `-MSX` | Force use of MSX standard ports (A0H/A1H) | +| `-RC` | Force use of RCBus standard ports (D8H/D0H) | +| `--HBIOS` | Utilise HBIOS' sound driver | +| `+T1` | Play tune an octave higher | +| `+T2` | Play tune two octaves higher | +| `-T1` | Play tune an octave lower | +| `-T2` | Play tune two octaves lower | All RomWBW operating system boot disks include a selection of sound files in user area 3.