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 MiniHome of The C64 Mini
Individual ComputersHome of the C64 Reloaded
TFW8BThe Future Was 8 Bit
Ultimate 64Home of the Ultimate 64 board
Retro InnovationsHome of hardware mods for C64
Pixel WizardHome of new C64C style cases. 
Commodore4everAccessories for Commodore machines
CBMStuff.comA Variety of C64 Hardware
COREi643D Printed Commodore parts
Restore StoreMore Hardware (in German)
idoregesz.huUnique hardware from Hungary
Media
64K64K YouTube Channel hosted by BastichB
Morgan Just GamesC64 longplays and info hosted by Jamie Morgan
Commodore4EverCommodore4Ever Channel
Jan BetaDetailed retro repairs hosted by Jan Beta
The 8-Bit GuyCommodore and retro hosted by David Murray
Perifractic C64C64 videos from Perifractic’s Retro Recipies
MsMadLemon C64C64 Videos from MsMadLemon
SIDspieler.deSID Music Site (German)
C64 RadioC64 SID Tunes Radio
Chicken HeadThe Chicken Head Chronicles Commodore 8 bit
Software (ROMs, disk image, and abandonware)
C64.comSite dedicated to preserving C64 software.
My AbandonwareMassive abandonware site
Games That Weren’tGames that Weren’t abandonware and recovery.
Gurce.netSite of C64 Mini Wiki and some game packs
C64 SceneThe C64 Scene Database
GEOSGEOS Software and docs
Commodore.softwareCommodore Utilities and Software
C64 GamesC64 Games site. (German)
Software NEW
ProtovisionDeveloper of current C64 Games
RetroGamerCDDeveloper of New C64 Games
Poly.Play New Hardware and Software 
C64OSC64 OS Project
8bitguyHome of Planet X2 and other software
PsytronicDownloadable C64 and other Commodore games
RetroZoneBoxed versions of Psytronic Software
Emulators
VICEVICE multi-system Commodore emulator
Combian 64Raspberry Pi Quick boot VICE emulator
Books, Reference, and Documentation
Archive.orgCommodore 64 Book Archive.
SharewarePLUSC64 Hardware Blog
C64 Mini ZoneC64 Mini reference site with useful tools
GameBase64C64 Games Database
Lemon64Large Forum for Everything Commodore
C64 WikiThe Commodore 64 Wiki
Zzap! 64Zzap! 64 Magazine and archive
Reset 64Reset Magazine
Commodore FreeCommodore Free Magazine
C64 BlastC64 Blast Magazine
Other Sites
C64 RegistryCommodore Serial Number Registration
Breadbox64C64 Blog
Commodore BBSCommodore Bulletin Board Service Outpost 
The C64 CommunityThe C64 (Mini) User board
C64 Fan AppWeb 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

FlagDescriptionUse 
J1This 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.
J2This 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.
ADStands 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.
ROThis 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.
TNTells 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.
TPTells 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 TypeNumberDefaultUpDownLeftRightFire LeftFire RightTriangle L / XTriangle R / YTriangle R / Shoulder LA/BB/AC / SelectTriangle L / Shoulder RController Brand
JoystickMini in port 22nd is defaultJoy UpJoy DownJoy LeftJoy RightJoy FireJoy FireRun/StopSpaceSpaceRun/StopF1F7Run/Stop 
J:1 JUJDJLJRJFJFRSSPSPRSF1F7RSiNNext
J:2*JUJDJLJRJFJFRSSPSPRSF1F7RSC64 Mini

Key

JUJoystick Up
JDJoystick Down
JLJoystick Left
JRJoystick Right
JFJoystick Fire
F1F1
F2F2
F3F3
F4F4
F5F5
F6F6
F7F7
F8F8
A-ZA-Z
0-90-9
ENReturn
@@
..
//
++
;;
**
CUCursor Up
CDCursor Down
CLCursor Left
CRCursor Right
SLShift Left
SRShift Right
HMHome
DLDelete
CTControl
RERestore
PO£ (pound)
SSShift Lock
AUArrow Up
ALArrow Left
COComma
CMC= 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.