Caprice32 v3.01 - A 32-bit Amstrad CPC Emulator
Copyright (c) 1997-2001 Ulrich Doewich
All Rights Reserved

Firmware and BASIC ROMs
Copyright Locomotive Software and Amstrad plc
Amstrad has given permission for their redistribution,
but retains the copyright


DISCLAIMER ...............................................................

 This software is provided as is. The author accepts no responsibility for
 damages occurring as a direct or indirect result of using this software.


SYNOPSIS .................................................................

 Caprice32 is a software emulator of the Amstrad CPC 8bit home computer
 series. The emulator faithfully imitates the CPC464, CPC664, and CPC6128
 models. By recreating the operations of all hardware components at a low
 level, the emulator achieves a high degree of compatibility with original
 CPC software. These programs or games can be run unmodified at real-time or
 higher speeds, depending on the PC environment used.


REQUIREMENTS .............................................................

 Minimum system requirements:

  Pentium II 300MHz
  32MB RAM
  Windows 98/Me/2000
  DirectX8


INSTALLATION .............................................................

 Nothing much to it: simply uncompress the Caprice32 distribution archive
 anywhere you like. Just make sure the ROM files end up in a sub-folder
 called "rom". The configuration data is now stored in the Windows system
 registry, so there's no need to modify or edit a CFG file anymore.


GETTING STARTED ..........................................................

 Start Caprice32 by double-clicking on CAPRICE32.EXE. 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 yet familiar with the CPC's keyboard layout, see the included
 KEYBOARD.GIF file for a simplified representation.

 The most frequently used emulator commands are initially mapped to the
 following keys:

  F2            load snapshot
  F4            save snapshot
  F5            hard reset
  F6            insert disk image into CPC drive A
  F7            insert disk image into CPC drive B
  F8            options menu
  F10           exit
  F12           full-speed toggle

 Some CPC keys had to be remapped to alternate locations:

  Left-Alt      CPC COPY key
  Insert        CPC CLR key
  Right-Alt     CPC \ key

 All CPC keys and any of the emulator commands can be mapped to alternate
 keys/controls. See the TOOLS MENU/REMAP CONTROLS section below for more
 detailed information.

 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 you
 wish to tweak the emulation for best performance.

 If you run into any kind of problems, please refer to the TROUBLESHOOTING
 section.


FEATURES .................................................................

 SNAPSHOTS

  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 DSK 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.


 ROMS

  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. As a bonus, Richard Wilson's replacement disk
  operating system PARADOS is included in the Caprice32 archive. To activate
  it, call up the Options dialog by pressing F8 or selecting it from the
  Tools menu. 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.


TOOLS MENU ...............................................................

 OPTIONS...

 General Page

  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.

  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. At
   this time, Caprice32 only emulates an Amstrad/Dk'Tronics type RAM.

  ROM Slot 2-15

   Clicking on any of these 14 buttons allows you to choose the ROM file to
   put in the associated slot. For a ROM to be initialized during the CPC's
   startup sequence, its slot number has to be between 1 and 7 for the CPC
   464, and between 1 and 15 for the CPC 664/6128. ROM files should be
   placed uncompressed in the ROM sub-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.

  Restore last session on emulator start

   -not implemented-


 Controls Page

  This page lets you adjust the sensitivity of analog PC controllers, that
  you may be using as the CPC joysticks. If you are using a digital
  joystick/pad, you can safely ignore these settings.


 Audio Page

  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. The 44kHz setting makes
   high notes sound clearer, but demands more processor time from the CPU.

  Stereo

   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.


 REMAP CONTROLS...

  Selecting this option will display the DirectX8 Device Configuration
  screen. Here you can remap and reassign any and all keys/controls used by
  Caprice32. It's a very powerful tool, which should allow you to customize
  everything any way you want (e.g. change the default UK CPC keyboard
  layout to that of another country).


TIPS .....................................................................

 LOADING GAMES

  Start the emulator and hit F6 to open the file selector for CPC drive A.
  Navigate to where you placed the DSK or the ZIP which contains it.
  Highlight the desired file and click on OK. If you selected a ZIP and it
  contained more than one DSK file, you now have to choose which one to
  load. Once again, highlight an entry and click on OK. Back on the blue CPC
  screen, type

   CAT

  to list the contents of the disk image. Two things can happen at this
  point: a) either a bunch of names appears, or b) you get a "Drive A: read
  fail" error message. Depending on what you got, follow the instructions in
  the corresponding paragraph below.

  a) locate the file with the smallest size and a .BAS, .BIN, or no
     extension. Now type

      RUN"filename

     and hit Enter (you get the quotation marks with SHIFT+2). This should
     get things going. However, sometimes the file you identified is not the
     game's loader, and the RUN command results in a "BASIC 1.x" or "Memory
     full" message. In that case, use CAT to locate a different file and try
     the same procedure again.

  b) reset the emulation (F5) and try starting the game with the

      |CPM

     command. The | symbol is entered by pressing Shift+[ (US keyboard). If
     this still results in a read error then most likely the DSK image is
     corrupt, or not a CPC disk at all.


TROUBLESHOOTING ..........................................................

"DINPUT8.DLL could not be found..."

 Getting this error message when trying to run the emulator means that
 you do not yet have Microsoft DirectX8 installed. Use the "Windows
 Update" feature on the Start menu to install it.


HOW TO GET IN TOUCH ......................................................

 If you want to let me know what you think about Caprice32, submit a bug
 report, or have a suggestion for a future version, drop me a line via one
 of the following methods:

 e-mail:
   caprice32@cybercube.com

 snail mail:
   Ulrich Doewich
   112 Tea Rose Street
   Markham, Ontario L6C 1X3
   Canada

 You can always find the latest version of Caprice32 and other utilities
 authored by me on the official Caprice32 web site at:

   http://www.classicgaming.com/caprice


BACKGROUND INFORMATION ...................................................

 Caprice32 is essentially the creation of one person - me. Everything is now
 written in C, to make porting it to other platforms easier. Version 3.00
 was compiled with MinGW and DirectX8. Since the DirectX interface is tied
 to the Windows platform, I'll be looking into converting the project over
 to SDL (see http://www.libsdl.org ) for the next version...

 For the latest versions of my Z80 and AY-3-8912 emulations I have
 referenced the sources of MAME (see http://www.mame.net ).


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 and all
   other graphics used in the emulator.

   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.

   Sergio Bayarri
   Ricardo Bittencourt Vidigal Leitao
   Gerardo Briseo
   Christophe Copin
   Csar Nicols Gonzlez
   Craig Harrison
   Paul A. Hodgson
   Lars Magnus Hvattum
   Frederic Herlem
   Malcolm Jennings
   Vaggelis Kapartzianis
   Martin Korth
   Noel Llopis-Artime
   Brice Riv
   Emmanuel Roussin
   Bernd Schmidt
   Marco Vieth

 ...and last, but certainly not least, to all the users of Caprice32!
