Releases: sidick/volamos
Release list
v0.7
What's Changed
- Skip leading debug/symbol hunks, and implement exec Disable/Enable (issue #70) by @sidick in #75
- Add fixtures/matchflags, and make the three-way harness's model a flag (issue #58 groundwork) by @sidick in #77
- Consolidate the hardware-verified vamos divergences into user docs by @sidick in #78
- Add --sanitize-uninit and --sanitize-ignore-pc (issue #68) by @sidick in #79
- Add --dirty-heap: poison-fill non-MEMF_CLEAR allocations (issue #80) by @sidick in #81
- Report source file:line (or symbol+offset) in diagnostics (issue #74) by @sidick in #82
- Poison the other allocators that carve from the guest heap by @sidick in #84
- Update the README for the sanitizer work by @sidick in #85
- Add the missing changelog entry for #84 by @sidick in #86
- Bump version to 0.7.0 by @sidick in #87
Full Changelog: v0.6...v0.7
v0.6
v0.5
- Fixed the guest command-line buffer's missing trailing space
(issue #63): whenever a launched program has at least one argument,
real AmigaOS's own command-line buffer carries a trailing space
before the final'\n'("foo bar baz \n", not"foo bar baz\n") -- confirmed directly against real Kickstart 2.0/3.0/3.1
hardware via a new local, real-Kickstart comparison harness
(tools/compare_kickstart_versions.py, using Copperline's
copperhf.device). Kickstart 3.2 alone doesn't add it -- a real,
intentionally-untouched AmigaOS version difference, not a bug (this
project targets 3.1 first). Also fixed a real bug found along the
way infixtures/echoargs.s/libcall.s:A0is a scratch register
across any library call (real Kickstart'sOpenLibraryclobbers it;
volamos's own doesn't), so reading the command-line pointer back from
A0after anOpenLibrarycall is real-hardware-unsafe even
though it happened to work under volamos. - Implemented
mathieeesingbas.library/mathieeesingtrans.library:
the single-precision IEEE math libraries, previously only a fake
OpenLibrarystand-in with no real function support. Mirrors
mathieeedoubbas.library/mathieeedoubtrans.libraryfunction-for-
function on plainf32instead off64. Fixed a real bug found via
amitools' ownmath_single_transground truth along the way:
IEEESPPow's result isyraised to thexpower (IEEESPPow(3.0, 4.0)->64.0=4**3), notxraised toyas a naive reading
of its.conf-derived argument names would suggest -- tracing this
down also revealedmathieeedoubtrans.library's existing
IEEEDPPowalready had the equivalent (correct) behavior, just a
misleading doc comment, now corrected.
v0.4
What's Changed
- Update Rust crate m68k to v0.13.0 by @renovate[bot] in #39
- Implement ExAll/ExAllEnd (the readdir() backbone) by @sidick in #40
- Reject above-root parent steps; canonicalize lock-name volume spelling by @sidick in #41
- Consult a .volamos next to the launched binary; anchor config paths by @sidick in #42
- Install standard-volume defaults (SYS:/RAM: and their assigns) by @sidick in #44
- Add local comparison harness against amitools' own test/bin corpus by @sidick in #50
- Fix mathffp/mathtrans FFP encoding, RawDoFmt %b/%x, and Seek() EOF bounds (#45, #47, #48, #51, #53) by @sidick in #56
- Fix AnchorPath's ap_Buf qualification (#46); implement dos.library/FindArg (#55) by @sidick in #57
- Fix AnchorPath's volume-root fib_FileName to be blank (#58, finding 1) by @sidick in #59
New Contributors
Full Changelog: v0.3...v0.4
v0.3
What's Changed
- Update Rust crate m68k to v0.12.1 by @renovate[bot] in #38
- Update Rust crate socket2 to 0.6 by @renovate[bot] in #37
Full Changelog: v0.2...v0.3
v0.2
Highlights
bsdsocket.library (new)
Full host-socket-passthrough networking: socket/bind/listen/connect/accept/send/recv plus WaitSelect (real poll(2)-backed, with timeout and signal-mask semantics), SO_EVENTMASK/GetSocketEvents/SetSocketSignals event delivery, DNS (gethostbyname/gethostbyaddr) and services/protocols lookups, scatter-gather sendmsg/recvmsg, Dup2Socket, IoctlSocket (FIONREAD), MSG_PEEK, classful Inet_LnaOf/NetOf/MakeAddr, SocketBaseTagList, and honest errno handling throughout. Enabled with --net.
intuition.library screen & window model (new)
A single always-open default public screen (640x200, WBENCHSCREEN) backs LockPubScreen/GetScreenData with real struct data; OpenWindow/CloseWindow return fully-wired struct Windows (RastPort, no-op UserPort) — no rendering, honest handles.
graphics.library (new)
OpenFont/CloseFont/SetFont for the built-in topaz 8 ROM font with its real metrics; TextLength/Text width math (exact for fixed-width topaz); pen/mode/position state setters stored honestly in the RastPort; render calls (RectFill, Draw, ...) pretend-succeed for headless operation.
Loader & exec improvements
HUNK_OVERLAYexecutables (SLink-style overlay trees) now load and runMEMF_CHIP/MEMF_FASTflags on body hunk-type words handled (chip-marked data hunks previously failed to load)AddTask/RemTask(pretend-scheduled),StackSwap,RawPutChar/RawIOInit/RawMayGetChardebug serial trio (maps to stderr)dos.libraryAddBuffers,locale.librarycatalogs,layers.libraryrecognized as ROM-resident
Real-software corpus
Verified end-to-end this release: MKSoft DiskSpeed 4.2 (full benchmark suite), Cloanto AExplorer (window UI + socket setup), pLhA 2.15, plus the existing SAS/C compile and Workbench C: command corpus.
Full Changelog: v0.1...v0.2
v0.1
What's Changed
- Configure Renovate by @renovate[bot] in #1
- Update actions/checkout action to v7 by @renovate[bot] in #3
- Update actions/cache action to v6 by @renovate[bot] in #2
- Update Rust crate m68k to v0.11.0 by @renovate[bot] in #11
New Contributors
Full Changelog: https://github.com/sidick/volamos/commits/v0.1