TUNE Delay Switch, Issue #558

- Add a -DELAY switch to the TUNE command line to force the use of delay mode for note pacing.  Issue #558  Credit to @robbbates for suggesting this.
- Add missing include file logic for DS1307, Issue #556.  Credit to @tpycio.
- Miscellaneous documentation improvements per Peter Onion and Petr Antos.
This commit is contained in:
Wayne Warthen
2025-05-28 15:27:35 -07:00
parent ed77b3ef84
commit 52ea94161c
19 changed files with 115 additions and 16 deletions

View File

@@ -2438,10 +2438,11 @@ whether support for it is included in the RomWBW HBIOS configuration
| `-MSX` | Force MSX port addresses A0H/A1H (no PSG detection) |
| `-RC` | Force RCBus port addresses D8H/D0H (no PSG detection) |
| `--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 |
| `-DELAY` | Force delay mode (don't use hardware timer) |
| `+T1` | Play tune an octave higher |
| `+T2` | Play tune two octaves higher |
| `-T1` | Play tune an octave lower |
| `-T2` | Play tune two octaves lower |
The +t and -t options apply only to HBIOS mode operation. The `-MSX`,
`-RC`, and `--HBIOS` options are mutually exclusive. See Notes below.
@@ -2465,7 +2466,7 @@ an error message.
Some hardware (notably Why-Em-Ulator) cannot be detected due limitations
of the emulation. In such cases, you can force the use of the two
most common port addresses using the `-msx` or `-rc` options.
most common port addresses 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
@@ -2473,9 +2474,13 @@ will need to ensure that the CPU clock speed of your system does not
exceed the timing limitations of your sound chip.
The application probes for an active system timer and uses it to
accurately pace the sound file output. If no system timer is
accurately pace the sound file playback. If no system timer is
available, a delay loop is calculated instead. The delay loop will not
be as accurate as the system timer.
be as accurate as the system timer. If the `-DELAY` options is
specified on the command line, then the delay loop will be used
regardless of whether the system has a hardware timer. This is useful
if the hardware timer does not run at the 50Hz desired for sound
playback.
There are two modes of operation. A direct hardware interface for the
AY-3-8910 or YM2149 chips, or a compatibility layer thru HBIOS supporting

View File

@@ -141,6 +141,11 @@ devices and peripherals that are on-board or frequently used with
each platform. If the device or peripheral is not detected at boot,
the ROM will simply bypass support appropriately.
Each ROM will support a single memory manager. This is determined
by the build configuration and is not dynamically selected. The use
of the term Memory Manager is generally synonymous with Memory
Management Unit (MMU).
In some cases, support for multiple hardware components with potentially
conflicting resource usage are handled by a single ROM image. It is up
to the user to ensure that no conflicting hardware is in use.

View File

@@ -142,6 +142,14 @@ currently selected. The upper 32KB is "fixed". This area of memory
is never swapped out and is used to contain software and operating
systems that must remain in the Z80 address space.
Throughout this document, this mechanism of selecting banks of memory
into the lower 32K is referred to as memory management. Achieving
this functionality requires some type of hardware which is generally
referred to as the system's Memory Management Unit (MMU). RomWBW
supports a variety of MMUs -- but they all perform the same function
of swapping in/out banks of memory in the lower 32K of CPU address
space.
Figure 4.1 depicts the memory layout for a system running the CP/M
operating system. Applications residing in TPA invoke BDOS services
of CP/M, BDOS invokes the custom CBIOS APIs, and finally CBIOS
@@ -290,6 +298,54 @@ Common Bank:
It is a fixed mapping that is never changed in normal RomWBW operation
hence the name "Common".
## Memory Managers
The following hardware memory managers are supported by RomWBW. The
operation of these memory managers is not documented here -- please
refer to the documentation of your hardware provider for that.
Z2:
: Memory memory manager introduced by Sergey Kiselv in the Zeta 2 SBC.
Popular in many RCBus systems.
Z180:
: Memory manager built into the Z180 CPU
Z280:
: Memory manager built into the Z280 CPU
ZRC:
: Memory manager onboard the ZRC series of computers by Bill Shen.
SBC:
: Memory manager onboard the N8VEM SBC series of computers by
Andrew Lynch.
MBC:
: Memory manager onboard the Nhyodyne computer system by Andrew Lynch.
N8:
: Memory manager onboard the N8 SBC computer by Andrew Lynch.
EZ512:
: Memory manager onboard the EaZy80-512 Z80 CPU Module by Bill Shen.
RPH:
: Memory manager onboard the Rhyophyre computer system by Andrew Lynch.
The memory manager used is determined by the configuration choices
that are part of a RomWBW build process. A given ROM can only have a
single memory manager -- it is not selected dynamically.
# Disk Layout
## Floppy Disk Layout

View File

@@ -3163,7 +3163,7 @@ floppy disk and hard disk images.
| TUNE | Play .PT2, .PT3, .MYM audio files. |
| INTTEST | Test interrupt vector hooking. |
# Real Time Clock
# Real Time Clock & Date/Time Stamping
RomWBW supports a variety of real time clock hardware. If your
system has this hardware, then it will be able to maintain the