Skip to content

Releases: sidick/volamos

v0.7

Choose a tag to compare

@github-actions github-actions released this 16 Sep 22:30
2abcdad

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

Choose a tag to compare

@github-actions github-actions released this 16 Sep 09:38
b055b0e

What's Changed

  • Add --sanitize, a valgrind/ASan-style memory sanitizer (issue #65) by @sidick in #66
  • Extend --sanitize to stack bugs: below-SP accesses and return-address corruption (issue #65) by @sidick in #67
  • Bump version to 0.6.0 by @sidick in #69

Full Changelog: v0.5...v0.6

v0.5

Choose a tag to compare

@sidick sidick released this 14 Sep 18:56
  • 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 in fixtures/echoargs.s/libcall.s: A0 is a scratch register
    across any library call (real Kickstart's OpenLibrary clobbers it;
    volamos's own doesn't), so reading the command-line pointer back from
    A0 after an OpenLibrary call 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
    OpenLibrary stand-in with no real function support. Mirrors
    mathieeedoubbas.library/mathieeedoubtrans.library function-for-
    function on plain f32 instead of f64. Fixed a real bug found via
    amitools' own math_single_trans ground truth along the way:
    IEEESPPow's result is y raised to the x power (IEEESPPow(3.0, 4.0) -> 64.0 = 4**3), not x raised to y as a naive reading
    of its .conf-derived argument names would suggest -- tracing this
    down also revealed mathieeedoubtrans.library's existing
    IEEEDPPow already had the equivalent (correct) behavior, just a
    misleading doc comment, now corrected.

v0.4

Choose a tag to compare

@github-actions github-actions released this 12 Sep 11:23

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

Choose a tag to compare

@github-actions github-actions released this 06 Sep 21:40

What's Changed

Full Changelog: v0.2...v0.3

v0.2

Choose a tag to compare

@github-actions github-actions released this 29 Aug 15:33

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_OVERLAY executables (SLink-style overlay trees) now load and run
  • MEMF_CHIP/MEMF_FAST flags on body hunk-type words handled (chip-marked data hunks previously failed to load)
  • AddTask/RemTask (pretend-scheduled), StackSwap, RawPutChar/RawIOInit/RawMayGetChar debug serial trio (maps to stderr)
  • dos.library AddBuffers, locale.library catalogs, layers.library recognized 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

Choose a tag to compare

@github-actions github-actions released this 21 Aug 22:07

What's Changed

New Contributors

Full Changelog: https://github.com/sidick/volamos/commits/v0.1