Loonies 8192

A Mini Retro Puzzle for DOS, PSP, 3DS, GBA and PSX

Global leaderboards: loonies.thp.io

A simple puzzle game. Initially it fit into just 8 KiB, then grew to 16 KiB and then 23 KiB, then 25 KiB. Now it's a 40 KiB executable for DOS (with an extra 52 KiB datafile), the 3DS version is 468 KiB (previously 242 KiB), the PSP version is 904 KiB (previously 640 KiB) and the new GBA port is 156 KiB for the multiboot (EWRAM, bootable from a GC link cable) version and 316 KiB for the cartridge version (with enhanced backgrounds). The PSX version is ~ 240 KiB for the EXE and ~ 16 MiB for the BIN (includes CDDA).

How to play: There are 2x2-blocks falling down the top, with two different colors. Use LEFT/RIGHT/DOWN to move the block and use UP to rotate it. Use SPACE to drop the block (it will fall fast until it lands).


For the 3DS, you need to be running the Homebrew Launcher, for the PSP you need to install Custom Firmware (CFW). For DOS, you just need a Retro PC or DOSBox, PCem or similar emulators that emulate a DOS VGA machine. For the GBA, you need a hacked Wii/GameCube, a Gamecube-to-GBA link cable and gba-link-cable-rom-sender or (easier) just a GBA flash cartridge. For the PSX, you need a modchip or perform the disc swap trick.


Older Screenshots



There's in-game help now on how to play the game. You can configure the language, soundtrack and difficulty level in the options menu. For DOS, the options menu also allows to choose between PC Speaker, OPL-2, MIDI and CDDA. For the GBA, DMG (GameBoy) sounds are used by default (this is currently the only sound option), for the PSP and 3DS, you can use PC Speaker (beep!) or MIDI (new software-based simple synthesizer) or CD-Audio (if the sound pack is installed). OPL-2 is not emulated/functional on PSP and 3DS for now.

File Sizes

Yes, it's called Loonies 8192 because the first public release of the game (r14) was only 8 KiB (8192 bytes), and that name stuck. Since then, the binary size grew, but only slightly and with added features. In order to visualize the different sizes, I made this handy diagram:

Note that the 3DS and PSP port were only introduced in r50 (January 2019), and the GBA port was introduced in r61 (March 2020). In case of r61, the game now ships with new pre-rendered background art that depends on the screen size (previous versions' backgrounds were generated at startup).

Also, the (16-bit) DOS version is compiled with Borland C++ 3.1 (from 1992) whereas the other versions are compiled with more recent versions of GCC for 32-bit CPUs and with more standard library code embedded.


        DOS     PSP        3DS    GBA    PSX
        ---     ---        ---    ---    ---
 Move   ARROWS  D-PAD      D-PAD  D-PAD  D-PAD
 Drop   SPACE   X (CROSS)  A      A      X (CROSS)

Sound Pack

By default, Loonies 8192 has synthesized sound built in, but it's possible to also use CD-quality audio files. Download the "Loonies 8192 Sound Pack", and put the WAV files on an Audio CD (for DOS) or in the game folders for PSP and 3DS to upgrade your sound experience to fully sampled 16-bit audio! The PSX CUE/BIN already contains CDDA audio (same as the Sound Pack).


In addition to the default English language, Loonies 8192 is now localized into German and French (thanks, Angie!) -- configurable in the options.

Global Leaderboards

There are now local leaderboards (best 3 highscores) as well as global leaderboards (using QR codes). When you achieve a local high score, you can submit the score online by scanning the QR code with your mobile phone and a QR code reader app (some phones have it built into the camera app).

User Photos

Here are some pictures from Vogons forum users that ran the game on their hardware, thanks to: Eleanor1967, amadeus777999 and Jo22. Also to the following people for testing: root42, K1n9_Duk3, Kamerat and blurks.

The GBA SP photo was done by Jonas (from the insideGadgets Discord), using the Multiboot ROM uploaded via a custom serial multiboot cable.

The last one is a Roland MT-32 attached via SBMIDI, as the latest version of Loonies 8192 has support for General MIDI via both MPU-401 (UART mode) and SBMIDI interfaces.


Of course, the point of this exercise is experiencing it on real hardware, but failing that, you can listen to two different renditions of the songs in this game here, one with OPL-2 music being played back by a Yamaha OPL-3 chip on a Sound Blaster 16 and the other with General MIDI music being played back by a Roland SCB-7 WaveBlaster daughterboard on the same SB16.

Live Coding Stream

root42 did a YouTube stream recently (May 2020) where we went through the code and looked at the DOS-specific implementation of Loonies: Live Let's Code: Virus Lockdown Coding #2!

You can watch a recording of the stream here:

Source Code Snapshot: r50

The source code for Loonies 8192 r50 (only DOS and SDL ports) is available under the terms of the GNU General Public License, version 2 from here:

Also on...

Thomas Perl · 2020-06-11