v1.0.0-alpha.2 (housekeeping) — binaries refreshed from upstream after PRs merged
Pre-releasev1.0.0-alpha.2 — housekeeping release
This is a housekeeping release. No new code, no functional
changes, no bug fixes. If v1.0.0-alpha.1 is already running on your
system, there is no reason to update.
What this release actually is
Between May 13 and May 15, 2026, upstream crazii/USBDDOS merged
every patch from this fork's v1.0.0-alpha.1 series — PRs crazii#22 through
crazii#30, covering the full 8-gap OHCI/HCD/hub catalog. The patches now
live at upstream master (b1308fb) and are no longer carried as
fork-side cherry-picks.
This v1.0.0-alpha.2 release exists to refresh the attached binaries'
build provenance: alpha.1's binaries were built from a fork-side
tag, alpha.2's are built directly from a public upstream commit.
Anyone can verify the alpha.2 binaries by running:
git clone https://github.com/crazii/USBDDOS.git
cd USBDDOS && git checkout b1308fb && cd Make
wmake -f Makefile.WC DEBUG=1 # produces USBDDOS.EXE
make -f Makefile # produces USBDDOSP.EXE
The MD5 of the resulting USBDDOS.EXE should match
39962c2092961ba679467ba46ab24c43 (the Watcom toolchain produces
deterministic output for identical source).
What's actually different between alpha.1 and alpha.2
Nothing functional. Specifically:
USBDDOS.EXE(Watcom debug): byte-identical to alpha.1's. Same
94,380 bytes, same MD539962c2092961ba679467ba46ab24c43. This
match confirms that Crazii merged each patch unmodified.USBDDOSP.EXE(DJGPP release): differs by exactly 7 bytes from
alpha.1's — the embedded git short-hash in theUSBDDOS_BUILD
define (b1308fbhere vsafb2b84in alpha.1). All other bytes
identical.
If you have one of the affected target platforms and were testing
alpha.1: keep going with what you have. Your reports against
alpha.1 are valid for alpha.2 and vice versa. Don't restart your
testing.
Why a separate release at all
A few practical reasons:
- The fork's release page is the public-facing artifact people find
via search; "binaries built from upstream commit X" is more useful
guidance than "binaries built from this fork's afb2b84." - The CHANGELOG and README needed to be updated to reflect upstream's
resumed activity. Cutting a release marks the corresponding
documentation state. - If a future bug is reported against the binaries, it's clearer to
reference alpha.2 (which points at a verifiable upstream commit)
than alpha.1 (which points at a fork-side tag whose relationship
to upstream needs explanation).
What this release does NOT do
- Add new fixes (Gap 7 and EHCI USBLEGSUP/USBLEGCTLSTS still pending)
- Bump the alpha label — real-hardware verification is still pending
and is unrelated to where the source lives. Promotion to beta or
v1.0.0 still requires at least one independent real-hardware test
report per patched gap. - Change any user-facing behavior
Upstream PRs merged (recap for the historical record)
- PR crazii#17 — stanwebber: case-correct
#includepaths - PR crazii#22 — Debug: enable COM1 logging in
_LOGpath - PR crazii#23 — HCD: relax
HCD_RemoveDeviceteardown asserts - PR crazii#24 — Gap 4: fix invalid
ClearPortFeature(PORT_RESET) - PR crazii#25 — Gap 8: wait POTPGT × 2ms after SetPortPower
- PR crazii#26 — Gap 2: INITRESET-equivalent verify-and-retry
- PR crazii#27 — Gap 3: bound the OHCI SMM-handoff wait loop
- PR crazii#28 — Gap 1: OHCI UnrecoverableError recovery
- PR crazii#29 — Gap 6: skip HcFmInterval access on ALi M5237
- PR crazii#30 — Gap 5: disable OHCI Legacy Support emulation
License
GPL-2.0, inherited unchanged from upstream crazii/USBDDOS.