A4091 / A4092 Release v42.38
DO NOT USE ON A4092
NOTE: This release has an alignment problem with the NCR script on the A4092.
If you have an A4092, please use release v42.39 instead.
Highlights
- Improves driver stability by fixing nested interrupt-disable handling,
releasing interrupt protection on SCSI polling timeouts, and correcting
an out-of-bounds DMA test buffer. - Loads ROM and Kickstart filesystems only when matching media needs them,
keyed by DosType. - Adds TinySetPatch to the utilities disk and replaces its shell-heavy
startup banner with a faster native helper. - Updates the bundled ODFileSystem to v0.7.0 and devtest to v1.9.
Driver and hardware fixes
- Balance every nested
Disable()withEnable()in the SPL wrappers.
This prevents interrupt nesting from leaking until interrupts remain
masked and the machine stops. - Release the SPL before resetting the SCSI chip when either polling path
times out. - Fix the
ncr7xxDMA test's source-buffer arithmetic, which could write
several kilobytes beyond its allocation and corrupt memory. - Run the A4770's 53C770 at a safe 80 MHz SCSI clock, limit DMA bursts to
eight transfers, and apply the configured cache-line and snoop settings
after reset. - Use the documented boot-option defaults when
battmem.resourceis not
available, including enabling CD-ROM boot. - Clamp parsed
printffield widths and precision to prevent integer
overflow in the firmware formatter.
Filesystems and device discovery
- Load embedded ROM filesystems and the Kickstart CD filesystem on demand
instead of registering every available filesystem at startup. - Select filesystems by DosType and cache load attempts so each matching
filesystem is initialized at most once. - Pass the relocated filesystem segment to
InitResident()as the BPTR
expected by AmigaOS. - Require
romtool -Twhen adding a filesystem to a ROM image, preventing
creation of slots that the demand loader can never select. - Correct the
FileSystem.resourcepatch-flags documentation to include
the patchedStackSizefield. - Rename the boot-menu option to Scan past
RDBFF_LASTand clarify
that it continues probing higher SCSI IDs after a disk marks itself as
the last device. - Update the bundled mounter with safer MBR/GPT handling, CD-ROM fixes,
wide-SCSI addressing, host-adapter ID skipping, aTD_MOTORnull-pointer
fix, and fixes for nestedForbid()use during filesystem lookup.
Bundled ODFileSystem v0.7.0
- Improve mounting and media-change behavior, including shared-library
lifetime handling, stale volume nodes, deferred volume publication, and
empty-drive handling. - Add High Sierra, ISO 9660 multi-extent file, AmigaDOS soft-link, and
improved UDF support. - Improve directory, metadata, parent-lookup, and sequential-read
performance through caching, pooling, hashing, and batched I/O. - Improve audio CD and CD-Text support, including track-title comments and
configurable disk icons. - Raise the minimum handler stack to 16 KiB and retain a ROM build that
fits the 32 KiB filesystem slot.
Utilities disk and diagnostics
- Add TinySetPatch and its required MMULib CPU libraries to the bootable
utilities disk, including its updated 68030 detection. - Replace repeated shell
Echocommands with a smallwelcomeprogram,
reducing startup overhead while preserving the existing banner and tool
summary. - Update devtest to v1.9 with arbitrary direct SCSI commands, corrected
READ CAPACITY LUN encoding, improved capacity and sense-error reporting,
and CPU utilization reporting for bandwidth tests.
A4092 flash tooling
- Add
oemgfx.shto convert PNG artwork into 4-bit and 5-bit Amiga bitmap
variants, previews, and anoem.binflash blob. - Harden manufacturing date, serial number, and patch-data parsing with
explicit bounds and stricter validation. - Report single-byte SPI programming failures instead of silently ignoring
them.
Build and maintenance
- Pin build, Coverity, and release workflows to the Amiga GCC 13.4
toolchain image. - Initialize submodules recursively and remove the redundant top-level
libcodesetscheckout now supplied by ODFileSystem. - Resolve the Salvador compressor relative to
zx0wrap, allowing the
wrapper to run outside the repository root. - Update Salvador with explicit bucket-index bounds checks.
Full Changelog:
v42.37...v42.38