Firmware v1.1.0 (USB file upgrade) and above
You can auto-load programs from various C64 file formats on THEC64 Mini if the files are stored on a FAT32 formatted USB memory stick. Supported file formats include:
Disk images: D64, G64, D81, D82
Tape image file:T64, TAP
Others: PRG, P00 and CRT
There is currently a display limit of 256 items (files and/or folders) on USB memory sticks per folder, including the root. Files take priority over folders, so if you go over that item limit, files are always displayed in preference to folders.
Please note that Retro Games Ltd. cannot offer any additional support on files loaded from USB memory sticks onto THEC64 Mini, beyond the instructions presented here.
You can control how THEC64 Mini configures a program loaded from a USB memory stick in two ways:
- Add specific flags to the filename, or
- Create a CJM text configuration file for each file
Either method gives THEC64 Mini information used to load and run a program correctly from USB. Note that some programs will load and run correctly just using the default settings, explained below.
In the absence of flags in filenames or CJM text configuration files, THEC64 Mini applies default settings to any supported file it finds on a USB memory stick:
- THEC64 Mini uses a fast loader to speed up loading times
- It uses faster disk access (but only for disk image files)
- The primary joystick is set to port 2. The secondary joystick is set to port 1 only if a second joystick is connected before loading the program from USB
- The machine type is automatically based upon whether THEC64 Mini firmware is North American (NTSC) or Europe (PAL)
- No program functions are mapped to the joystick other than the standard directions and the FIRE and MENU buttons.
If your program loads and runs fine using the default settings then you don’t need to do anything else. If it does not, or you wish to change the configuration, please refer to Appendix A.
The File Loader
Whilst on the HOME screen, insert a USB memory stick that contains supported C64 files into an available USB port on THEC64 Mini. After a few seconds, an icon appears beneath the GAMES CAROUSEL to confirm the USB memory stick is connected.
Highlight the USB icon and press FIRE. The FILE LOADER screen now lists any supported files and folders stored in the root of the USB memory stick.
Highlight a file and press FIRE. The selected file loads and runs. How long it takes to load will vary based upon the type of file and the settings used by THEC64 Mini to load it.
Select a folder from the list by moving the highlight over it and pressing FIRE. You are now shown the contents of the sub-folder. You cannot enter a folder that is empty or does not contain any other folders or supported C64 files.
When inside a folder on the USB memory stick, press button A on the joystick to move back out of the current folder. Under some circumstances you can also push LEFT to come out of a folder when on the far left-side of the File Loader list.
The C64 Fast Loader is switched on by default, speeding up loading times considerably. For those files that don’t load if the fast loader is on, press button C on the joystick (a red X appears over the icon) before you press FIRE to load the file. This turns the fast loader off.
Note that the faster disk access function remains on unless you specifically turn it off via filename flags or a CJM file. See Appendix A below for full details.
Save/Load from USB
If you load a program from a USB memory stick, THEC64 Mini’s Save/Load function (see CHAPTER 5 of the User Guide), saves and loads on the USB memory stick. You have four slots to save to per program.
Save files are stored inside a folder on the USB memory stick called .THEC64SAVE. Inside that folder are the saves you have created from files loaded from the USB stick, stored in appropriately named sub-folders.
BASIC and accessing a USB memory stick
Please note that the only file stored on a USB stick that can be loaded directly when running BASIC on THEC64 Mini is a disk image with the filename THEC64-drive8.d64. Please visit thec64.com/basic and thec64.com/faq for further details on BASIC and THEC64-drive8.d64 file.
APPENDIX A – CONFIGURING C64 PROGRAMS
Add flags to each filename
By adding flags to the end of the filename, you define which joystick port(s) are used, specify the machine type, set a disk to be read-only, turn on accurate disk loading (for troublesome disk image files that won’t load quickly), and disable the on-screen disk icon.
For example, if the program on a disk image file called ‘c64-disk.d64’ requires a joystick connected to port 1 on the original C64 computer, rename your d64 file ‘c64-disk_J1.d64’.
Below is a list of all the available flags:
|J1||Sets the primary joystick port as port 1. If a second Joystick is connected, it automatically uses port 2|
|J2||Sets the primary joystick port as port 2. If a second Joystick is connected, it automatically uses port 1. Note that port 2 is the default set by THEC64 Mini, so it doesn’t have to be specified by this flag|
|AD||Turns ‘accurate disk drive’ mode on (for original slower disk loading) and turns off the fastdisk mode which is ON by default|
|RO||Makes the disk appear as read-only (prevents THEC64 Mini writing to the disk image)|
|NI||Disables the drive icon from appearing on-screen during disk loading|
|TN||Runs as an NTSC C64. This is the default for the North American firmware and so doesn’t need to be specified for NTSC programs, but will for PAL firmware|
|PN||Runs as a PAL C64. This is the default for the European firmware and so doesn’t need to be specified for PAL programs, but will for NTSC firmware|
These flags can be added to the end of the filename in any order. For example, ‘c64-disk_TNROJ1.d64’ or ‘c64-disk_ROJ1TN.d64’ or ‘c64-disk_J1TNRO.d64’.
Create a CJM file for each file
Using another computer, create a text file that includes joystick port requirements, machine type (PAL or NTSC), accurate disk loading, additional joystick button mappings, drive icon on-screen during loading and other settings.
Save the CJM text file in the same folder as the program file on your USB stick. For example, ‘c64-disk.d64’ has a corresponding file ‘c64-disk.cjm’.If a C64 file has a corresponding CJM file, the CJM file will always be used in preference to any filename flags or default settings.An example CJM file can look like this:
As you can see from the example given, each line in a CJM text file complies with the following:
type: value [,value]
|Entity name||Entity type||Values||Description|
|This sets the parameters needed to configure the C64 computer before it loads and runs the program.
The values are case sensitive and must be in lower case.
pal – Makes the program behave as though it is running on a European (PAL) C64. It doesn’t affect the HDMI output of THEC64 Mini.
ntsc – Makes the program behave as though it is running on a North American (NTSC) C64. It doesn’t affect the HDMI output of THEC64 Mini.
driveicon – Switches on the on-screen drive icon, to show when a disk is accessed
readonly – Makes a disk read-only, meaning THEC64 Mini cannot write back to the disk.
accuratedisk – Switches on accurate (slower) disk drive functionality, necessary for some programs to load correctly. This is off by default.
|Vertical display shift||V||-16 to +16||This number moves the screen position up or down over a range of + or – 16 display lines. This is useful if a game has graphics that appear in the top or bottom border, as they can otherwise become clipped by an HDMI 720p television screen.|
|Joystick configuration||J||See following table for allowed values|
Joystick configuration consists of 13 values that define how the joystick is to operate in the program.The first value (after the J: entity) defines the primary port (1 or 2, and then indicated by an *), followed by what happens when the joystick is pushed UP, DOWN, LEFT or RIGHT. The next two values define what happens when the LEFT FIRE and RIGHT FIRE buttons are pressed. The next two values define what happens when the TL and TR triangle buttons are pressed. The next value is an extra button (not available on THEC64 Mini Joystick) but it usually assigned the same value as the TR button. The next three values are buttons A, B and C on THEC64 Joystick. The final value is another button not available on THEC64 Joystick, but is usually assigned the same value as the TL button.
Joystick parameters are the port assignments first, then the joystick standard functions, then the button mapping:
|Joystick to key map ID||Description|
|JU JD JL JR JF||Joystick directions Up, Down, Left, Right and Fire|
|F1 F2 F3 F4 F5 F6 F7 F8||C64 function keys F1 to F8|