Where every byte matters, sharp minds shine

Greetings. I'm Mateusz, a Polish programmer currently living in France. In my spare time, I enjoy crafting open-source software. My work focuses on retrocomputing systems - primarily the 8086 architecture and DOS - once foundational to early human digital civilization.

Why spend time on obsolete platforms? I'm glad you asked. These systems, limited in memory and processing power, demand precision, creativity, and respect for every byte. Exploring them is both a technical challenge and a tribute to the engineers and programmers of the past who achieved remarkable feats with minimal resources. It's a humbling reminder of how much can be done with so little - and how elegant simplicity can be.

This page showcases a collection of projects I've built over the years. Most are released under free/libre open-source licenses. I also have a few odds and ends tucked away in the archive section, preserved for historical continuity. Nothing too exciting, but you're welcome to explore.

Feel free to get in touch if you spot a bug, have a suggestion, or just want to share a word of appreciation.

• • •

AMB

The Ancient Machine Book is an extremely lightweight file format meant to store any kind of hypertext documentation that may be comfortably viewed even on the most ancient PCs: technical manuals, books, etc. Think of it as a retro equivalent of a *.CHM help file.

ANSiMat

Graphical viewer and converter of oldschool ANSI/ASCII art files for modern platforms.

Atomiks

Atomiks is a faithful remake of, and a tribute to, Atomix, a classic puzzle game created by Softtouch & RoSt and published in 1990 by the Thalion Software company. Atomiks is free software, and shares no code with the original Atomix game.

autoreplybot

pretty universal 'out of office' auto-reply bot for your company's mail server

autowol

Automatically power on a local computer when needed (Wake-on-Lan).

backconn

connect to your remote machines even when they are behind a firewall or NAT

blindmaster

audio-only logic game about finding out a secret code through deduction

bsum

Tiny (256 bytes) DOS tool that computes the BSD checksum of files. x86 assembly sources included.

DOSMid

MIDI player for MPU401 synthesizers, AWE32/64 wavetables and OPL2/3 chips running under DOS.

Dr. Mind

16-bit DOS adaptation of the Mastermind™ board game. The game features a set of 24 pictures - each time you work out a valid code combination, you are rewarded with a picture.

DWOL

Tiny WOL (Wake-On-LAN) implementation for DOS. x86 assembly sources included.

EduQiz

Computer tool meant to assist students or children in memorizing words, facts, dates, or any other information through repetitive quizzes. Supports VGA graphics and SoundBlaster digitized sounds.

elibsrv

light, standalone ePub/PDF/Mobi aggregator with OPDS and web frontends

Emeritus Pong

Clone of the good old PONG game. It tries to be relatively close to the original, therefore no fancy graphic or astonishing sound effects there.

emubns

Braille 'n Speak synth emulator

EtherDFS

Network drive for DOS. This is an 'installable filesystem' TSR for DOS. It maps a drive from a remote computer (typically Linux-based) to a local drive letter, using raw ethernet frames to communicate (ie. no TCP/IP setup required).

ethflop

DOS TSR that emulates a floppy disk drive. The emulated (virtual) floppy disk is, in fact, stored on a Linux server as a floppy image. All the communication between ethflop (the TSR) and ethflopd (the Linux daemon) is exchanged over raw Ethernet. No need for any network configuration - the DOS PC only needs to have some kind of Ethernet adapter (physical or emulated, for example through PLIP) and a suitable packet driver. Hand-crafted in x86 assembly. Requires only 2K of available memory.

FoxCalc

Calculator for DOS (mouse support, big numbers...)

Gopherblog

Gopherblog is a simple blog engine for Gopher. It is a CGI application that is meant to cooperate with a compliant gopher server (like Motsognir). It is written in ANSI C89 for maximum portability.

Gopherus

Free, multiplatform, console-mode gopher client that provides a classic text interface to the gopherspace.

Hangman

Computer DOS version of the 'hangman' game, multiple languages and multiple dictionaries. Written in QuickBASIC.

libpop3

Very light POP3 library for C. It allows to list, fetch and remove messages from a POP3 mailbox. This library relies on RFC1939 as reference and uses most basic POP3 commands to provide maximum compatibility across different servers.
libpop3 is written in ANSI C (C89) without any external dependencies, thus it can be compiled and used on anything, anywhere.

localcfg

locales configuration tool for DOS

M3ULIST

playlist (M3U) generator for DOS

Mateusz' DOS Routines (MDR)

collection of C files that contain a variety of routines to ease the development of real mode DOS applications.

mateuszbb

minimalist, easy-to-use, easy-to-administer and distraction-free forum engine written in PHP.

MiNES

portable editor for Nintendo ROMs in the iNES format.

Motsognir

Robust, reliable, dependencies-free and easy to install gopher server for Unix-like systems (Linux, BSD, and anything else POSIX-compliant).

MVCOMP

lightweight data compression for low-resource systems.

OGUP

The Observable Gopherspace Universe Project is a gopher spider that scans the gopherspace to discover new servers and maintain a list of active servers.

OpenKropki

Open-source implementation of the 'Kropki' game. Kropki is a pen & paper game that was quite popular in Poland (kropki), Russia (точки), Czechoslovakia (židi), Ukraine (крапки) and a few other eastern Europe countries. The game's name translates simply as 'dots'.
The concept is similar to Go, although it had to be adapted for on-paper gameplay.

Poludnitsa

simple online quiz/exam platform

ptiblogphp

This is a tiny, extremely light PHP blog engine. It stores all its content in filesystem, hence it requires no database. Only a web server with PHP. MIT license.

PTUI

Portable Terminal UI library. This is an ANSI C library that provides simple terminal-handling routines that can operate on Linux, Windows and DOS.

pworg

Personal Web Organizer: a PHP calendar system to keep track of appointments, todo items and notes.

qdgal

simple, no-nonsense, no-sql PHP image gallery system

rcal

'rolling paper' calculator for 8086+ computers

Simple Sokoban[Linux/Windows]

Multiplatform Sokoban game. Written in ANSI C89, uses SDL2 for user interactions.

SlankLink

simple, single-file php script that acts as a "url shortener" (does not need a database)

smartstr

Tiny, ANSI C library that strives to protect the programmer against common mistakes that occur when handling character strings. It does so by providing a new, opaque data type called "smartstr_t", as well as a set of functions that deal with it.

Sudoku86

Mouse controlled Sudoku game for 8086 CPUs. This is a 16-bit, real mode application using CGA or VGA video output (320x200). Sudoku86 comes with 100 embedded sudoku grids of variable difficulty, and allows to load external level files, too.

SvarDOS[operating system, 8086+]

A DOS distribution I built because I was fed up with FreeDOS. SvarDOS is everything I wanted my DOS to be: lightweight, fast, and minimalist. Fully 8086-compatible, yet designed as a universal base for enthusiasts and developers across PCs from the 1980-2000 era. Includes multi-language support. Made for those who favor control and efficiency over handholding.

taprouter

User mode, router-like software that allows to use SLIRP from within TAP-attached systems.

uHex

Simple, lean and fast console-mode hex editor.

utf8tocp

Console mode tool that converts UTF-8 text files into other codepages back and forth.

zBoy

My GameBoy emulator - pretty good compatibility, many features.

Zmiy

Snake game, similar to 'Nibbles'. It might not look super appealling, but that's not the point. This is a game that is optimized for 8086 CPUs with only a few kilobytes of available memory (runs under DOS).

Below is my virtual archive, a quiet corner where I’ve tucked away projects from the past. These are works I no longer pursue or showcase, but they still hold stories, ideas, and curiosities that may intrigue a wandering mind.




1st programs[QuickBASIC, 1999-2002]

Some of my earliest dabblings in programming, mostly QuickBASIC, a little bit of GW-BASIC, and a whim of Turbo Pascal. Overall very primitive works.

AwesomePossum

This is the prototype of a game engine I created back in 2013 for a simple platformer.

BasicNews

Small news (NNTP) server for private use, meant to be used as an internal company/home news server, or simply as an isolated internet news server. Written in FreeBASIC with some functions being implemented in C.

BreedFile

web-based database software designed to help the stockbreeder get hold of its livestock's data

Dice

Simple (virtual) dice roller.

DOS/EGA

TrueType Font (TTF) that mimics the oldschool EGA font, I recreated it by hand, pixel after pixel, in FontForge

Dvalinn[2011]

a TFTP server for Linux, written in FreeBASIC with linkage to SDL_net

F-Tetris

tetris clone for DOS written in QuickBASIC

FancyMines[FreeBASIC, 2010]

Minesweeper game with some graphical themes. Runs in DOS, Windows and Linux.

FDNPKG

network-enabled package manager for the FreeDOS operating system

FoxType[FreeBASIC, 2006]

UTF-8 text reader for DOS that runs in 640x480 or 1280x1024 graphic mode.

FreeDOS Password[Turbo Pascal, 2005]

Login/password access control for (Free)DOS

GopherMole[Search engine, Linux]

experimental search engine for the gopherspace, focuses on multimedia files

Grumpy[web server, Linux/Win, FreeBASIC, 2008-2011]

HTTP and gopher server, probably my first experience in programming a network server. Pretty clean implementation. Comes with a serious-looking manual. I had used it for a couple of years to serve my websites when I was self-hosting them from a refurbished PC running in my basement.

HHCS[Linux, 2009-2014]

The 'Home Heat Controlling System' (HHCS) is a software that I created to drive my home's electric heaters. It's basically an overengineered scheduler with a web interface. The software was changing the status of pins on the LPT port of the computer, commanding a system of relays.

KittyPOP[POP3 server, Linux, 2009]

a functional POP3 server for Linux, written in FreeBASIC. Fully compliant with RFC 1939. I used on my self-hosted mail server.

lptdrv[DOS, 2009]

DOS tool to control LPT-attached devices either manually or on a time basis. Written in QuickBASIC.

Monika's Tic-Tac-Toe[DOS/Linux, 2009]

colorful, mouse-driven Tic-Tac-Toe implementation that features my beautiful wife.

MS-EDIT[DOS text editor, FreeBASIC]

Mateusz' Saucy EDITor (MS-EDIT) is a text editor that mimics the look of the Microsoft DOS editor.

PasswordBox

PasswordBox is a 'password bank' that keeps your passwords secure with AES encryption.

phpgoph

A very simple, naive and crude PHP implementation of a minimalist gopher server. It only opens a socket, awaits for a (single) client and displays back an informational screen. The program is about 40 lines long. It is meant to be an educational tool only.

picoSNTP

SNTP client for DOS, based on the picoTCP library.

picoTCP for DOS

my DOS port of the picoTCP networking stack.

Polish Askozia voices[Asterisk audio files, 2010]

polish voice files for AskoziaPBX & Asterisk that I created with the help of my wife, back when we had an Asterisk based server operating our phone line at home.

PulseAudio Web GUI[PulseAudio mgmt, Linux]

management (web) interface to control the volume of PulseAudio applications remotely.

rread

Rinaldo's Read is a simple text reader for DOS, designed for compatibility with screen readers

srvcheck[Linux/Windows, 2010-2012]

ping-like program that checks the availability of a specific service (HTTP, SMTP, POP3, Gopher, NNTP...)

Svarog386

my FreeDOS distribution for 386+ computers. Superseded by SvarDOS.

Svarog86

my FreeDOS-based micro distribution for 8086/8088 computers. Superseded by SvarDOS.

Want more?
If you've got a strong stomach for cringe-worthy code and questionable design, my 2008 website awaits.

EOF