Zig64

Check-in [b1f425d583]
Login

Check-in [b1f425d583]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Add some memory-related helpers and make `print()` follow the same API as other Zig `print()`s
Downloads: See separate download page
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: b1f425d58333ee932c47790de2b3c2f277c815e96139191ece8820d4d3a73c01
User & Date: ryno 2025-02-04 01:05:40.393
About

Now that Debug.print() follows the same interface as std.Writer.print(), all the pieces are in place to do some basic print-debugging. This is also a critical step to getting stack traces working for the panic handler; that'll probably be the next major milestone.

I've also started shifting the memory-related functions to a dedicated memory namespace; the existing functions in PI will point there soon, and when I get around to implementing SI that'll be the same deal.

Testing has revealed that @memcpy is good enough for RDRAM and RCP writes, since they're synchronous and since @memcpy seems to be smart enough to write whole words at a time. @memcpy is still unsuitable for PI and SI writes, since it has no means of waiting for previous writes to finish before starting new ones. It's also still risky for RCP writes, since there's no enforcement of write targets starting and ending on word boundaries.

Context
2025-02-04
06:59
Finish memory operation refactor check-in: 8aaa187e2c user: ryno tags: trunk
01:05
Add some memory-related helpers and make `print()` follow the same API as other Zig `print()`s check-in: b1f425d583 user: ryno tags: trunk
2025-01-30
10:29
Put literally anything on the screen check-in: d5c698fc12 user: ryno tags: trunk
Changes
Unified Diff Side-by-Side Diff Patch
Changes to src/ISViewer.zig.
Changes to src/SC64.zig.
Changes to src/main.zig.
Added src/memory.zig.