105 for the Commodore 64 (updated 2020-01-22)

105 is a simple game that I wrote for the Commodore 64. It is written in assembly (machine code) that I have recently gotten in to. (I did have a C64 in the 80s, but only dabbled in BASIC back then.)

I'll try to briefly explain the aim of the game.

The game has similarities with Blackjack, where the goal is to score 21. In 105 though, there are 5 piles of cards to reach 21 on. (Observant readers probably already noticed that 21 times 5 is 105.)

You can find the download below.

How to play

A card is taken from a shuffled deck and you need to choose on what pile it should go. You can do this with the keys 1 to 5, or using the joystick left, right and fire. But hurry, because you only have 10 seconds to choose!

The goal is to score as many points as possible and beat your own, or other players' scores in the hi-scores.

Screenshot created with VICE
A total of 98 or higher will allow you to collect points (105 obviously giving you most points) to add to your running total score.

Once the combined total of the cards on the 5 piles is at least 98 you can score points, and the round ends. You can also choose to gamble -- and take another card to get a higher combined total, and so more points.

If you run out of time, or when the card pulled from the deck makes the combined total go over 105, then you lose a life.

You have 3 lives initially. The game is over when you lost your last life.

Every round the score table updates with higher values. The speed of play affects the multiplier: the faster you play a round, the higher these score table will become.

Extra lives!

When your total score goes over a power of ten (starting from 100), so once you go over 100, 1000, 10000, et cetera, you will be awarded an extra life.


You can use the keys 1, 2, 3, 4 and 5 to choose the destination pile. Alternatively, you can use the cursor keys to select a pile, and hit space or return to drop the card there.

A joystick in port #2 is also supported.

Time penalty

If you try to drop a card onto a stack where it would overflow 21, you loose an additional second. So be careful where you drop it!

Score points or gamble...

If the question pops up to "COLLECT" points or take the "NEXT CARD", you can select the option with the cursor keys and hit space-bar. Alternatively, you can hit 'C' for "collect" or 'G' "gamble". (The "N" for "NEXT CARD" is also accepted.)


A .d64 image containing the game can be downloaded right here (last updated on 2020-01-22, version 1.2.0618):

- The game must be loaded with: LOAD "*",8,1
- It has only been tested on PAL systems but appears to work fine in VICE in NTSC mode.
- If the game fails to load on the TheC64, disable the "fast loading" and try again.
- It probably still has bugs I haven't encountered yet.

Recent changes

Changes in v1.2.0618:
- Clear the playing field while cards are being shuffled.

Changes in v1.2.05bb:
- Fix issue with VICE / TheC64 that caused problems when saving high-scores if "True drive emulation" / "Accurate disk mode" was not enabled,
- Cosmetic updates.

Changes in v1.2.059f:
- Fix issue that caused hangs when auto-starting in Warp mode in VICE. (This also fixes similar issues on the "TheC64".)
- Cosmetic updates.

Changes in v1.2.057c:
- Fix an issue with a high-score comparison routine that corrupted the order of the items. Thanks to Bugjam for reporting.

Changes in v1.2.0537:
- Fix issue where the program got stuck after loading, "sometimes". Thanks for reporting!

Changes in v1.2.051d:
- Fix bug that caused problems when saving high scores.

Changes in v1.2.0505:
- Changed how the high-scores are stored to work around a bug with some Commodore DOS versions.

Changes in v1.1.04bc:
- Fixed a bug that caused the wrong line to get highlighted in the hi-scores dialog,
- When hi-scores are loaded or saved to disk the borders no longer flicker, and a text at the bottom shows what it is doing.

Changes in v1.0.0476:
- New loader logic added that loads and deflates the compressed game from disk.
- The auto-start code has been removed.

Changes in v1.0.0446:
- Don't accept empty names for high-score,
- Loading / saving of high-score files no longer prints stuff to screen,
- Fix the score-table size as values become larger.

Changes in v1.0.03D6:
- Added animations,
- Some UI glitches addressed,
- Keyboard input improved.


Popular posts from this blog

C64 font for Arduino OLED libraries