-- Main page -- Programming -- Electronics -- Radio -- Astronomy -- Chinese -- Links -- About me --

Minor programming projects

These are some projects that I fear would give the wrong (or worse: right) impression of me if I put them on my main project page. Some of the projects are merely very old, others are trivial or unusual.

ProjectYearDescription
SAT solver2006 Simple SAT solver in SML. "Not non-trivial," as the SML community would put it.
Thai2006 A very small functional language, with compilers. A two-tuple is the only datatype avaliable.
netcat IRC2006 An extremely simple IRC client using the netcat tool for networking.
NASA picture conversion2005 A couple of quick Ruby hacks to convert the formats used by NASA's Voyager and Galileo space probes to post-70s formats. Requires Ruby and Imagemagick. Also includes a decompressor written by NASA or some associated organization and modified by me (removed some VMS-specific code). As a work by the US government you shouldn't run into any trouble using it, but if you're really paranoid you might want to read up on international copyright law before using this.
Happy Birthday, enthusi!2005 This is a birthday demo for Martin Wendt, a true C64 fanatic. It's a multicolour brainfuck interpreter, using the screen RAM for data and code, meaning that you see the code execute and modify itself! The code is for the Acme cross-assembler. A PRG binary is also available.
Lanton's Ant2005 An implementation of Langton's Ant for C64. My first real 6502 program, and I personally think it's quite nice. Martin Wendt converted the code from the native TASM assembler to the Acme cross-assembler, so that you can watch this program in a C64 emulator as well.
BrainFuck compilers2004 The BrainFuck programming language is extremely simple, which makes it a popular language to implement, preferably using very few instructions or an odd programming language (such as BrainFuck itself). I have written one of the smallest 16-bit compilers for it.
FOOL2004 Forth On One Line (FOOL) is one of the more compact languages in existance, that isn't entirely useless. Advantages include speed of compiling, small size, and funny looks from other people.
Minix compilers2003 These are some simple compilers (for BrainFuck and Le, the latter being a language based on smileys) I wrote to test low-level programming in Minix. Sorry, they only compile code targeted for Minix, although retargeting them should be a trivial task. The actual compilers are written in ANSI C. Download minix-bf.tar or le.tar here.
Primula2002 An attemt to write a simple x86 operating system. Later I based the F system (see the main projects page) on Primula. Neither is particularly useful, but I list it here because I spent some effort on it back then.
MTV2002 A stack-based virtual machine for AVR microcontrollers. Develped on an STK500 board, it supports using DataFlash for code and data. There's also a Forth cross-compiler and a native compiler/interpreter for the VM. Although most of the applications were never tested on the AVR (I got lazy and wrote an emulator), the VM itself could still be pretty useful, with features like the DataFlash support (using both of its SRAM buffers, so performance is acceptable).
MSA2000 A very simple DOS assembler, with a NASM-like syntax. It works and some example programs are included, but there is no macro support. Tested on a 286 with 640kB of RAM.
Europe at War2000 This is a game I wrote in QBASIC a number of years ago, because I thought it had been too long since my last BASIC project. There's a Swedish and an English version (the latter was translated by Mattias Arreborn). Your goal is to conquer Europe with the mighty army of Sweden.
Cnasica2000 An interpreter for a BASIC-like language. Probably the first somewhat useable programming language interpreter I wrote. Originally written for DOS, but I've later ported it to Linux.
Game41999 This was my first larger assembly language project, a pretty simple tile-based adventure game. Features a level editor and some nice graphics. Trivia: my sister (who was 8 or 9 years old at the time) is responsible for some of the levels. Written with TASM for DOS.