3 KB Solitaire Fits In QR-Code, Runs In DOS

In these days of hundred-gigabyte-and-more monster games, it can be nice to stop and remember what a human can do with assembly language and very, very little storage space. In this case, only 3 KB — yes, three kilobytes — to play TinySol, a tiny solitaire game for DOS that’s compatible with the common CGA/EGA/VGA graphics modes. [ClassicBits] even fits the 640×400 AT&T 6300 mode that was used for some GRiD computers in that 3 KB.

The “full” version is actually 3.5 KB. That extra half kilobyte gets you the ability to load and save games, plus mouse support. The 3 KB version you must play through to the end using only the keyboard, but if you’re hitting this on the minimal-supported-hardware target of the IBM 5150, you probably don’t have a mouse. The smaller build can still score the game, auto-finish, congratulate you on a win, and even automatically detect the correct graphics mode for you. It can also be launched from a QR code, which [LGR] demonstrates in a video embedded below. Check it out for a play demo, but it’s Klondike Solitaire. If you don’t know what to expect by this point, you must not have used a PC in the last 30 years.

Even smaller versions of TinySol are available if you know you’re only going to need, say CGA, but even with 360 KB floppies we’re not sure we’d feel the need to save a kilobyte. If it doesn’t fit on the floppy, just print it onto the sleeve as a QR code, like [ClassicBits] did with the floppies he was giving away at Vintage Computer Festival Southwest 2026. Well, technically that’s the “Tiny” version on the QR code, but we have faith there’s some visual code that could hold the 3 KB “medium” game.

[ClassicBits] takes care to point out that his game is 100% human-written, which is something you cannot guarantee even for retro assembly-language products. We’ve already seen that Claude can code for the Z80, which means the 8088 won’t escape it either. Of course these old machines have a lot to recommend them if you want to escape modernity and learn to code without the help.


Header image: TinySol v1.3 on Jerry Parker’s Zenith Heath/Z-110 (8088, 256KB, CGA) at VCF Southwest 2026, via ClassicBits.net

18 thoughts on “3 KB Solitaire Fits In QR-Code, Runs In DOS

      1. Why should anyone have to go to that much trouble to get something which Hackaday could very easily have printed in the article, and which would have made the readers’ lives much easier?

      1. When Ug count day, have only small rock pile.

        Kilo-rock only in fancy University, where use for count deci or centi-day.

        Krag use centi-day to prove Sun less in sky when cold-time, by watch Sun.

        He say hot-time and cold-time are different See-Sun.

        Krag get No-Bell for good-thinking.
        Now Krag not need to do shift making loud noise to scare predator away.

      2. You’re equating register space and code space… The 3583 bytes are instructions, but the ENIAC’s 20 words are registers. As far as I can tell from Wikipedia etc, the ENIAC equivalent of code space was held in 3 “function tables” of 1248 switches each, for a code space of 3744 instructions, which given the use of 10-way switches means you’ve got about 1872 “bytes”.

        But that reminds me of a joke I dropped last week while watching Captain America: Winter Soldier that fell completely flat on my wife. When they go down into the bunker and find the digitized Dr. Zola, I identified the hardware in the room as ENIAC’s cousin “MANIAC”…..

    1. The Sharp MZ-80K in 1978 had 24 KB of RAM (upradeable to 48 KB)..
      It was a “clean computer” with nothing but a monitor program in ROM.

      https://8bit-museum.de/heimcomputer-2/sharp/

      So BASIC, Tiny Fortran etc. had to be loaded in RAM, leaving 8 KB or so for user applications.
      The backwards compatible MZ-700 released in 1982 had full 64 KB of RAM.

      To boot CP/M 2.2, released in early 1980, a computer needed to roughly have 20 KB of RAM.
      48 to 64 KB of RAM were needed to run typical applications.
      CP/M Plus (v3) supported bank-switching and larger applications.

      The ZX81 needed the 16 KB expansion pack (RAMpack) to run 3D Monster Maze. :)
      https://en.wikipedia.org/wiki/3D_Monster_Maze

    1. There was a TSR program, CLOCK.COM for PC, that kept a running clock display at top left corner of screen. Only minor problem, it was a 12h AM/PM version, and we are more used to 24h version.

      My co-worker took a cup of coffee, opened the COM file in PC-WRITE editor and quickly flew the cursor around, typing some Alt+xxx codes and saved the result as CLOCK24H.COM.

      I think he could be called as a real programmer.

  1. Come on now. Posting stuff from the slop machine is one thing, but surely we don’t need to undermine the celebration of human created things by putting backlinks at the bottom to ‘oh, but the slop machine could have done just as good of a job as the human’, especially if the human doesn’t want anything to do with the slop machine.

    This is absolutely amazing work. We should celebrate it for what it is. Someone cared deeply about this, and enjoyed the craft and art of what they were doing. Why on earth did you have to include that at the bottom??

    1. There was no value judgment in the last paragraph; those particular back links were inspired in part by the fact that [ClassicBits] felt the need to put a disclaimer that singled his project out as human work. I felt that it was notable that he put that label right on the disk sleeve, so gave illustration why, because I initially found myself going “huh, of course it’s human-written! It’s a DOS game!”

      Note that the last link is to video by a kid recommending you get a DOS PC to learn to code on to avoid LLM “assistance”, which should be more palatable to you.

  2. to play TinySol, a tiny solitaire game for DOS that’s compatible with the common CGA/EGA/VGA graphics modes. [ClassicBits] even fits the 640×400 AT&T 6300 mode that was used for some GRiD computers in that 3 KB.

    The AT&T 6300 (aka Xerox 6060) is also known as Olivetti M24 in Europe.
    Another model name is Logabax PERSONA 1600.

    https://en.wikipedia.org/wiki/Olivetti_M24

    The 640×400 pixels mono mode used to widely known back then.
    Paint programs, MS Windows and GEM had drivers for it.
    Borland development tools had an ATT.BGI file to support it,
    so there might be many little shareware programs supporting it.

    A few games supported it, too.
    https://www.mobygames.com/attributes/attribute/1985/

    Laptops with 640×400 screen often had a derivation of that 640×400 AT&T graphics mode.
    There also were no-name CGA/HGC combo cards that support it,
    if 400 line mode was enabled via a poorly labeled and documented jumper.
    That required a multi-sync monitor, though, because ordinary 15 KHz and 31 KHz monitors weren’t compatible.

    In addition, PC emulator boards for Atari ST/Amiga had emulated Olivetti M24 mode.
    Such as SAC PC-SPEED.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.