Getting Started
After selecting Caprice32 in Programs/Caprice32 on your Start menu, you will be presented with the standard CPC startup screen: yellow text on a blue background. The PC keyboard will now imitate the keyboard of a CPC - so don't be alarmed if a key press results in something other than what you'd expect! If you are not familiar with the CPC's keyboard layout, refer to the following diagrams to find the keys you're looking for. Shown here are the default and the two alternate maps that can be selected (see Tools|Options|Input):
Original
French
Spanish
CPC keys map to the PC keyboard keys in the same positions, but since this is not always possible, some CPC keys had to be moved to alternate locations (CPC Key in the table below refers to the Original layout above):
CPC Key | PC Key |
CLR | Insert |
] | \ |
\ | Right-Alt |
COPY | Left-Alt |
ENTER | NP Enter |
F0-F9 | NumPad 0-9 |
F. | NumPad . |
The most frequently used emulator commands are available via the following keys:
PC Key | Action |
F2 | load snapshot (.SNA) |
F3 | insert tape image (.CDT) |
Ctrl+F3 | tape PLAY / STOP |
F4 | save snapshot (.SNA) |
F5 | hard reset |
Ctrl+F5 | MF2 reset (see Tools|Options|Expansion) |
F6 | insert disk image (.DSK or .IPF) into CPC drive A |
F7 | insert disk image (.DSK or .IPF) into CPC drive B |
F8 | options menu |
Ctrl+F8 | toggle joysticks on / off |
F10 | exit |
F11 | MF2 stop (see Tools|Options|Expansion) |
F12 | toggle regular / full speed |
Ctrl+F12 | toggle FPS display on / off |
~ | toggle windowed / full-screen mode |
PAUSE | pause emulation |
PRINTSCR | capture screen contents |
The purpose behind some of the not-so-obvious emulator features (e.g. snapshots) will be revealed in the next section. At this point, feel free to experiment with Caprice32, and return if something is unclear or if you wish to tweak the emulation for best performance.
If you run into any kind of problems, please refer to the Troubleshooting section.
^ Back ^
|
Main Menu
System
Reset
Causes a 'hard' reset: the emulation is re-initialized and all memory is wiped clean. A real CPC does not have a physical reset button, so this action comes closest to turning a CPC off and then back on again.
|
Pause
Pauses the emulation. Select it again to resume.
|
MF2 Reset
Simulates pressing the reset button on the Multiface 2 device. Only the first 64KB of RAM are wiped - all additional CPC memory and the 8K of MF2 RAM remain untouched.
This option is only available if "Enable Multiface 2" is set on the Expansion page of the Options dialog.
|
MF2 Stop
Pressing the stop button on the Multiface 2 device causes the CPC to freeze and a two line menu to be displayed at the bottom of the screen. Please see the Multiface 2 documentation (available from the official Caprice32 web site) for what you can do with this interesting add-on.
This option is only available if "Enable Multiface 2" is set on the Expansion page of the Options dialog.
|
Load Snapshot...
Use this function to restore a previously saved snapshot (see Save Snapshot... below).
NOTE: loading a snapshot will discard everything that is currently in the CPC's memory.
|
Save Snapshot...
Snapshots are used to preserve the entire state of the emulation at the exact moment the snapshot is taken. Used with a game for example, the snapshot facility gives you the ability to save your progress at any time.
NOTE: Snapshots only store what is currently in memory. If for example, you are playing a game that loads level data from disk, you will have to have the disk image in the CPC drive for the game to continue properly from the point the snapshot was taken. It is generally NOT a good idea to take a snapshot while the CPC is accessing any of its disk drives, or loading from tape.
|
Enable Joysticks
If a check mark appears in front of this menu entry then the CPC joystick emulation is active and the control assignments you have made on the Input page of the Options dialog apply. You can temporarily disable the joysticks if your assignments conflict with the normal operation of the keyboard (e.g. if a joystick action maps to a regular keyboard key).
|
Exit
Quits Caprice32.
|
Disk
Insert Disk...
Disks are the main storage media used with the CPCs. Using this function you can insert a 'virtual' diskette into either of the two CPC disk drives. If any data has changed on the disk image currently in the drive, you will be prompted to save these changes before proceeding.
Inserting a disk into a CPC drive is only the first step when loading software with the emulator. If you're unfamiliar with CPC disk operations and loading software, I suggest you have a look at the Caprice32 FAQ section on How do I load games?.
|
Insert Blank Disk
Places an empty disk in either of the two CPC disk drives. The format and capacity of the blank disk can be specified on the Disk page of the Options dialog. See Tools|Options|Disk for more details.
|
Eject Disk
Removes the disk from the virtual disk drive. You may be prompted by CPC software at some point to remove the disk from the drive and this function will let you do that.
|
Flip Disk
The 3" disk drives used with the CPC only had one read/write head and therefore you had to flip the disk to access the second side. This function will only be available if the disk image in the drive has two sides.
NOTE: Only use this function if you know this disk image to be for a single sided drive. Using this switch on a high capacity disk image (e.g. PARADOS80, VORTEX, etc.) will result in read failures.
|
Write Protect
Toggles write protect on or off for the disk in the drive.
|
Tape
Insert Tape...
Regular audio tapes were the first storage media used with the CPCs, and the 464 model had a built in tape deck for that very purpose. Using this function you can insert a 'virtual' tape into an emulated tape deck.
Inserting a tape is only the first step in the loading process. If you're unfamiliar with loading from tape, I suggest you have a look at the Caprice32 FAQ section on How do I load games?.
Loading from tape is quite a bit slower than disk access, so be prepared to wait a while longer for software or games to load. For example, a game requiring about 100KB will take roughly 8 minutes to load (with emulation speed set to real-time). I therefore suggest you switch to full-speed (F12) during tape access, to accelerate things up a bit.
|
Eject Tape
Remove the tape from the tape deck.
|
Play/Stop
Alternates between pressing the PLAY and the STOP button on the virtual tape deck. The PLAY button has to be depressed to load from tape. See the Caprice32 FAQ section on How do I load games? for more information on when to use this function.
|
Rewind
Moves the tape position back to the beginning, equivalent to rewinding a real tape.
|
Tools
Options...
General
CPC Model
Selects which of the three Amstrad CPC models you would like to work with. Most of the time you should have this set to 6128, as some software will require the additional 64K of RAM. Some older programs might insist on the use of the 464 however.
NOTE: Changing this setting will cause the emulation to reset.
|
OEM Name
Influences which power-on message the emulated CPC will display.
|
RAM Slider
This slider allows you add more RAM to the stock CPC you selected. The size can be set in 64KB increments, up to the maximum of 576KB. Several third-party manufactures offered RAM expansions for the CPC. Caprice32 only emulates an Amstrad/Dk'Tronics type RAM expansion.
NOTE: Changing this setting will cause the emulation to reset.
|
CPC Speed
This slider allows you to set the emulation speed as some percentage of the original CPC speed. For example: to make the emulated CPC twice as fast as normal, set the slider to the 200% position. Depending on how fast your PC is, some of the higher settings may not actually achieve the selected speed. To have an indication of how fast the emulation is running, turn on Show Emulation Speed on the Video page.
|
Auto-pause when minimized or in background
A set check mark here causes Caprice32 to automatically pause the emulation when the application window is minimized or put in the background.
|
Capture printer output to file
If this check box is set, all data sent to the CPCs printer port will be captured to a file on your PC. By default this file will be called "printer.dat" and placed in the folder you installed Caprice32 to. To specify an alternate location or a different name, open the "cap32.cfg" file in your Caprice32 folder with a text editor (e.g. Notepad) and edit the "printer_file=" line.
|
Expansion
ROM Slot 2-15
Caprice32 allows (just like the original CPC) the use of expansion ROMs. If you had any additional ROMs for your CPC, you may be able to use them under Caprice32 as well.
Clicking on any of these 14 buttons allows you to choose the ROM file to put in the corresponding slot. For a ROM to be initialized during the CPC's startup sequence, its slot number has to be between 2 and 7 for the CPC 464, and between 2 and 15 for the CPC 664/6128. ROM files should be placed uncompressed in the ROM folder. Naturally, only those ROMs which do not rely on extra hardware will work correctly. If you want to see a specific ROM/hardware add-on emulated by Caprice32, please let me know and I will tell you what additional information I may required to support it. To clear a slot, click the button and simply cancel the selection dialog.
As a bonus, Richard Wilson's replacement disk operating system PARADOS is included in the Caprice32 archive. To activate it, click on the "ROM Slot 7" button to get a list of available ROM files. Select "parados.rom" from the list and click on OK to confirm. The button text will now have changed to reflect your choice. Click on OK and the CPC will reset to activate the new configuration. PARADOS is more tolerant of high capacity disk formats, and by default configures CPC drive B to be a double sided, 80 track capable disk drive. Enter the "|DRIVE" command at the BASIC prompt to access the built in utility suite of PARADOS.
NOTE: Changing a ROM slot assignment will cause the emulation to reset.
|
Enable Multiface 2
Quoted from the Multiface 2 (MF2) manual:
- Fully automatic back up of any program once loaded Into RAM
- 8K RAM extension - for software such as our INSIDER, or as a buffer, etc.
- MULTI TOOLKIT to study/modify/develop programs. POKE infinite lives, etc.
- TRUE RESET BUTTON which clears the first 64K CPC RAM.
As you can see, quite a useful bit of hardware to have, and now it's available to you for use with Caprice32! To activate it, you first have to get hold of the MF2 ROM file - Try
ftp://ftp.nvg.ntnu.no/pub/cpc/emulator/rom/multface.zip
as one possible source. Uncompress the ZIP to the Caprice32 ROM folder. Next click on the button beside the Enable Multiface 2 check box and select the MF2 ROM file from the list (this should be "MULTFACE.ROM" if you used the URL above).
The MF2 is activated in the emulation by pressing the F11 key. This will result in a two line menu at the bottom of the screen. To return to the CPC, hit the "r" key.
The complete MF2 manual is available from the official Caprice32 web site (see How To Get In Touch).
NOTE: Changing this setting will cause the emulation to reset.
|
Video
Full Screen Resolution
Select the resolution and bit depth that should be used when running in full screen mode. During the emulation, use the "~" key (to the left of the "1" on the main PC keyboard) to switch Caprice32 between windowed and full screen mode.
|
Rendering Style
Scanlines: imitates the look of an ordinary TV by displaying the black lines that are visible on a TVs picture tube. This is the fastest rendering method.
Line Doubling (Software): Very crisp display with no visible scanlines. Since every picture line has to be drawn twice this method incurs a huge performance hit - it should only be used on fast PCs or if the Hardware method does not work.
Line Doubling (Hardware): Slightly blurred display with no visible scanlines. This method uses the graphics card's scaling capability to double the picture lines. Some PC graphics cards do not support hardware scaling, resulting in severe slow-downs if this rendering style is chosen. Select Scanlines or the Software method if your card is one of those.
|
Synchronize to PC Screen Refresh
A set check mark here means that Caprice32 will wait for the PC video refresh to occur (usually 70 or 85 times per second) before painting the CPC screen. This effectively prevents the CPC video display from "tearing" and should make scrolling motions appear somewhat smoother.
|
Show Floppy Drive/Tape Activity
A set check mark here means that Caprice32 will indicate CPC floppy and/or tape drive activity by showing a small icon in the upper right corner of the emulator display.
|
Show Emulation Speed
A set check mark here means that Caprice32 will show the speed at which the emulation is running in the upper left corner of the emulation display. This value is measured in Frames Per Seconds (FPS). 50 FPS is the original CPC speed.
|
Colour/Green Monitor
CPCs were available in two configurations: with a colour monitor or with a monochrome (green) monitor. These radio buttons allow you to choose which monitor type Caprice32 should emulate.
|
Intensity Slider
This slider allows you to raise or lower the intensity of the CPC colour palette. A value of 1.0 represents the original intensity level. Smaller values darken the picture, larger values brighten it.
|
Audio
Enable Sound Emulation
Turns sound output through the PCs sound card on or off.
|
Playback Rate
Defines the playback rate of your PCs sound card. Higher setting make high notes sound clearer, but demand more processor power from the CPU.
|
Channels
Lets you choose between mono and stereo sound. The CPC always outputs sound in stereo; the mono option is only offered here to reduce CPU load on lower-end PCs.
|
Sample Size
Lets you choose between 16 and 8 bit samples. 16 bit is the preferred setting, but using 8 bit may be less taxing on your CPU and sound card.
|
Volume Slider
Controls the volume of the AY sound chip emulation. This setting is independent of the volume settings of Windows and your sound card.
|
Disk
Insert Blank Disks as
The Insert Blank Disk functions on the Disk Menu use the formats you select here. By default the drop down lists contain only the two standard CPC disk formats: Data (for any kind of data) and Vendor (ready for CP/M use).
If you want to add your own format definitions, look for the "fmtxx=" lines in the "cap32.cfg" file. The syntax of the definitions is as follows:
fmtxx=name,tracks,sides,sectors,sector size,gap#3 length,fill byte,sector IDs
Example:
fmt02=704K Vortex Format,80,2,9,2,0x52,0xe5,
0x01,0x06,0x02,0x07,0x03,0x08,0x04,0x09,0x05,
0x01,0x06,0x02,0x07,0x03,0x08,0x04,0x09,0x05
NOTE: A format definition must all be on one line, all values separated only by commas - no spaces. Hexadecimal values are preceded by "0x". Sector size is coded as follows: 0 = 128 bytes, 1 = 256, 2 = 512, 3 = 1024, and so forth. The sector ID list first contains all IDs of side 1, then (if required) all of side 2. The GAP#3 length is currently not utilized by the FDC emulation.
|
Input
CPC Keyboard
CPCs sold in France and Spain had localized keyboard layouts. This option lets you choose among these two and the default QWERTY keyboard definition.
NOTE: Changing this setting will cause the emulation to reset.
|
Input Device
This section of the Options dialog is used to configure the CPC joystick emulation. The drop down box lists all the control devices that are currently known to Windows. If you don't see a device you would like to use, open Game Controllers in the Windows Control Panel to install it. The list box below the drop down shows the current control assignments for the selected device. To make your own assignments, first select the device to be configured from the drop down box, then click on "Configure...". This will open the Configure Device dialog.
The Configure Device dialog is divided in three sections: the upper left lists the controls found on the selected device. The upper right lists the emulator actions that can be assigned to the control you have selected on the left. At the bottom you can see the currently defined assignments. The buttons on the bottom right do pretty much what they say: add and remove entries, and clear the entire assignment list. Once you're satisfied with your configuration, click on "Done" to accept your changes.
NOTE: You can assign multiple actions to a the same control. Keep in mind however that these actions will be executed at the same time and not in sequence. For example: if you assign both "Joystick 1 Up" and "Joystick 1 Left" to "Numpad 7" you will have created a single-key control that causes a diagonal movement in CPC games.
|
Screenshot...
Enter a name and Caprice32 will store what is currently shown on the CPC display in a PNG file. The picture will include everything visible on screen, including the activity icons, info messages and speed display. You can disable these extras via the Video page of the Options dialog prior to taking the screenshot.
|
^ Back ^
|
Acknowledgements
Thanks must go out to...
My brother Ralf, who is a great resource when it comes to hard and software problems. Together we have traced quite a few signals of the CPC hardware. He is also responsible for designing the Caprice32 logo.
Kevin Thacker, with whom I have frequent e-mail exchanges. We've pinned down the inner workings of the CRTC/GA combo pretty accurately now, and continue to delve deeper into their secrets until we perfect the video emulation...
Dirk Junker, who was kind enough to send me his Schneider CPC 6128 from Germany. Without having the actual machine to test software and theories on, Caprice32 probably wouldn't exist today!
Brian Watson, for sending me a replacement drive belt for the CPCs 3" floppy disk drive.
Marco Bergman, for sending me his CPC mouse - which shall be emulated in an upcoming Caprice32 version.
Richard Wilson, for giving permission to include his AMSDOS replacement ROM PARADOS with Caprice32, and for his efforts in improving the accuracy of CPC emulation. Check out his excellent WinAPE32 CPC Plus emulator at http://winape.emuunlim.com/.
Sergey V. Bulba, for allowing me to use his excellent AY sound chip emulation with Caprice32, and for patiently answering all the technical questions I had.
Sergio Bayarri
Ricardo Bittencourt Vidigal Leitao
Gerardo Briseño
Christophe Copin
César Nicolás González
Craig Harrison
Paul A. Hodgson
Lars Magnus Hvattum
Frederic Herlem
Malcolm Jennings
Vaggelis Kapartzianis
Martin Korth
Noel Llopis-Artime
Pedro Aznar Márquez
Brice Rivé
Emmanuel Roussin
Bernd Schmidt
Marco Vieth
...and last, but certainly not least, to all the users of Caprice32!
^ Back ^
|