GasInfinity/zitrus
2
24
Fork
You've already forked zitrus
3

update to zig 0.16.x + additions + fixes #4

Merged
GasInfinity merged 4 commits from z0.16.x into main 2026年02月19日 13:11:24 +01:00

Merge blockers

  • don't fetch the entire zig compiler with the forked std
  • (削除) std.Build helper to add required flags to executable (削除ここまで) not really needed with named lazy paths
  • fully finish initial horizon.Io, stubbing unimplemented functions so they return errors instead of compile errors
  • (削除) update/add docs (削除ここまで) If you need docs or help, reach out. I won't write docs if no one is using the library as I'd have to keep updating them 🥀
# Merge blockers - [x] don't fetch the entire zig compiler with the forked `std` - [x] ~`std.Build` helper to add required flags to executable~ not really needed with named lazy paths - [x] fully finish initial `horizon.Io`, stubbing unimplemented functions so they return errors instead of compile errors - [ ] ~update/add docs~ If you need docs or help, reach out. I won't write docs if no one is using the library as I'd have to keep updating them 🥀
* all: update to master zig 0.16.x-dev
* all: use the new `arm-3ds` target
* horizon/debug: implement a proper panic handler and segfault handler
* horizon: use `Io.failing` temporarily (thanks sfiedler)
* dependencies: remove zdap (deprecated), plz parse the arguments
* tools & scripts: use plz
* horizon/heap: copy SbrkAllocator directly from master
* horizon/AddressArbiter: workaround azahar kernel emulation accuracy
* build: AssembleZpsm -> AssemblePsm
* build: *.horizon.query -> `arm-3ds`
* all: misc fixes that may not apply to anything said
* 🥀 unfortunately use a forked std to allow greater overrideability.
* horizon.Object: make it a `packed struct` instead of an `enum`
* horizon.heap: add `CommitAllocator` which is thread-safe
* horizon.tls: implement TLS variables via software TLS.
* horizon.AddressArbiter: workaround some azahar accuracy issues and add
 `Mutex` and `Parker`.
* horizon.debug: basically rewrite it, it now outputs the same info as
 the default in std but without debug info yet.
* horizon.testing: needed to override the default in std.testing
* horizon.Thread.Impl: init, overrides std.Thread
* horizon.process: init, overrides std.process
* horizon.config: fix the `Kernel` struct
* horizon.Init: yeah, we also have JUICIER main's. Replaces
 horizon.application and has less boilerplate.
* horizon.Io: init but not finished, only synchronization, debug
 output, romfs and misc things are implemented.
* horizon.Io.test: import from std
* hardware.cpu.arm11: add a `Monitor` wrapper (ldrex/strex)
feat(horizon.Io): juice-up the main
All checks were successful
CI / build-test (ubuntu-latest-aarch64-tiny) (pull_request) Successful in 20m13s
312e48b0b5
ci: split CI and CD and re-enable CI on pull requests.
horizon.Io: unfortunately... use a global 😭
horizon.Init: add an `io` field
horizon.start: init global Io if juiced
gitignore: add zig-pkg
chore(horizon.Io): stub more functions
Some checks failed
CI / build-test (ubuntu-latest-aarch64-tiny) (push) Waiting to run
CD / release-dev (push) Has been cancelled
CI / build-test (ubuntu-latest-aarch64-tiny) (pull_request) Has been cancelled
8c916a13f2
* almost all unimplemented functions return an error instead of a
 compile error
GasInfinity changed title from (削除) WIP: update to zig 0.16.x + additions + fixes (削除ここまで) to update to zig 0.16.x + additions + fixes 2026年02月19日 13:08:32 +01:00
Sign in to join this conversation.
No reviewers
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
GasInfinity/zitrus!4
Reference in a new issue
GasInfinity/zitrus
No description provided.
Delete branch "z0.16.x"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?