Settings

Theme

TinySol, a tiny solitaire game for DOS

classicbits.net

60 points by skibz a day ago · 18 comments

Reader

omoikane a day ago

Related, Oscar Toledo also made a tiny Klondike Solitaire program for IOCCC, I wonder if it was inspired by this one:

https://nanochess.org/klondike_in_c.html

https://news.ycombinator.com/item?id=48450024 - Klondike Solitaire game for curses in 5k of C (2026-06-08, 17 comments)

bananaboy a day ago

Hey very nice! I made a 386+VGA Solitaire game a while back for a game jam https://horsedrawngames.itch.io/solitaire I always meant to go back and optimise it more because it shouldn’t require a Pentium!

ctippett a day ago

Late (late.sh) has solitaire available to play over SSH (along with minesweeper, tetris, battleships, chess... and many more). You'd be surprised at how well a lot of games translate just fine to being rendered on a simple interface.

raymond_goo 12 hours ago

If you are frustrated by impossible to solve Solitaire games, I made a version that is guaranteed solveable:

Check it out: https://solitairle.com

sys_64738 a day ago

This is real hacker news! Well done :)

pan69 a day ago

Solitiny :)

> NOTE: For DosBox users, DosBox doesn’t seem to support AT&T 6300 but the other modes work fine.

I'm pretty sure DOSBox supports the Olivetti M24 graphics mode.

Sembiance 20 hours ago

Related, play Solitaire over gopher https://cosmicrealms.com/blog/2019/06/14/solitaire-over-goph...

nonamesleft 12 hours ago

Nice, though being a peasant at solitaire i wish it had an option to deal 1 card at a time.

inatreecrown2 20 hours ago

That gas-plasma display looks gorgeous, it looks more "analogue" than lcd to me. Are these still produced or is this "dead" technology?

petiepooo a day ago

Very nice. How about site where we can play it in the browser? There are several wasm dos simulators..

febed 21 hours ago

8086 and up! Amazing

benj111 13 hours ago

https://web.archive.org/web/20260808232424/https://classicbi...

As its been HN'ed

ranger_danger a day ago

Not open source apparently?

ranger_danger a day ago

I like to think I'm decent with C, and I thought I would be able to make my own solitaire, but just trying to wrap my head around how in the world I was supposed to lay out all the cards in memory and keep track of all the different states had me giving up pretty quickly.

  • steve_taylor a day ago

    I'd start by identifying all the known boundaries:

    52 cards, so each card can be represented by a byte.

    Cards are arranged into 4 stacks of up to 13 cards each, 7 columns of up to 13 cards each, and a pile of up to 24 remaining cards. (You don't need two piles of remaining cards.)

    That's 167 (4 * 13 + 7 * 13 + 24) bytes for the cards, 12 bytes to store lengths, and 1 byte to store the current index in the pile of remaining cards. It's a fixed number of fixed-length byte arrays and a fixed number of bytes to track lengths and one index.

    • Joker_vD 18 hours ago

      > 7 columns of up to 13 cards each,

      Not quite. The rightmost one initially has 6 closed cards and 1 revealed card which can be a king, so you can put 12 more cards on top of it, for a total of 6+13 = 19 cards. So I'd make 7 arrays for 20 cards each, just to be safe. Or just use 52-long arrays for every table slot, that too is an option.

      > and a pile of up to 24 remaining cards. (You don't need two piles of remaining cards.)

      Hm. True, but I'd still probably use two arrays/gap buffer instead of a single array with an index into it.

      > 12 bytes to store lengths,

      Eh, you can reserve a zero to be a "no card here" value and use NUL-termination instead; the card ranks start up from 1 (the ace) anyhow.

      Also, don't forget to track card orientations: some of them are face down, some of them are face up. I usually do it by using the negative numbers for the cards face down :)

      All in all, the whole game state fits into a L1 cache of any processor that even has an on-board cache, which is why card games has been around on pretty much every computer ever made.

  • to11mtm a day ago

    Probably depends on the kind of solitaire IMO.

    I feel like Klondike, -should- be simple enough with a set of vectors/arrays/lists, the biggest thing is making sure you have the traversal logic right. [0]

    [0] - I mean, here's an example in VB.NET, where a lot of the game logic is FBOW integrated into the form logic, but hey it apparently is NET8! https://github.com/DualBrain/Solitaire/blob/master/Solitaire...

creado a day ago

Good work

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection