Krzysztof Szewczyk

malbolge v2

Time for the real stuff.

I feel like my previous Malbolge programs were just proofs of concepts. Well, it's a point, but now it's time to get real. Instead of solving petty codegolf challenges, it's time to roll up a few real programs.

Malbolge chess.

The first and the biggest project is the malbolge chess program for two players. It's able to check moves like en passant and castling. This program may be too slow and too memory-requiring to play on a normal computer (estimate of between 31GB to 2TB of RAM is required), but it's 100% possible for it to work - the assembler used has 100% coverage and has been extensively tested, so the chess program without doubt works.

Deadfish interpreter

Alright, this one ain't really this real. The deadfish interpreter has been made just for the esolang wiki dudes, to fullfill the interpreters, selfinterpreters and esoteric language in esoteric language interpreters. I like it though, as it demonstrates many capabilities of the mbasm, while making the code genuinely runnable.


This one comes in two variants, the brainfuck one made using Izmit3, and the Malbolge one. First, I made a C reference implementation that I compiled to brainfuck, and then I made the C into mbasm by hand compiling it and packing the result. The game is probably playable on Malbolge variant and is definitely playable on Brainfuck variant.

Additional facility: fast20 interpreter

The fast20 interpreter (that I'm not really an author of), has been distributed among many of my Malbolge programs. I used fixed-rotation width interpreter of 20, and then I stripped all the unnecessary checks from the interpreter making it a tiny bit faster. I'm still open for some ways of making it faster and better, be sure to tell me when you find such.