Loonies 8192

Retro Puzzle for DOS, PSP, 3DS, GBA, PSX and Android

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.


        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: loonies.thp.io

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.

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.

Jonas (from the insideGadgets Discord) made a custom serial multiboot cable, and uploading the Multiboot ROM for the GBA works just fine:


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