What's everybody working on?

Still working on my OS (mainly RISC-V, https://codeberg.org/loup-os. Got the framebuffer console working for RISC-V (like some time ago) and made a centralized init system with VTables, now starting USB (xHCI) work. I don’t know how much I’ll curse, but I will. Also, I don’t have a lot of time to work on it right now, so progress is relatively slow.

(below an image of the framebuffer console rendering some text)

image

I love programming in Zig, but that may also just be because I have used it since like three years, and because it got me into systems programming.

7 Likes

working on my on FM synth with more algorithms for crazy whomp-whomp and eliminating the hunting phenomenon. I would like to make it into a clap plugin It’s gonna be fun !

5 Likes

So many cool projects from everyone. This is one reason I love this community, so much talent and so many cool projects.

My main project right now is working on a zig native debugger. I’ve been writing my own Dwarf parsing code, which has been an adventure in the arcane. I don’t have any public code right now or things to show for it, but i do occasionally live stream on youtube.

6 Likes

I still work on Cubyz, a voxel sandbox game inspired by minecraft.
The last bigger things I worked on for it were a decentralized authentication system, and SDF terrain generation, which allowed me to add sky island terrain using some partial spheres:


Currently I’m working on (who could have guessed) the Zig 0.16.0 upgrade to finally get those sweet compile time improvements (hopefully it works more reliably this time around, last time I tried, I had some issues with bool vectors).

12 Likes

I build a logging data store. It’s a time series value log, technically a Loki alternative.

3 Likes

It’s great to see the community growing so much, and the scope and ambition of what everyone is working on.

I am going to put on my grumpy hat for a moment, and issue a plea: please stop naming projects zig-thing and thing.zig. This assumes a mantle you did not ask for permission to wear.

Here’s what happens: after you show off thing (and are silently judged by more people than you seem to be aware of for your presumption), most likely, you lose interest. The code goes into the code graveyard.

But years later, someone is searching for “zig thing” and there it is: zig-thing. But zig-thing is not the Zig thing for the thing, it’s clever-name-thing, the good project we all use. That someone has to wade through the namespace pollution. Perhaps they come on Ziggit and say “does Zig have thing? I found zig-thing but it sucks and it’s years old” and we have to say “oh right. zig-thing, no, we all use good-thing-clever-name.”

It shows a lack of creativity. Please do something else instead.

9 Likes

Hello there,
as you explicitly asked for it, I’m working on (yet another) GameBoy emulator. DiMethylGlycine: Game Boy emulator

Specifics:

  • Rendering using UTF-8 / terminal escape codes
  • NO external libraries (only Zig/std)
  • I do not want to write a port of an emulator → checking other emulators behavior / code only when totally desperate (using tools / test suites / roms from others though and not retro-engineering the hardware myself)
  • NO LLM (I have to use them at work → so I banned at home for coding)

Drawbacks:

  • "Works on my machine"™ → Linux only so far (no external libraries policy; would like to support WASM at some point though)
  • It’s hard to believe how slow I am (I thought the project would take 3 months, so expected 6 but git log says nope, slowly reaching 2 years)
    Concrete example: it took me weeks of debugging / disassembly to understand why somehow I lead Tetris to write to forbidden memory until googling around resulted a painful, ~”yes it’s behaving like this, ignore writes to these addresses”

What seems to work so far: CPU / Graphics (Pixel Processing Unit) and rendering / Input (with controller support)

Next steps:

  • Port to Zig 0.16 :wink:
  • Fix timers (Tetris proto playable but most ROMs just don’t work)
  • Bootrom (will implement a custom one, already roughly know how it will look like but I will need to debug the assembler though and maybe write an image to tiles converter). BTW has https://ziglang.org/zero.svg an official sound? I’m asking for a friend…
  • Proper options parsing (my laziness brought in a lot of build-time defines…)
  • Debug interface
  • Sound (still unsure how to implement it though)

Fun facts:

  • Switched from (doom-)emacs to nvim during the project (using both on a regular basis)
  • The rendering is text, so some integration tests just diff against a file to check for pixel perfect output

Screenshot of rendered text (sounds stupid but I’m proud of being able to display this test correctly; took months to get it right. Source: GitHub - mattcurrie/dmg-acid2: 😀 The Acid2 test, now for the original Game Boy! 😀 · GitHub )

Zig specific Kudos:

  • Of course everyone committing to the core / writing doc / …
  • Before attending Mario Schallner talk, I struggled to find a way to handle utf-8 / braille a fancy way, but no: 60 FPS with square pixels and jaw-dropping graphics are doable https://www.youtube.com/watch?v=xjCv2aZiMWU - check catimg for inspiration GitHub - posva/catimg: 🦦 Insanely fast image printing in your terminal · GitHub
  • This kind of way of seeing mainstream but sub-optimal stuff as simply broken, not as “if it’s widely used, it must be optimal”
  • Thanks to the core team for breaking stuff (this probably sounds stupid but I’m sometimes working in legacy hell so yes, please continue breaking / removing not good enough stuff)
  • Hatting over-kill dishwashers and co. which should just work and be a done topic in 2026

Thank you so much to the whole community. Literally re-discovering the joy of programming in these weird dark age and learning a lot at the same time.

9 Likes

3 posts were split to a new topic: Naming things Zig which are not Zig, the language

Dude I can’t wait to play this game, you have no idea how I’m hyped for this!

1 Like

I’m working on my modbus gateway: https://codeberg.org/intales/giacomo/src/branch/gateway
Still a work in progress, but I hope to have it working by the end of next week!
The modbus library is pretty much done, it manages most of my use cases.

2 Likes
  1. Love. A simple joke utility that does only one thing — after launching, it outputs the phrase “I love you!” to the console. If you pass a parameter with a name, the phrase will include that name. For example: “I love you, Jane!”. GitHub - ktarasov/love: A simple joke utility that does only one thing — after launching, it outputs the phrase "I love you!" to the console. If you pass a parameter with a name, the phrase will include that name. For example: "I love you, Jane!". · GitHub

  2. Zigrep. A file search utility based on the Linux grep utility. GitHub - ktarasov/zigrep: The educational project of the text search utility in files, written in the Zig language. · GitHub

  3. FFI for PHP on Zig. GitHub - ktarasov/zig_php_ffi: Пример реализации FFI для PHP на языке программирования Zig · GitHub

3 Likes