Commodore C64 Retro Gaming Resources

So, you got a Commodore 64 or bought a C64 Mini and don’t know what to do with it? This list is not comprehensive, but it should get you started. For simplicity sake, we have linked directly to the site or store itself. Websites are dynamic, however, and the links could change. Let us know if that happens.

We are reasonably certain that the links provided are not only safe, but more or less legitimate sources as well. However, we cannot make any sort of guarantee to that.

*Important! PLEASE NOTE: Downloading copyrighted materials is illegal in most countries. Do so at your own risk. Be sure to know and follow the laws in your area before downloading any such material. 

Hardware
The C64 Mini Home of The C64 Mini
Individual Computers Home of the C64 Reloaded
TFW8B The Future Was 8 Bit
Ultimate 64 Home of the Ultimate 64 board
Retro Innovations Home of hardware mods for C64
Pixel Wizard Home of new C64C style cases. 
Commodore4ever Accessories for Commodore machines
CBMStuff.com A Variety of C64 Hardware
COREi64 3D Printed Commodore parts
Restore Store More Hardware (in German)
idoregesz.hu Unique hardware from Hungary
Media
64K 64K YouTube Channel hosted by BastichB
Morgan Just Games C64 longplays and info hosted by Jamie Morgan
Commodore4Ever Commodore4Ever Channel
Jan Beta Detailed retro repairs hosted by Jan Beta
The 8-Bit Guy Commodore and retro hosted by David Murray
Perifractic C64 C64 videos from Perifractic’s Retro Recipies
MsMadLemon C64 C64 Videos from MsMadLemon
SIDspieler.de SID Music Site (German)
C64 Radio C64 SID Tunes Radio
Chicken Head The Chicken Head Chronicles Commodore 8 bit
Software (ROMs, disk image, and abandonware)
C64.com Site dedicated to preserving C64 software.
My Abandonware Massive abandonware site
Games That Weren’t Games that Weren’t abandonware and recovery.
Gurce.net Site of C64 Mini Wiki and some game packs
C64 Scene The C64 Scene Database
GEOS GEOS Software and docs
Commodore.software Commodore Utilities and Software
C64 Games C64 Games site. (German)
Software NEW
Protovision Developer of current C64 Games
RetroGamerCD Developer of New C64 Games
Poly.Play  New Hardware and Software 
C64OS C64 OS Project
8bitguy Home of Planet X2 and other software
Psytronic Downloadable C64 and other Commodore games
RetroZone Boxed versions of Psytronic Software
Emulators
VICE VICE multi-system Commodore emulator
Combian 64 Raspberry Pi Quick boot VICE emulator
Books, Reference, and Documentation
Archive.org Commodore 64 Book Archive.
SharewarePLUS C64 Hardware Blog
C64 Mini Zone C64 Mini reference site with useful tools
GameBase64 C64 Games Database
Lemon64 Large Forum for Everything Commodore
C64 Wiki The Commodore 64 Wiki
Zzap! 64 Zzap! 64 Magazine and archive
Reset 64 Reset Magazine
Commodore Free Commodore Free Magazine
C64 Blast C64 Blast Magazine
Other Sites
C64 Registry Commodore Serial Number Registration
Breadbox64 C64 Blog
Commodore BBS Commodore Bulletin Board Service Outpost 
The C64 Community The C64 (Mini) User board
C64 Fan App Web based C64  aggregator. (Login Required)

Gigabytes Technology LLC is providing this information free of charge or obligation. We were not paid or compensated for providing these links.

 

The C64 Mini Adding Flags to Image Files

The C64 Mini can set all kinds of settings through the use of .CJM files, however, what if you just have a single problematic game and don’t really want to configure a whole .CJM file? There is a older method that works with the mini called Flag Configuration.

How it works: At its most basic, it is simply renaming a file and adding an underscore (_) and a two capital letter tag to the end of the file name.

Example: Jupiter-lander.d64 —> Jupiter-lander_J1.d64

The above example tells the mini that this file is a joystick port 1 game.

SIDE NOTE: The ports on the Commodore had to be addressed directly from code so some games used joystick port 1 and most others used joystick port 2.

Commodore 64 joystick control ports.

You can add any number of flags in any order to the end of the file. It should be noted that if your game has underscores in the name, you may have to remove those as well for this to work.

Example: The Jupiter Lander file is a PAL joystick 1 image you want to run on an NTSC system. It doesn’t load properly so you want to turn the cycle accurate disk reader on (use Accurate Disk Drive Mode).

Jupiter-lander.d64 —> Jupiter-lander_TPJ1AD.d64

Flag Key

Flag Description Use 
J1 This sets the primary joystick port as port 1. With a second Joystick connected, it automatically uses port 2. Use this flag if you cannot use a joystick with a game you know should work with one.
J2 This sets the primary joystick port as port 2. With a second Joystick connected, it automatically uses port 1. Port 2 is the default for the Mini so it does not need to be set.
AD Stands for “Accurate Disk”. Turns on the cycle exact disk reader on the Mini. Use this if your game is unstable when you try to run it.
RO This makes the disk image read-only.  This is mainly for protection, however, some games did check this for copy protection.
NI “No Indicator” turns off the drive access indicator. Mainly a user preference thing.
TN Tells a PAL (European) system that the disk image is NTSC (Japan and North America). Use if you are running a PAL system with an NTSC image or the game play seems too slow.
TP Tells an NTSC (Japan and North America) system that the disk image is PAL (European). Use if you are running a NTSC system with an PAL image or the game play seems too fast.

This information is found in more detail here under Appendix A.

Technical Note: “Accurate Disk” does slow the loading of games down, however, it does not turn off the “fast loader” on the C64 Mini. Before loading your ROM or disk image, press the third button on the C64 Mini to turn off Fast Load.

C64 Mini CJM files Reference

The C64 Mini is a fun and useful machine for those wanting to relive the experience of the Commodore 64. However, the C64 Mini uses emulation to run games. This means it behaves differently than a full-fledged Commodore 64 and, as a result, games designed for the system do not always behave the same way they would when running on original equipment.

The way they found to get around a lot of these issues was the .CJM file. This is a simple text file that, when formatted properly, will tell the Mini how to operate with certain games. 

There is a tool to help you do this here that automates a lot of the process. This site also has pre-configured CJM files to download.

While it is not necessary to write the configuration file yourself, it should be well documented in the event that this tool no longer is available. Let’s start by taking a look at an existing .CJM file.

X:ntsc,accuratedisk,readonly,driveicon
J:1:JU,JD,JL,JR,JF,JF,RS,SP,SP,RS,F1,F7,RS
J:2*:JU,JD,JL,JR,JF,JF,RS,SP,SP,RS,F1,F7,RS
V:1

NOTE: You will need to name the file EXACTLY the same name as the image file. (Ex. Jupiter_Lander.d64 –> Jupiter_Lander.cjm)

X: System options
Each one of these is either on or off. Remove the option to disable. NOTE: These X: values are case sensitive and must be in all lower case.

ntsc: This is the video display type the game requires. Options are: ntsc or pal. Remove to use the default (native) display.
accuratedisk: This turns off the cycle exact floppy emulation in the mini. Use this option if the game hangs or crashes while loading.
Note: Accurate Disk does slow down loading but it does not control the Mini’s fast loader. To disable that, press the third button (C) on the Mini Joystick before loading your ROM or disk image. 
readonly:
Marks the disk image read-only. Required for some disk images and copy protection.
driveicon: Displays a drive icon while the image is being accessed.

J: Joystick Mapping
Each one of these options is required – even if the joystick doesn’t have a button for the function.

Input Type Number Default Up Down Left Right Fire Left Fire Right Triangle L / X Triangle R / Y Triangle R / Shoulder L A/B B/A C / Select Triangle L / Shoulder R Controller Brand
Joystick Mini in port 2 2nd is default Joy Up Joy Down Joy Left Joy Right Joy Fire Joy Fire Run/Stop Space Space Run/Stop F1 F7 Run/Stop  
J: 1   JU JD JL JR JF JF RS SP SP RS F1 F7 RS iNNext
J: 2 * JU JD JL JR JF JF RS SP SP RS F1 F7 RS C64 Mini

Key

JU Joystick Up
JD Joystick Down
JL Joystick Left
JR Joystick Right
JF Joystick Fire
F1 F1
F2 F2
F3 F3
F4 F4
F5 F5
F6 F6
F7 F7
F8 F8
A-Z A-Z
0-9 0-9
EN Return
@ @
. .
/ /
+ +
; ;
* *
CU Cursor Up
CD Cursor Down
CL Cursor Left
CR Cursor Right
SL Shift Left
SR Shift Right
HM Home
DL Delete
CT Control
RE Restore
PO £ (pound)
SS Shift Lock
AU Arrow Up
AL Arrow Left
CO Comma
CM C= key

V: Vertical Video Offset
This is simply a positive or negative integer to move the video up or down.

Examples
This should give you enough info to remap joystick and set system options. 

Example 1: You have a PAL game that is not designed for a joystick but instead uses WASD and the Right Shift for joystick control.

X:pal
J:1*:W,S,A,D,SR,SR,SR,SP,EN,RS,F1,F7,RS

Example 2: You want to turn on the access indicator and map the second joystick button to Space on the second joystick and make it default.

X:driveicon
J:2*:JU,JD,JL,JR,JF,SP,RS,SP,SP,RS,F1,F7,RS

Using The File

Place the file in the same folder as your game. The mini looks for the .CJM file automatically. 

Applying to Multiple Games

You can apply the file to multiple games in a folder by renaming the file to THEC64-default.cjm

This information is found in more detail here under Appendix A.