Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
systems:c64 [2021/12/05 20:11] – [ROMs] kugelblitzsystems:c64 [2022/02/07 13:02] (current) – [Emulators] (x64sc) kugelblitz
Line 1: Line 1:
 <WRAP group> <WRAP group>
 <WRAP round box twothirds column> <WRAP round box twothirds column>
-{{ https://raw.githubusercontent.com/fabricecaruso/es-theme-carbon/master/art/logos/c64.svg?nolink&h=300 |}}+{{ https://raw.githubusercontent.com/fabricecaruso/es-theme-carbon/master/art/logos/c64.svg?nolink&h=540 |}}
  
 ====== Commodore 64 ====== ====== Commodore 64 ======
Line 26: Line 26:
 ^ Emulators ^ Accepted ROM formats ^ ^ Emulators ^ Accepted ROM formats ^
 | [[#libretro:_vice_x64|libretro: VICE_X64]] | ''.d64'', ''.d81'', ''.crt'', ''.prg'', ''.tap'', ''.t64'', ''.m3u'', ''.zip'', ''.7z'' | | [[#libretro:_vice_x64|libretro: VICE_X64]] | ''.d64'', ''.d81'', ''.crt'', ''.prg'', ''.tap'', ''.t64'', ''.m3u'', ''.zip'', ''.7z'' |
 +| [[#libretro:_vice_x64|libretro: VICE_X64SC]] | ''.d64'', ''.d81'', ''.crt'', ''.prg'', ''.tap'', ''.t64'', ''.m3u'', ''.zip'', ''.7z'' |
 | [[#vice:_x64|VICE: X64]] | ''.d64'', ''.d81'', ''.crt'', ''.prg'', ''.tap'', ''.t64'', ''.zip'' | | [[#vice:_x64|VICE: X64]] | ''.d64'', ''.d81'', ''.crt'', ''.prg'', ''.tap'', ''.t64'', ''.zip'' |
 | [[#vice:_x64dtv|VICE: X64DTV]] | ''.d64'', ''.d81'', ''.crt'', ''.prg'', ''.tap'', ''.t64'', ''.zip'' | | [[#vice:_x64dtv|VICE: X64DTV]] | ''.d64'', ''.d81'', ''.crt'', ''.prg'', ''.tap'', ''.t64'', ''.zip'' |
Line 38: Line 39:
 Games for the C64 basically can come in three different physical formats (Cartridge, Tape, Disk) and each of those can have different filetypes. Games can also be loaded as a C64 program (PRG file) directly, bypassing any emulated physical media. Therefore this section is more detailed than with other systems. Games for the C64 basically can come in three different physical formats (Cartridge, Tape, Disk) and each of those can have different filetypes. Games can also be loaded as a C64 program (PRG file) directly, bypassing any emulated physical media. Therefore this section is more detailed than with other systems.
  
-==== Programs (.prg) ====+==== Programs (PRG) ====
  
 A "program" is a C64 executable file that you would ''LOAD'' and then ''RUN'' on a real C64. Using it with an emulator usually bypasses the loading process, injecting the file directly into the memory, and then automatically runs it (so there is no tape, disc or cartridge inserted). Emulators can also run programs that could not work on a real C64 because they use memory that can not be accessed during the real loading process. The most famous example is the "Oneload" collection of C64 games, which are very emulator friendly as they bypass all loading and unpacking times. A "program" is a C64 executable file that you would ''LOAD'' and then ''RUN'' on a real C64. Using it with an emulator usually bypasses the loading process, injecting the file directly into the memory, and then automatically runs it (so there is no tape, disc or cartridge inserted). Emulators can also run programs that could not work on a real C64 because they use memory that can not be accessed during the real loading process. The most famous example is the "Oneload" collection of C64 games, which are very emulator friendly as they bypass all loading and unpacking times.
Line 44: Line 45:
 Most PRGs are "crunched", meaning they have been optimized to use the least possible amount of disk space in order to fit more games on one disk or reduce loading times. Decrunching usually takes up to 20 seconds and is identified by wildly flickering color bars in the border area. Most PRGs are "crunched", meaning they have been optimized to use the least possible amount of disk space in order to fit more games on one disk or reduce loading times. Decrunching usually takes up to 20 seconds and is identified by wildly flickering color bars in the border area.
  
-==== Cartridges (.crt) ====+==== Cartridges (CRT) ====
  
-The C64 has a cartridge port and .crt files emulate these cartridges. In the early days of the C64, commercial games were released on cartridges that are usually 8KB or 16KB in size. Late in the eighties developers created cartridges that could store up to a megabyte of data via bank switching. The emulators in Batocera support nearly all these formats automatically. There are a few cartridges specifically produced for the obscure C64GS that will require you to set the **MODEL TYPE** to **C64 GAMES SYSTEM PAL** in the metadata for that game (not recommended for other C64 games).+The C64 has a cartridge port and ''.crt'' files emulate these cartridges. In the early days of the C64, commercial games were released on cartridges that are usually 8KB or 16KB in size. Late in the eighties developers created cartridges that could store up to a megabyte of data via bank switching. The emulators in Batocera support nearly all these formats automatically. There are a few cartridges specifically produced for the obscure C64GS that will require you to set the **MODEL TYPE** to **C64 GAMES SYSTEM PAL** in the metadata for that game (not recommended for other C64 games).
  
-{{:systems:es-c64-gamesystem.png?400|}}+{{:systems:es-c64-gamesystem.png?640|}}
  
 A lot of popular disk based games have been hacked into cartridge games (and as of November 2021 there still is active development in this area), most often for the Easyflash3 cartridge. These modified versions usually have the shortest load times and also avoid diskette changes. A lot of popular disk based games have been hacked into cartridge games (and as of November 2021 there still is active development in this area), most often for the Easyflash3 cartridge. These modified versions usually have the shortest load times and also avoid diskette changes.
Line 54: Line 55:
 Easyflash cartridges can be modified (for example for Gamesaves) and when you properly exit the emulator, the modified cartridge is written back to the ''roms'' directory, so be advised that the checksums of ''.crt'' files can change when you play them. Easyflash cartridges can be modified (for example for Gamesaves) and when you properly exit the emulator, the modified cartridge is written back to the ''roms'' directory, so be advised that the checksums of ''.crt'' files can change when you play them.
  
-There are also several utility cartridges which contain fast loaders or "freezers" can can snapshot a game while it is running. As this functionality usually is provided by the emulators, Batocera has no configuration to insert a utility cartridge and then load a game.+There are also several utility cartridges which contain fast loaders or "freezers" can snapshot a game while it is running.
  
-This is possible with the stand alone emulators (VICE: X64) by entering their main menu via ''[START]'' then entering the menu **Cartridge** and then **Attach CRT image**. Then **Set current cartridge as default** and back to the main menu, **Settings Management** and finally **Save current settings**.+This is possible with the stand alone emulators (VICE: X64) by entering their main menu via ''[START]''then **Cartridge** -> **Attach CRT image** -> **Set current cartridge as default**. Back out to the main menu, **Settings Management** and finally **Save current settings**.
  
-{{:playground:systems:vice-menu.png?400|}}+{{:playground:systems:vice-menu.png?640|}}
  
 In [[#libretro:_vice_x64|libretro: VICE_X64]], enter RetroArch's **Quick Menu** (''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}}), then **Options** -> **Media Options** -> **Cartridge**. Remember to save the options. In [[#libretro:_vice_x64|libretro: VICE_X64]], enter RetroArch's **Quick Menu** (''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}}), then **Options** -> **Media Options** -> **Cartridge**. Remember to save the options.
  
-==== Tapes (.tap.t64) ====+==== Tapes (TAPT64) ====
  
-Loading from tapes is a long process and if you want the full experience, there are .tap images for many games that are representations of the audio on the tape and therefore you enjoy the same load times of several minutes for one game. As many later C64 games actually include extra music and graphics during the load, these large (several 100 KB) files are important for digital preservation. If a tape file is smaller than roughly 40KB most likely it is actually just a PRG file hiding inside a wrapper that can be loaded instantly. +Loading from tapes is a long process and if you want the full experience, there are ''.tap'' images for many games that are representations of the audio on the tape and therefore you enjoy the same load times of several minutes for one game. As many later C64 games actually include extra music and graphics during the load, these large (several 100 KB) files are important for digital preservation. If a tape file is smaller than roughly 40KB most likely it is actually just a PRG file hiding inside a wrapper that can be loaded instantly. 
  
 For multi-load games on tape you can access a full tape emulation including a tape counter, fast forward and rewind, either by opening the Virtual Keyboard in [[#libretro:_vice_x64|libretro: VICE_X64]] (short press on ''[SELECT]'') or by entering the Menu in [[#vice:_x64|VICE: X64]] and going into the **Tape** options. For multi-load games on tape you can access a full tape emulation including a tape counter, fast forward and rewind, either by opening the Virtual Keyboard in [[#libretro:_vice_x64|libretro: VICE_X64]] (short press on ''[SELECT]'') or by entering the Menu in [[#vice:_x64|VICE: X64]] and going into the **Tape** options.
  
-==== Disks (.d64.d81) ====+==== Disks (D64D81) ====
  
 The Commodore 64 used a separate floppy disk drive, the 1541, which in itself is a complete computer with a nearly identical CPU to the C64. The 1541 reads single sided disks with about 170 KB of contents. The data of one diskette can be stored in a .d64 file which contains the data for all the tracks and sectors as the C64 would see it, but not the full data that the 1541 would access, so .d64 files usually do not contain any information about the copy protection used. There are file formats for raw disks (for example .g64) which are not directly supported by Emulation Station but can be loaded manually in the standalone emulators if required. The Commodore 64 used a separate floppy disk drive, the 1541, which in itself is a complete computer with a nearly identical CPU to the C64. The 1541 reads single sided disks with about 170 KB of contents. The data of one diskette can be stored in a .d64 file which contains the data for all the tracks and sectors as the C64 would see it, but not the full data that the 1541 would access, so .d64 files usually do not contain any information about the copy protection used. There are file formats for raw disks (for example .g64) which are not directly supported by Emulation Station but can be loaded manually in the standalone emulators if required.
Line 78: Line 79:
 By default all emulators have **Accurate Drive Emulation** turned on which emulates the full 1541 drive. This can be turned off in the RetroArch settings (not EmulationStation) to speed up disk access but this reduces compatibility especially with games on multiple disks. By default all emulators have **Accurate Drive Emulation** turned on which emulates the full 1541 drive. This can be turned off in the RetroArch settings (not EmulationStation) to speed up disk access but this reduces compatibility especially with games on multiple disks.
  
-==== Multi Disk Games (.zip.m3u) ====+==== Multi Disk Games (ZIPM3U) ====
  
-Many games use two sided disks or more than one disk. A two sided disk must be flipped manually on a 1541, so you would eject the disk, flip it around and re-insert it. The standard naming convention for such disks is Disk 1 - Side A and Disk 1 - Side B, followed of course by Disk 2 - Side A and so on. +Many games use two sided disks or more than one disk. A two sided disk must be flipped manually on a 1541, so you would eject the disk, flip it around and re-insert it. The standard naming convention for such disks is Disk 1 - Side A and Disk 1 - Side B, followed of course by Disk 2 - Side A and so on.
  
 When using the LIBRETRO: VICE X64 emulator (the default), the easiest way to switch disks is to just insert all required disk images into one ZIP file. When loading this ZIP, the emulator will temporarily unzip all disks into a save folder and build an .m3u file on the fly. To switch between the disks you can use ''[HOTKEY]'' + ''[L2]'' or ''[R2]'' to go through the disks. You can also utilize RetroArch's **Disc Control** menu in the **Quick Menu** (''[HOTKEY]''+{{:wiki:south.png?nolink&20|South button (B SNES)}} button in-game, then scroll down, it's pretty low in the list). Select **Eject Disc**, then go to **Current Disc Index** and change your disk to the required one. Then, **Insert Disc** to continue the game. When using the LIBRETRO: VICE X64 emulator (the default), the easiest way to switch disks is to just insert all required disk images into one ZIP file. When loading this ZIP, the emulator will temporarily unzip all disks into a save folder and build an .m3u file on the fly. To switch between the disks you can use ''[HOTKEY]'' + ''[L2]'' or ''[R2]'' to go through the disks. You can also utilize RetroArch's **Disc Control** menu in the **Quick Menu** (''[HOTKEY]''+{{:wiki:south.png?nolink&20|South button (B SNES)}} button in-game, then scroll down, it's pretty low in the list). Select **Eject Disc**, then go to **Current Disc Index** and change your disk to the required one. Then, **Insert Disc** to continue the game.
Line 88: Line 89:
 </WRAP> </WRAP>
  
-You can of course create .m3u files yourself for better naming of disks as well as saving progress inside the .d64 images. By default, RetroArch will display the filename (without extension) of each M3U entry when selecting a disk via the **Current Disc Index** drop-down menu. Custom display labels may be set for each disk using the syntax: ''DISK_FILE|DISK_LABEL''. For example, the following M3U file:+You can of course create ''.m3u'' files yourself for better naming of disks as well as saving progress inside the ''.d64'' images. By default, RetroArch will display the filename (without extension) of each M3U entry when selecting a disk via the **Current Disc Index** drop-down menu. Custom display labels may be set for each disk using the syntax: ''DISK_FILE|DISK_LABEL''. For example, the following M3U file:
  
 <code> <code>
Line 114: Line 115:
 ==== Save Disks ==== ==== Save Disks ====
  
-Some games require you to supply your own empty disk for saving games. This requires an .m3u file. On the first line(s) you should point out to the program __which does not need to be a disk but can be any supported file type__ (so you can use Save Disks also with PRGs or cartridges and even tapes). The last line in the ''.m3u'' file should be:+Some games require you to supply your own empty disk for saving games. This requires an ''.m3u'' file. On the first line(s) you should point out to the program __which does not need to be a disk but can be any supported file type__ (so you can use Save Disks also with PRGs or cartridges and even tapes). The last line in the ''.m3u'' file should be:
 <code> <code>
 #SAVEDISK: #SAVEDISK:
Line 126: Line 127:
 ===== Emulators ===== ===== Emulators =====
  
-There are four emulators included for the C64 group. The default is [[#libretro:_vice_x64|libretro: VICE_X64]] which is preferred due to better configuration via EmulationStation and some more display options.+There are five emulators included for the C64 group. The default is [[#libretro:_vice_x64|libretro: VICE_X64]] which is preferred due to better configuration via EmulationStation and some more display options. For high specced machines there also is a VICE_X64SC emulator, which is functional identical but has higher accuracy. It is only recommended on X64 machines. The higher accuracy usually is not needed for games although some graphics intensive demos need it.
  
 There are three supplementary standalone variants: VICE: X64, VICE: X64DTV and VICE: XSCPU64. The first one, X64, emulates a standard C64. The X64DTV is for the C64DTV [[WP>C64_Direct-to-TV]] which has more graphical capabilities, but does not have many specific games. The XSCPU64 emulates a modified C64 [[WP>SuperCPU]] with a 20 MHz CPU and 16 MB of RAM instead of the standard 1 MHz CPU and 64 KB of RAM. It usually requires modified software. There are three supplementary standalone variants: VICE: X64, VICE: X64DTV and VICE: XSCPU64. The first one, X64, emulates a standard C64. The X64DTV is for the C64DTV [[WP>C64_Direct-to-TV]] which has more graphical capabilities, but does not have many specific games. The XSCPU64 emulates a modified C64 [[WP>SuperCPU]] with a 20 MHz CPU and 16 MB of RAM instead of the standard 1 MHz CPU and 64 KB of RAM. It usually requires modified software.
Line 161: Line 162:
 ==== VICE ==== ==== VICE ====
  
-The three standalone versions basically use the same emulator engine as the RetroArch version, but expose a lot more of the internal features (like switching Soundchip emulation) in their own UI (and not in Emulation Station). They are recommended only if you need access to these features. The full documentation for these emulators is available on [[https://vice-emu.sourceforge.io/vice_toc.html|SourceForge (Vice-Emu)]].+The three standalone versions basically use the same emulator engine as the RetroArch version, but expose a lot more of the internal features (like switching Soundchip emulation) in their own UI (and not in EmulationStation). They are recommended only if you need access to these features. The full documentation for these emulators is available on [[https://vice-emu.sourceforge.io/vice_toc.html|SourceForge (Vice-Emu)]].
  
 === VICE configuration === === VICE configuration ===
Line 168: Line 169:
 The following features were added in Batocera **v33**. The following features were added in Batocera **v33**.
  
- the controls have been changed to be more accessible.+The controls have been changed to be more accessible.
 </WRAP> </WRAP>
  
Line 192: Line 193:
  
 <WRAP center round todo> <WRAP center round todo>
-todo box+todo
 </WRAP> </WRAP>
  
Line 213: Line 214:
 ==== Border Graphics and Zoom Mode ==== ==== Border Graphics and Zoom Mode ====
  
-While the C64 officially has a screen resolution of 200 lines, in reality the video chip draws the equivalent of 288 lines (for PAL) - 200 lines of image (interlaced) and 88 extra lines above and below that image. Some these are never visible due to overscan, but on a real C64 you always have a large visible border on the display. Officially this border can only be set to one of the 16 colors of the C64 palette, so the default setting of LIBRETRO: VICE X64 is to moderately zoom into the screen so that only part of the border is visible. With this setting you can still see border palette changes like loading or decrunching bars.+While the C64 officially has a screen resolution of 200 lines, in reality the video chip draws the equivalent of 288 lines (for PAL) - 200 lines of image (interlaced) and 88 extra lines above and below that image. Some these are never visible due to overscan, but on a real C64 you always have a large visible border on the display. Officially this border can only be set to one of the 16 colors of the C64 palette, so most games will fill the screen and not display the border at all.
  
 {{:systems:c64-zoom.png?200|Zoomed (Default)}} {{:systems:c64-nozoom.png?200|Zoom off}} {{:systems:c64-zoom.png?200|Zoomed (Default)}} {{:systems:c64-nozoom.png?200|Zoom off}}
Line 219: Line 220:
 **Left:** Zoom active, border graphics cut off. **Right:** Zoom deactivated. **Left:** Zoom active, border graphics cut off. **Right:** Zoom deactivated.
  
-With programming tricks this border are can be used to display graphics, extending the screen for example for score displays and life counters. These would appear cut off with the default settings. This requires you to turn off the zoom so that you can see the full graphics. You can achieve this by either pusing ''[R3]'' or setting the **ZOOM MODE** in the **ADVANCED GAME OPTIONS** for a specific game.+With programming tricks this border are can be used to display graphics, extending the screen for example for score displays and life counters. These would appear cut off with the default settings. This requires you to turn off the zoom so that you can see the full graphics. The current implementation of lr-vice has a detection logic to automatically zoom out once border graphics are displayed. If this fails with a specific game, you can set the **ZOOM (HIDE BORDERS)** setting in the **ADVANCED GAME OPTIONS** for a specific game.
  
 ==== Color Palettes ==== ==== Color Palettes ====
Line 231: Line 232:
 </WRAP> </WRAP>
  
-The C64 has two joystick ports and every joystick only has four digital directions and one fire button. The C64 also has a keyboard that is extensively used in many games. The controller mapping has been optimized to cover most use cases for known C64 games, but there will be limitations. There also is a virtual keyboard available for those keys that are not mapped.+The C64 has two joystick ports and every original joystick only has four digital directions and one fire button. Additional fire buttons were added later and are usually not seen by any original games. The C64 also has a keyboard that is extensively used in many games. The controller mapping has been optimized to cover most use cases for known C64 games, but there will be limitations. There also is a virtual keyboard available for those keys that are not mapped
 + 
 +Many Jump'n'Run games of the C64 use "Joystick Up" for a jump (as there is only one button). As a quality-of-life hack the {{:wiki:east.png?nolink&20|East button (A SNES)}} button has been mapped to "Up". You can change this for the full system or a single game, either in **ADVANCED SYSTEM SETTINGS** or in **ADVANCED GAME OPTIONS** with the **JUMP ON A** option. If you turn this off, this button is mapped to a 2nd controller button that is only used in some more modern C64 games. You might want to turn it off if that behaviour is irritating in other games.
  
 Here are the default Commodore 64's controls shown on a [[:configure_a_controller|Batocera Retropad]]: Here are the default Commodore 64's controls shown on a [[:configure_a_controller|Batocera Retropad]]:
Line 240: Line 243:
 | D-Pad | Joystick directions | Joystick directions | | D-Pad | Joystick directions | Joystick directions |
 | Left Stick | Joystick directions | Joystick directions | | Left Stick | Joystick directions | Joystick directions |
-| {{:wiki:east.png?nolink&20|East button (A SNES)}}| Joystick Fire | Joystick Fire | +| {{:wiki:east.png?nolink&20|East button (A SNES)}}| Up or Button 2 | Joystick Fire | 
-| {{:wiki:south.png?nolink&20|South button (B SNES)}}| Space (keyboard) | Space (keyboard) | +| {{:wiki:south.png?nolink&20|South button (B SNES)}}| Joystick Fire | Space (keyboard) | 
-| {{:wiki:west.png?nolink&20|West button (Y SNES)}}| (keyboard) | Y (keyboard) | +| {{:wiki:west.png?nolink&20|West button (Y SNES)}}| Space (keyboard) | Y (keyboard) | 
-| {{:wiki:north.png?nolink&20|North button (X SNES)}}| N (keyboard) | N (keyboard) |+| {{:wiki:north.png?nolink&20|North button (X SNES)}}| Turbo Fire Toggle | N (keyboard) |
 | ''[Select]'' | Short press: Virtual keyboard\\ Longer press: Statusbar on/off\\ Even longer press: Fast Forward | Virtual Keyboard| | ''[Select]'' | Short press: Virtual keyboard\\ Longer press: Statusbar on/off\\ Even longer press: Fast Forward | Virtual Keyboard|
 | ''[Start]'' | Return (keyboard) | VICE Main Menu | | ''[Start]'' | Return (keyboard) | VICE Main Menu |
Line 251: Line 254:
 | ''[R2]'' | Shift key | | | ''[R2]'' | Shift key | |
 | ''[L3]'' | Switch Joystick ports | | | ''[L3]'' | Switch Joystick ports | |
-| ''[R3]''Zoom on/off | |+| ''[R3]''Virtual keyboard | |
 | ''[HOTKEY]'' + ''[L2]'' | Switch disk (.m3u required) | | | ''[HOTKEY]'' + ''[L2]'' | Switch disk (.m3u required) | |
 | ''[HOTKEY]'' + ''[R2]'' | Switch disk (.m3u required) | | | ''[HOTKEY]'' + ''[R2]'' | Switch disk (.m3u required) | |
Line 290: Line 293:
 Pushing ''[L3]'' will switch the controller between Port #1 and Port #2. Pushing ''[L3]'' will switch the controller between Port #1 and Port #2.
  
-Pushing ''[R3]'' will switch the Zoom function on and off to see more or less of the border. (For the standalone emulators this will get you to the main VICE menu).+Pushing ''[R3]'' will turn the virtual keyboard on or off. (For the standalone emulators this will get you to the main VICE menu).
  
 Using ''[L2]'' and ''[R2]'' together with the ''[HOTKEY]'' will switch disks from an .m3u playlist (see Multi Disk above). Using ''[L2]'' and ''[R2]'' together with the ''[HOTKEY]'' will switch disks from an .m3u playlist (see Multi Disk above).
  • systems/c64.1638735068.txt.gz
  • Last modified: 5 years ago
  • by kugelblitz