Per Vognsen

@pervognsen
2.5K Followers
356 Following
10.1K Posts
I like programming and understanding how stuff works. My background is in systems programming and game development.
Finally getting around to playing Silksong. Really good but it would be strictly better if they dropped some of the soulslike baggage like dropping resources on death and annoying runbacks.
New blog post: "Simple batch decoding of unary codes" https://fgiesen.wordpress.com/2026/05/30/simple-batch-decoding-of-unary-codes/

Aaand it's done.

There might be some minor timing still to validate and nail down, but the intro from Cryo's Dune is fully reverse engineered.

https://www.youtube.com/watch?v=jpB9wmr_sl0

#ReverseEngineering #Dune #CryoInteractive

Cryo Dune intro 2026-05-24

YouTube

I'm incredibly pleased to announce that the microcode for the Intel 80386 has been decoded.

It was a group effort by a bunch of talented people to extract and correct the physical bits, but the major work of decoding them was done by reenigne - you may know him from such incredible PC demos as 8088 MPH and Area 5150, as well as being the person who decoded the 8088 microcode previously.

Please, check out his writeup.

https://www.reenigne.org/blog/80386-microcode-disassembled/

#retrocomputing #vintagecomputing #microcode #reverseengineering

80386 microcode disassembled « Reenigne blog

@BlenderStudio has just released a new short film, "Singularity"! Watch it here, https://www.youtube.com/watch?v=l5OZu-IrXpw #blender  

This was their first movie in both 4K and HDR, and that aspect from the software side I also had a tiny part in. Here's a premiere stream with some development process details: https://www.youtube.com/watch?v=T6rIuMKYxww (my part at around 1 hour mark)

SINGULARITY - Painterly Space Adventure

YouTube
Apparently wolves are back in Danmark and a quick search shows some hilarious news headlines. Politiken: Er der virkelig nogen, der render rundt og fodrer ulve med godbider? Translation: Is anyone really running around and feeding treats to wolves?
Speaking of Amiga, "Second Nature" demo writeup by @gigabates: https://blog.grahambates.com/posts/second-nature/
Second Nature

Second Nature is a demo for the Amiga OCS platform by Desire and TTE. It was released at Revision 2026, taking first place in the Amiga demo competition. It requires 1MB total RAM and fits on a single 880k floppy disk. The people involved this time were: Me (gigabates): Code, additional graphics Pellicus: Code Steffest: Graphics Iridon: Graphics H0ffman: Music, additional code RamonB5: Support https://www.pouet.net/prod.php?which=105988 https://demozoo.org/productions/390027/ The concept # I really wanted our next demo to have a coherent theme and narrative, rather than being a pure effects show (not that there’s anything wrong with those kind of demos). This is one thing that people seemed to like about Inside the Machine and I wanted to see if we could take that further as it’s maybe something that’s a little bit underexplored on OCS.

Gigabates
With the DRAM shortage, maybe it's time for RAM Doubler and other assorted scamware to make a comeback. On that note, https://devblogs.microsoft.com/oldnewthing/20211111-00/?p=105897
The inside story of the outside investigation of SoftRAM 95 - The Old New Thing

It had a plan, but didn't quite execute on it.

The Old New Thing

I've written a page describing the security model that niri operates under (unsandboxed programs are trusted): https://niri-wm.github.io/niri/Security-Model.html

If I misunderstood or missed something, please tell!

#niri #wayland

Security Model - niri

Example: In C, <cond> ? <int expr> : <double expr> is annoying in a single-pass compiler because you have to go back and insert an int-to-double conversion at the end of the <int expr> basic block, or more likely you use a shim basic block just for that conversion (which I believe is what tcc does), once you determine that the overall expression has type double. You have the same problems (and same solutions) when single-pass compiling the equivalent case with let assignments.