cap32(6)
๐ NAME ๐
okay so welcome to cap32(6) bestie โ this is Caprice32, the Amstrad CPC emulator. That's the whole vibe. ๐
โจ SYNOPSIS โจ
cap32 [OPTION]... [FILE]...
๐ฆ DESCRIPTION ๐ฆ
Caprice32 is an Amstrad CPC emulator, and it does not do things halfway โ it emulates the Amstrad CPC464, 664, 6128 and 6128+ home computers. yes, all of them. iconic behavior. ๐
๐ธ Media loading ๐ธ
so when you run it, the FILEs you pass as arguments get used to populate the various available CPC machine slots. the type of slot is decided by the file format, detected by its extension. Caprice32 supports these formats, no cap:
.dskโ disk image.ipfโ Interchangeable Preservation Format disk image.vocor.cdtโ tape image.cprโ cartridge image.snaโ snapshot image.zipโ a zip of any previously described file
specifying slot content on the command line is optional, so no pressure bestie. ๐
Caprice32 supports two disk drives: drive A and drive B. if you hand it two disk image files (.dsk or .ipf), the first one goes into drive A and the second one goes into drive B. that's it, that's the rule.
the cart_path, snap_path, dsk_path and tape_path entries in the configuration file are only used to specify the directory to open when loading/saving files in the GUI. the full path to the various slot contents must be provided on the command line. literally. the whole path. ๐ซถ
the rom_path entry in the configuration file is what the emulator uses to find its system ROM and cartridges.
๐ง Configuration ๐ง
when launched, Caprice32 goes looking for a configuration file in several locations. if a configuration file was specified with the --cfg_file command line switch, Caprice32 will try and use it. if no configuration file was specified, or the configuration file specified does not exist, Caprice32 will try and open, in this exact order:
$CWD/cap32.cfg($CWDbeing the directory where thecap32executable resides)cap32.cfgfile in the location pointed to by theXDG_CONFIG_HOMEenvironment variable. ifXDG_CONFIG_HOMEis undefined, it will look at$HOME/.config/as the defaultXDG_CONFIG_HOMEdirectory.$HOME/.cap32.cfgfor compatibility./etc/cap32.cfg.
Caprice32 will use the first valid file it finds. if no configuration file is found, a default configuration will be used. slay, sensible defaults. โจ
the configuration file contains various configuration parameters, some of which can be modified from the GUI. when saving the configuration from the GUI, it will be written in the configuration file following the same order as previously described, except for the addition of the write permission condition.
most of the configuration file entries are commented in the configuration file provided by default with Caprice32. however โ and this is the sad part ๐ญ โ when overwriting the configuration file from the emulator menu, all comments will be lost. gone. periodt.
๐ฅ Control ๐ฅ
emulator functionalities are available through function keys (F1-F12). but plot twist: the CPC also had function keys, and those are emulated by keys from the numpad. this makes sense since their disposition on the CPC keyboard was similar to the numpad. if your computer doesn't have a numpad (e.g. a laptop that doesn't support it with the Fn key) the only way to access the CPC F1-F10 keys is through the virtual keyboard. the emulator function key mapping can also be redefined through the host keyboard mapping file.
the emulator function default key mapping is:
F1โ Show GUI (and pause the emulator)F2โ Toggle fullscreen / windowed modeF3โ Take screenshotF4โ Press tape reader play keyF5โ Reset the emulatorF6โ Multiface II stop (advanced users only)F7โ Toggle joystick emulationF8โ Toggle FPS displayF9โ Toggle speed limitationF10โ Exit the emulatorF12โ Toggle debug modeShift+F1โ Show virtual keyboardShift+F3โ Take a machine snapshot
๐ฎ Joystick support ๐ฎ
joystick emulation can be turned on with the F7 key. when joystick emulation is on, real joysticks are disabled, and the keyboard arrows (directions) as well as X and Z (fire buttons) keys are remapped to emulate the joystick 1 of the CPC machine. keyboard as joystick, we love a versatile icon. ๐
Caprice32 can also be controlled completely from the joystick. the configuration file joystick_menu_button and joystick_vkeyboard_button entries allow binding menu and virtual keyboard invocations to some of the (host) joystick button.
โจ๏ธ Keyboard mapping โจ๏ธ
Caprice32 supports CPC English, French and Spanish keyboard layouts. the CPC keyboard layout is defined in the configuration file by the keyboard entry (0: English, 1: French, 2: Spanish). the host keyboard mapping is defined in a specific file, allowing you to remap any host key to any specific key. the mapping file to use is set by the kbd_layout configuration entry. the mapping file must be put in the resources directory, defined by the configuration file resources_path entry. if the mapping file is not defined or not found, Caprice32 will default to a standard US keyboard map. defaulting gracefully, as always. ๐
๐ OPTIONS ๐
-a,--autocmd=COMMANDโ pass command to execute to the emulator. the option can be repeated to pass multiple commands. for example:cap32 -a 'print "Hello"' -a 'print "World"'-c,--cfg_file=FILEโ useFILEas the emulator configuration file.-h,--helpโ display short help and exits-V,--versionโ display Caprice32 version and exits-v,--verboseโ be talkative about what the emulator is doing (mostly for debug builds)
๐ EXAMPLES ๐
cap32 ./disk/sorcery.dsk ./trail.dsk
launches cap32, loads the content of ./disk/sorcery.dsk in the drive A slot, and ./trail.dsk in the drive B slot. two disks, two drives, zero stress. โจ
๐ BUGS ๐
CPC6128+ emulation is incomplete: vectored & DMA interrupts, analog joysticks and 8 bit printer are not emulated. ngl, the 6128+ is still a work in progress, bestie. ๐
see https://github.com/ColinPitrat/caprice32/issues for the list of reported bugs.
๐ AUTHOR ๐
Caprice32 was originally written by Ulrich Doewich.
this manual page covers Colin Pitrat's fork of Caprice32.
the screen capture code uses driedfruit SDL_SavePNG code (https://github.com/driedfruit/SDL_SavePNG). credit where credit is due, always. ๐ซถ
๐ FILES ๐
$HOME/.cap32.cfg/etc/cap32.cfg
๐ SEE ALSO ๐
and that's the whole page, bestie!! ๐ this one's from the Games Manual (that's the source, fr fr) and it's dated June 2017 โ go forth and emulate, you absolute main character. ๐ฆ๐
๐ฆ where this page comes from
- nixos 26.05: caprice32 4.6.0
- nixpkgs unstable: caprice32 4.6.0
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms