Implementing a CHIP-8 emulator

Writing a simple emulator from scratch is fun: rCHIP8

11 minute read

I’ve written about the CHIP-8 machine before. It is a very simple interpreted programming language that can be implemented without much hassle by anyone interested in getting their feet wet with emulators. It is commonly regarded as the “hello world” of emulators.

Some time ago I decided to implement a CHIP-8 emulator in Rust as my second project written in that language. My first foray into the language was the porting of the Gaia Sky LOD catalog generation tool from Java. This allowed us to substantially increase the generation speed and dramatically (really) decrease the memory consumption of the processing, to the point where a processing that previously needed more than 2 TB of RAM could now be done with less than a hundred gigs. Back to the topic at hand, I called my implementation rchip8 (very creative). This post describes the process and structure of such an emulator with more or less detail.

What's new in Gaia Sky 3.1

Short rundown of what's in this major release

6 minute read

Over the last two weeks I have released the feature-packed version 3.1.0 of Gaia Sky. Two bugfix releases (3.1.1 and 3.1.2) followed shortly to fix bugs and regressions introduced in the former. This post contains a small rundown of the most interesting features in these three new versions. Let’s get started.

GNU screen cheatsheet

Quick reference to GNU screen essential bindings

2 minute read

GNU screen is a terminal multiplexer that allows for different virtual windows and panes running different processes within the same terminal session, being it local or remote. This post contains a quick reference to the most used default key bindings of GNU screen. In contrast to other terminal multiplexers like tmux, GNU screen is probably already installed in your server of choice.

Gaia Sky 3

Dramatic performance improvements and lots of new features in Gaia Sky 3

10 minute read

It’s been a while since I last talked about new Gaia Sky releases. Today I’m doing a recap of the last four releases, starting with 3.0.0. This very verison came out with Gaia eDR3 on Dec 3, 2020. It was a big jump for Gaia Sky, as it introduced a plethora of new features and QOL improvements along with lots of bug fixes and little tweaks. This post goes over the latest versions from 3.0.0 to 3.0.3, and reflects on what they brought to the table.

Jump to the analysis for each of the versions directly:

Gaia Sky 2.2.0

Planetary surfaces, keyframed camera, new scripting and more

6 minute read

Today we are releasing a brand new version (2.2.0) of Gaia Sky with several major changes and new features. To sum up, github reports 1071 changed files, with 81672 additions and 31763 deletions. Gitlab displays a “Too many changes to show” banner, as their cap is at a 1000 files. This makes it by far the largest release ever, followed by version 1.5.0 in the summer of 2017.

Website design by myself. See the privacy policy.
All content on this site is licensed under CC-BY-NC-SA 4.0.