Pinned toot

Time for .

I'm a software engineer who went from backend to frontend development. I enjoy most, but have dabbled in too many to list. I speak 🇩🇪 🇬🇧 🇷🇺. Things fascinating me:

- japanese and soviet-era culture

In other words, I've implemented the Super CHIP-8 instructions and can run ROMs at "high" resolution, that is 128x64 (instead of 64x32) pixels. I suspect that drawing high-resolution sprites is broken though, this here is supposed to be a robot jumping around.

Performance is much improved now! Here's a BMP viewer at 1200 instructions per second.

alita movie Show more

I've added support for the Super-CHIP-8 instructions in a separate branch. Redrawing in extended mode (which doubles the dimensions, effectively quadrupling the resolution) is super slow and requires scaling the frame font down to fit the screen fully. Time to debug whether anything can be done to improve performance.

I wrote a test suite covering all opcodes. This makes changes to the implementation far less annoying to test because I can be absolutely sure I didn't break anything by accident.

I must say, Buttercup is a far nicer library for testing libraries than the built-in ERT.

Tunapunk boosted

Made the cats a drinking fountain.

It's just a plant pot with a tiny pond pump and some pebbles.

All hooked up to a PIR sensor so it only runs when a cat passes by.


It makes it with some bruises and typos. Could have been a lot worse. The movie is nice, I went into it with someone else from my hackerspace who doesn't know the franchise at all, he enjoyed it almost as much as me. I only wish it was like, an hour shorter. 150 minutes running time is insane for something with heavy dialogue.

I only have one question: Will the witty jokes in Zoku Owarimonogatari survive the German translation unscathed? Favorite for yes, boost for no.

The special occasion is the city cinema screening anime movies the whole day, undubbed, with German subtitles. The best part: Seeing all the weebs shuffling around uncomfortably, waiting for the next movie to begin.

It's not all roses though.

Previously: I see someone with missing teeth.
Now: I can count how many are missing.

It feels unreal to put on the glasses after a year without them and seeing the world in 4k.

Implemented the last opcode which allows to wait for key input. This is harder to achieve than it sounds because can run emulator code while it's waiting for user input...

The following demo, Kaleidoscope, is played at 1200 cycles per second.

Basic key input works now which allows me to finally play some games. Have some Tetris.

Welp, I wrote my own memcpy function... in . No more noticable GC pauses.

Rendering does no longer redraw the whole frame, now the emulator can run this animation at 1200 cycles per second, with the occasional GC hiccup.

I'm looking forward to debugging performance issues. The profiler already threw assertions at me and is known to be useless for memory recording, so back to good ol' printf-debugging I guess...

Tunapunk boosted

It took a bit of work and it's longer than I expected, but here's my tutorial on how to setup your own VPN server with WireGuard:


Show more

We are a cute and loving international community O(≧▽≦)O !