home *** CD-ROM | disk | FTP | other *** search
/ Emulator Universe CD / emulatoruniversecd1998.iso / CPC / Emulators / CPC52 / CPE_ENG.TXT next >
Encoding:
Text File  |  1997-04-28  |  35.0 KB  |  787 lines

  1.   CCCCC                          The Amstrad CPC Emulator
  2.  CC
  3.  CC                              Copyright 1991-1995 Bernd Schmidt
  4.  CC                              portions Copyright 1995-1997 Ulrich Doewich
  5.   CCCCC  PPPPP
  6.              PP                  Amstrad and Locomotive Software permit the
  7.              PP                  use of the included ROM images with an
  8.              PP                  emulator, but retain the copyright.
  9.          PPPPP
  10.          PP                      This program is free software. You may
  11.          PP                      distribute it freely, provided that you
  12.          PP     EEEEE            do not charge a fee of more than DM 8,-
  13.                EE   EE           or the equivalent in any other currency
  14.                EEEEEE            for copying the disk and provided that
  15.                EE                you always distribute the whole archive
  16.                 EEEEE   v5.2i    including all the files.
  17.                 
  18.                                  Spanish translation by Gerardo Briseño
  19.                                  French translation by Emmanuel Roussin
  20.  
  21. -----------------------------------------------------------------------------
  22.  
  23. 1. What Is This Then?
  24. =====================
  25.  
  26. This is a doc file. It belongs to a program called CPE, which can emulate an
  27. Amstrad CPC on your IBM compatible 486-AT. This program is free software, 
  28. you may distribute it freely, but you may not charge more than a fee of DM 
  29. 8,- (or the equivalent in another currency) for copying. If you want to 
  30. include CPE with other programs on a CD-ROM, you may do so. In any case you 
  31. must preserve the original contents of the archive; you may not modify any 
  32. of the files, you may not omit or add files if you distribute the package. 
  33. There is no warranty for any of the included programs, you use them 
  34. absolutely at your own risk. The author refuses to accept responsibility for 
  35. any damages whatsoever, to you or your computer system, that might arise 
  36. from using or misusing the supplied software.
  37.  
  38. The source code for this program is freely available, it may be copied as 
  39. well, and you may do whatever you like with it for private purposes. If you 
  40. derive other programs from it, you should state that parts of the CPE source 
  41. code were used. You don't need to distribute the source code together with 
  42. the executable program.
  43.  
  44. None of the programs or data supplied may be used for military purposes. I
  45. doubt that they can, but anyway...
  46. If you don't agree with these terms, delete everything and forget about CPE.
  47. But you will miss out on a lot...
  48.  
  49. Mind you, this is freeware, not shareware. I am not asking you for any
  50. payment, so don't send me money. But do write me if you like this program!
  51. Any comments, suggestions or bug reports are highly welcome.
  52.  
  53. Share and enjoy!
  54.  
  55. und nocheinmal auf deutsch, damit niemand sagen kann, er hätte die Passage
  56. nicht verstanden: Benutzung der Programme auf eigene Gefahr, der Autor
  57. übernimmt keine Haftung für irgendwelche Schaeden, die durch die Benutzung
  58. des Programms entstehen, sei es durch sachgemässe oder unsachgemässe
  59. Verwendung.
  60.  
  61.  
  62. 1.1. About The ROM Images
  63. =========================
  64.  
  65. Since version 4.8i, the ROM images of all CPC models are included. These are 
  66. copyrighted by Amstrad and Locomotive, but these companies have permitted 
  67. the use and distribution of the ROMs together with emulators.
  68.  
  69. In previous versions, I was reluctant to include the ROMs because I don't
  70. have a written permission, only emails, which made me feel a bit uneasy. But
  71. I am convinced now because
  72. - Amstrad and Locomotive have repeatedly stated on comp.sys.amstrad.8bit
  73.   that it is legal
  74. - I have received copies of written permissions granted to a german magazine
  75.   (ASM) who included CPE and CPCEMU on a CD
  76. - The ROMs are widely available anyway
  77. - why shouldn't I believe the emails I have?
  78.  
  79.  
  80. 2. General Information
  81. ======================
  82.  
  83. 2.1. The Amstrad CPC Family
  84. ===========================
  85.  
  86. A couple of years ago, 8 bit home computers were very popular. The best-
  87. seller among these was the Commodore 64, but another family of computers was
  88. also very successful in many (mainly European) countries. These were the
  89. Amstrad CPCs (they were distributed under other names in some countries, eg.
  90. you may own a Schneider CPC if you live in Germany).
  91.  
  92. There were three different models:
  93.  
  94. - The CPC464. Released in 1984; it had 32K ROM, 64K RAM and a built-in
  95.   cassette recorder, sitting next to the keyboard. The ROM included the
  96.   Amstrad operating system and Locomotive BASIC 1.0, which was very good.
  97.   You could buy external floppy drives as add-ons; the one sold by Amstrad
  98.   used 3-inch disks, which were incredibly expensive, since no other
  99.   computer manufacturers used these for their own systems (except for some
  100.   exotic machines, such as the "Einstein" for example). There were a couple
  101.   of companies which sold floppy drives using 5.25-inch and 3.5-inch disks,
  102.   but these never were of much importance. Included with Amstrad's disk
  103.   drives was the at that time still very widely used disk operating system
  104.   CP/M 2.2, so that many applications became available to the CPC; only the
  105.   disks did not fit in the 3" drive...
  106.  
  107. - The CPC664 was the next step in the development. It no longer had a
  108.   cassette recorder to the right of the keyboard, but a 3" floppy disk drive
  109.   instead. The operating system and BASIC ROMs were a little improved; BASIC
  110.   now had a few extra commands and the version number had increased to 1.1.
  111.   The 16K floppy ROM was of course also included, so that this computer had
  112.   a total of 48K ROM. It was released in mid-1985.
  113.  
  114. - Only a couple of months later, Amstrad presented the CPC6128. It was
  115.   basically a CPC664 with double the amount of RAM: an incredible 128K!
  116.   There were only minor changes in the ROMs. Unfortunately, the increased
  117.   amount of memory was in no way supported by BASIC. To use it, you had to
  118.   load special banking software from disk. Amstrad also supplied a new
  119.   version of CP/M: CP/M Plus or 3.0, which could use the extra memory, so
  120.   that the problems some programs had with the limited memory of the older
  121.   models were history. After the release of the CPC6128, production of the
  122.   CPC664 was abandoned.
  123.  
  124. The differences between the systems are small compared to the features they
  125. all have in common:
  126.  
  127. - the processor: a Zilog Z80A, an 8-bit CPU running at 4MHz, derived from
  128.   INTeLs 8080.
  129.  
  130. - the video chip: a Motorola CRTC 6845. Together with the Gate Array, it is
  131.   responsible for the generation of the video signal. The CPCs knew three
  132.   video modes:
  133.     mode 0: resolution 160x200 pixel, 16 out of 27 colours + border
  134.     mode 1: resolution 320x200 pixel,  4 out of 27 colours + border
  135.     mode 2: resolution 640x200 pixel,  2 out of 27 colours + border
  136.   Apart from these, the CRTC could be programmed to display many other
  137.   resolutions.
  138.  
  139. - the sound chip: A General Instruments AY-3-8912, with three independent
  140.   sound channels, and one noise generator. The Yamaha equivalent of this
  141.   chip was later used in the Atari ST computers. Some mean people say it has
  142.   FOUR noise generators...
  143.  
  144. - the memory management: Although the Z80 CPU only has a 16 bit address bus,
  145.   thus being merely able to address 65536 bytes of memory, you can (in
  146.   theory) use hundreds of kilobytes of RAM and even thousands of kilobytes
  147.   of ROM. This is made possible by the Gate Array, which implements RAM- and
  148.   ROM-banking in the CPC. The 64K that are seen by the CPU are divided into
  149.   4 blocks of 16K each, and by programming the banking registers you can
  150.   make the Z80 access different blocks of memory at the same address. So,
  151.   the highest memory bank (addresses C000-FFFF) usually contains the video
  152.   RAM, but you can also access the BASIC and floppy ROMs at the same
  153.   addresses.
  154.  
  155. - All models were only sold together with a monitor. You could either choose
  156.   a colour monitor (CTM 644) or, if you did not have that much money, a
  157.   green monitor (GT65). These were not just monitors, they also included the
  158.   power supply. The CPC464 received its 5V supply from the monitor; the two
  159.   later models also needed a 12V supply for the floppy disk. It was a very
  160.   effective way of preventing the users to buy other monitors than those
  161.   manufactured by Amstrad.
  162.  
  163. - There was similar trouble with the printer port. Instead of fitting the
  164.   usual 8 bit Centronics port, Amstrad invented something a LOT more
  165.   useful: The 7 bit Centronics port! It was just another way to prevent
  166.   users from buying external devices from other companies than Amstrad,
  167.   since Amstrad alone built 7-bit printers. But Amstrad had less success
  168.   here than in the case of the monitor; many users owned "alien" printers.
  169.  
  170. - the joystick port: Amstrad also produced joysticks, and of course they
  171.   did not want CPC users to buy other (better) joysticks than their own, so
  172.   they fitted the CPCs with only one joystick port instead of two. To use
  173.   two joysticks, you had to plug an Amstrad joystick into the computer and
  174.   plug the second joystick into the first - it was the only joystick ever
  175.   with a built-in joystick port!
  176.  
  177. In fact, this listing of features is not really complete. It just describes
  178. what the CPC can "officially" do. For example, it is perfectly possible to
  179. use resolutions up to 768x280 in all 27 colours, and capable programmers
  180. have indeed done things like that. More about that in the following
  181. sections...
  182.  
  183.  
  184. 2.2. The Emulator
  185. =================
  186.  
  187. This is version 5.2i of the emulator; the i stands for INTeL.
  188.  
  189. Between the version 4.6i and 5.1i, the CPE package consisted of two 
  190. executables (namely CPE.EXE and CPE2.EXE). Both were geared towards their 
  191. own specific PC hardware platforms: CPE for low-end, and CPE2 for high-end 
  192. machines. To do a serious emulation though, quite a bit of computing power 
  193. is required. The difficulty lies in the graphics emulation, and if the 
  194. graphics are supposed to be emulated exactly, a lot of effort is needed. If 
  195. the CPC must be emulated on a relatively slow machine, not everything will 
  196. be perfect. Most programs will still run, and you will not see a difference 
  197. for CPC programs that just use what's "in the specs". These specifications 
  198. are described in the previous section. But especially graphics demos use a 
  199. lot of undocumented features that the PC simply can't handle. For this 
  200. reason support for the former CPE.EXE was dropped in version 5.2. CPE2.EXE
  201. has become the only executable in the package - now appropriately renamed to 
  202. CPE.EXE.
  203.  
  204. If you have only a 386, or a slow 486, you will want to use the old CPE.EXE.
  205. Please refer to the CPE v5.1i package, or try out some of the other CPC
  206. emulators available on the net (more on that later).
  207.  
  208. By the way: there is also an Amiga version of CPE, but it is fairly old and
  209. nowhere near as good as the PC version. I stopped working on it in mid-1993,
  210. when I bought my first PC. AmigaCPE is not going to be improved, but it is
  211. available with source on a couple of ftp sites (see below).
  212.  
  213.  
  214. 2.3. Hardware Requirements
  215. ==========================
  216.  
  217. You need: An IBM compatible AT with a 486 (or higher) processor, a VGA card
  218. (preferably a fast SVGA card with VESA support), at least one disk drive
  219. (better yet, a hard disk), a keyboard, a monitor, ...
  220. If you have a Soundblaster or compatible sound card, you can also emulate
  221. the CPC sound. The PC speaker is NOT supported - do yourself a favor and get
  222. a sound card instead! Version 4.8i added Gravis Ultrasound support, and this
  223. versions adds Ensoniq Soundscape compatible boards to the list.
  224.  
  225.  
  226. 2.4. Emulating Documented Features
  227. ==================================
  228.  
  229. CPE can emulate all three CPC models on your PC. In fact, it always emulates
  230. 6128 hardware, but this will never cause you any trouble, since there have
  231. been really no changes in the hardware; only extensions. Which model you
  232. get is determined by the contents of the ROM files. More about that later.
  233.  
  234. All documented hardware features are emulated. Of course, some things cannot
  235. be duplicated exactly on a totally different system. The PC's keyboard layout
  236. differs from that of the CPC keyboard, so you may have some trouble finding
  237. some keys when you first start using CPE.
  238.  
  239. CPE.EXE will always perform at the exact speed of a CPC, unless you tell it
  240. not to. If your system is fast enough, there will be no difference to a real
  241. CPC.
  242.  
  243.  
  244. 2.5. Emulating Undocumented Features
  245. ====================================
  246.  
  247. A CPC can not only do the things the manual tells you about. Especially the 
  248. video chip (CRTC) can do a lot more than one might think. CPE can emulate 
  249. overscan, raster effects and 32K screens (with EMS in 800x600 mode). It can 
  250. also emulate some split screen effects that are used in demos, but this is 
  251. still a little buggy..
  252.  
  253.  
  254. 3. Using The Emulator
  255. =====================
  256.  
  257. 3.1. Configuration
  258. ==================
  259.  
  260. First of all, uncompress the archive into a directory of your choice, using
  261. the "-d" option to create the necessary sub-directory structure:
  262.  
  263. ROM\       for the ROM files
  264. SNAP\      for snapshot files
  265. TAPE\      for tape support
  266. DISK\      for disk support
  267. TEMP\      for ZIP archive support
  268.  
  269. All the system ROMs you need are included. Additionally, you can place two 
  270. more files, "ROM5.ROM" and "ROM6.ROM" in your ROM\ directory; these will 
  271. then be loaded by CPE and used as expansion ROMs. You'll only need this 
  272. feature if you have a special ROM connected to your CPC. You can also 
  273. remove or rename the "CPCADOS.ROM" file if you want to emulate a CPC 464 
  274. without the floppy disk controller. Some programs will not run if the 
  275. floppy ROM _is_ present, but they are extremely rare. Usually, you want to 
  276. leave the ROM directory untouched.
  277.  
  278. Next you need to run CPESETUP. This utility allows you to configure CPE to 
  279. your specific environment. It needs to be run at least once to create the 
  280. required PREFS.CPE file. All numerical entries are in hexadecimal notation, 
  281. unless otherwise specified.
  282.  
  283. Note: If you have used CPE in the past, you absolutely _must_ delete the 
  284. old PREFS.CPE prior to running CPESETUP!
  285.  
  286. Use of the utility is pretty straightforward. A detailed description of each 
  287. function follows:
  288.  
  289. General Settings
  290. ----------------
  291.  
  292. CPC Model (464, 664, or 6128):
  293.   selects the ROM image that CPE will load on startup. There should be no
  294.   programs that require a 664, but there are programs that won't run on a
  295.   464/664, and there may be programs that don't run on a 664/6128. Your best
  296.   choice is probably to use a 6128 unless you find something that does not
  297.   work.
  298.  
  299. Keyboard Language:
  300.   You can select either an unmodified (English) CPC keyboard layout, or
  301.   modified layouts for German or French keyboards. This works by patching
  302.   the ROM, so not all programs may notice the change.
  303.  
  304. Sound Card:
  305.   Choose either no sound card, a Soundblaster (compatible), a Gravis
  306.   Ultrasound, or an Ensoniq Soundscape, as it would apply to your system.
  307.   Successful detection depends on proper setup of the environment variables
  308.   (BLASTER, ULTRASND, and SNDSCAPE respectively). Depending on the selected
  309.   sound card and its features, more or less of the following options will
  310.   then be accessible - indicated by a (*).
  311.  
  312. Sound Card Base Port(*):
  313.   Auto detected. Applies to all sound cards.
  314.  
  315. Sound Card Wave Port(*):
  316.   Auto detected. Only applies to Ensoniq Soundscape.
  317.  
  318. Sound Card MIDI IRQ(*):
  319.   Auto detected. Only applies to Ensoniq Soundscape. Decimal value.
  320.  
  321. Sound Card IRQ(*):
  322.   Auto detected. Applies to all sound cards. Decimal value.
  323.  
  324. Sound Card DMA(*):
  325.   Auto detected. Applies to all sound cards. Only channels 0 to 3 (8bit) are
  326.   supported by the sound emulation.
  327.  
  328. DMA Buffer Length(*):
  329.   This _decimal_ value indicates the buffer length used by the sound
  330.   emulation. A smaller value increases the accuracy of the emulation, but
  331.   requires more CPU resources. The minimum values is 4; the maximum is 240.
  332.   You will have to experiment with this to find the optimum setting for your
  333.   system. If you can hear noise or popping during sound output, it is a
  334.   good idea to increase this value.
  335.   Note: switching to stereo mode and/or the 44kHz rate usually requires an
  336.   increase of this value as well.
  337.  
  338. Audio Sample Rate(*):
  339.   Toggles between 22kHz and 44kHz.
  340.  
  341. Stereo Sound(*):
  342.   Toggles between mono and stereo output.
  343.   Note: only enable this option if you are sure that your Soundblaster
  344.   (compatible) card supports stereo. Ultrasound and Soundscape are both
  345.   stereo capable, so there is no issue here.
  346.  
  347. Use EMS Memory:
  348.   Ignore this if everything is working perfectly. If CPE does NOT work, try
  349.   running it without EMS. The cause might be a bug in your EMS manager, or
  350.   in CPE. I have not yet heard of any such problems.
  351.  
  352. Printer Port:
  353.   For printer emulation, set this to the port to which your printer is
  354.   connected. Usually, this is LPT1.
  355.  
  356. Quiet Tape Mode:
  357.   If you have used a real CPC before, you probably know the messages "Press
  358.   Play on tape then any key", or "Loading block xxx". This sort of thing is
  359.   pointless on the emulator. It can be a nuisance, especially if you put
  360.   files in the tape directory that expect to be on a floppy disk. They will
  361.   clutter up the screen with lots of these nonsense messages. Quiet Tape
  362.   Mode turns all of them off, except for the directory display, where you
  363.   would want them.
  364.  
  365. Emulate Green Monitor:
  366.   As explained in an earlier section, CPCs were either sold with a green or
  367.   a colour monitor. You can choose the one you used to have, or the one you
  368.   like better.
  369.   Colour is the default - looks better too..
  370.  
  371. Enable Sound Output(*):
  372.   You can toggle sound output on or off with this setting. If it is off,
  373.   the sound emulation is completely bypassed, which might give you a speed
  374.   improvement.
  375.  
  376. Utilize Joystick 1 &
  377. Utilize Joystick 2:
  378.   You can use two joysticks with CPE, or you can resort to using a couple of
  379.   special keys to emulate the first joystick with the keyboard. You will
  380.   probably want to turn this on if you own a PC joystick. It may slow down
  381.   the emulation, but not by a lot (I don't think you'll notice). The
  382.   joysticks do not need to be calibrated by hand, but should be in their
  383.   center positions before the emulator is started. Both, normal analog PC
  384.   joysticks and "digital" joypads are supported.
  385.  
  386. Video Mode Options
  387. ------------------
  388.  
  389. Screen Refresh Rate:
  390.   This option will enable you to use CPE at full speed, even if your
  391.   hardware is not as fast as needed for a perfect emulation. Usually, CPE
  392.   redraws the screen 50 times a second, just like a real CPC does. If you
  393.   use it with a resolution of 320x200 (more about the different resolutions
  394.   below), this totals in a transfer rate of about 3 MB/s between main and
  395.   VGA memory, and that's only the video emulation. In the best available
  396.   resolution, 800x600 with borders enabled, the total will be 11 MB/s.
  397.   You'll need a pretty good graphics card for this. If you set this value to
  398.   1, every screen will be drawn. This yields 50 frames per second, and all
  399.   animations will be perfectly smooth. If you set this to 2, only one out of
  400.   two screens will be drawn; If you set it to 5, only 10 frames per second
  401.   will be drawn and animations will not look good at all. If you have to use
  402.   a value of 5 or higher to get a reasonable speed, you should consider
  403.   using CPE v5.1 or another emulator instead. If you set the refresh rate to
  404.   0, CPE will figure out the best value that it can use while still running
  405.   at 100% the speed of a real CPC.
  406.  
  407. Use 800x600 VESA Mode:
  408.   By default, CPE uses a screen resolution of 320x200 pixels in 256 colours.
  409.   If you have a Super-VGA card with a VESA BIOS extension, you can change
  410.   this to 800x600 (resulting in 800x300 by using a special line doubling
  411.   feature). The advantage of the high resolution is that all possible
  412.   overscan screens the CPC can display will fit in 800x300, whereas they may
  413.   be truncated in 320x200. Some features of the CRTC are only emulated in
  414.   800x600 mode.
  415.  
  416. Use Small Screen In VESA Mode:
  417.   If you use a higher resolution, the amount of data the CPU has to process
  418.   rises. If your system is too slow to handle that, you can still have the
  419.   advantage of the higher resolution by enabling this option. The emulator
  420.   will still open a 800x600 screen, but will only paint into a 320x200 sized
  421.   area in the top left corner. The video output will be rather small, but
  422.   you will be able to use overscan and 32k screens.
  423.  
  424. Use Graphical Menus In VESA Mode:
  425.   When using the 320x200 resolution, CPE will switch back to a standard text
  426.   mode to display its menus. There is no problem with this, unless you have
  427.   enabled the 800x600 resolution. Switching back and forth between video
  428.   modes is not very nice to your monitor, so CPE can paint menus in the
  429.   graphical mode without switching to text mode first.
  430.  
  431. Use Borders In VESA Mode:
  432.   Usually, CPE does not emulate the borders that are present on the CPC
  433.   screen. However, in the 800x300 resolution there is enough room for them.
  434.   Setting this option will result in a much nicer picture; there will be no
  435.   junk pixels displayed in areas of the screen that are currently not
  436.   updated (run CPE without borders and you'll probably see what I mean), and
  437.   pictures will always be centered nicely. Setting this option may decrease
  438.   the speed of the emulation: there is now more data to process.
  439.  
  440. Change Colour Table
  441. -------------------
  442.  
  443. Import Colours From CPCEMU Style Colour Table:
  444.   This options allows you to specify a CPCEMU.DAT style colour table, to be
  445.   used by CPE. If editing such a table by hand seems too daunting, try the
  446.   CCC utility, available from my web page, to make the job a snap (see
  447.   below for more details).
  448.  
  449. Original CPE Colour Table:
  450.   This will restore the colour table to the one which was used by all
  451.   previous versions of CPE. When you run CPESETUP for the first time, a in
  452.   my opinion more accurate colour table will be "installed". If you cannot
  453.   agree to that colour scheme, feel free to use the previous or this
  454.   option to change it.
  455.  
  456. File System Setup
  457. -----------------
  458.  
  459. Set Initial Path For CPC Drive A &
  460. Set Initial Path For CPC Drive B:
  461.   Here you may specify the starting location for the emulated floppy
  462.   drives. Path references are absolute and must therefore include the drive
  463.   letter.
  464.  
  465. Set Initial Path For Snapshots:
  466.   Here you may specify the location where snapshots are to be stored or
  467.   retrieved from. The path reference is absolute and must therefore include
  468.   the drive letter.
  469.  
  470. Set Temporary Archive Extraction Path:
  471.   If you intend to use DSKs or SNApshots stored in ZIP archives, you need
  472.   to specify a valid directory here. This should be a directory dedicated
  473.   to this task, since files will be uncompressed _and_ deleted here during
  474.   the operation of CPE. Again, an absolute path reference is required.
  475.  
  476. Set Archiver Executable Path:
  477.   To make ZIP support possible, a copy of PKUNZIP should be somewhere on
  478.   your path. If it was not automatically detected when you first ran
  479.   CPESETUP (ie. the entry is blank), please specify its location
  480.   _including_ the filename, like this: "C:\UTILS\PKUNZIP.EXE".
  481.  
  482.  
  483. 3.2. Starting The Emulator
  484. ==========================
  485.  
  486. Once CPE is set up, simply type "CPE" to start the emulator. It should come 
  487. up showing the ROM power-on message (system type, copyright, etc.) in yellow 
  488. text on a blue background. If you enabled the green monitor in the setup, 
  489. make that green text on a green background..
  490.  
  491.  
  492. 3.3. Special Keys
  493. =================
  494.  
  495. During emulation, most of the keys you press will be reported to the
  496. emulated CPC. However, the PC function keys have a special meaning in CPE:
  497.  
  498.   F1  will present you with the restore snapshot file selector
  499.   F3  will present you with the store snapshot file selector
  500.   F5  will hard-reset the emulated CPC
  501.   F6  will present you with the file selector for the emulated floppy
  502.       drives
  503.   F7  shows you the options screen
  504.   F10 quits the emualtion and exits to the OS - You really don't want to
  505.       press THIS key..
  506.  
  507. The following extra keys can be used:
  508.  
  509.   F8,F9:   scroll screen vertically and
  510.   F11,F12: scroll screen horizontally. If you are using CPE with a screen
  511.            resolution of 320x200 pixels, overscan screens that the CPC
  512.            tries to display might not fit. You can use these four keys to
  513.            move the visible area around. Although, a better solution is to
  514.            enable the 800x600 graphics mode in the setup utility.
  515.  
  516.   8,4,5,   If Num-Lock is off, these number pad keys emulate the first CPC
  517.   6,2      joystick.
  518.   
  519.  
  520. 3.4 The File Selector
  521. =====================
  522.  
  523. Usage of the file selector is pretty self-explanatory since all keyboard
  524. commands are listed on the screen. I therefore shall only go into more
  525. detail about the not-so-obvious features..
  526.  
  527. CPC disk files are listed top to bottom in a column on the left side of the 
  528. screen, followed by any sub-directories and all detected PC drives 
  529. (including any CD-ROM & network drives).
  530.  
  531. You may perform a search by simply typing the name of the file you're 
  532. looking for. As you type, files which match the criteria are highlighted. 
  533. If you hit a wrong key by accident, use the BACKSPACE key to step 
  534. backwards. Any of the navigation keys will clear the entire search string.
  535.  
  536. In the store snapshot file selector, the file you highlight will be 
  537. overwritten with the current state (after hitting ENTER of course). If you
  538. rather want a new file to be created, use the INSERT key instead.
  539.  
  540. If you save to a disk during the emulation, this disk image must _not_ 
  541. originate in a ZIP archive, otherwise the changes will not be permanent!
  542.  
  543. It is a good idea to disable write-behind caching to prevent annoying delays 
  544. after selecting a disk image in a ZIP file. If you are using SMARTDRV, use 
  545. the /X option to disable this feature.
  546.  
  547. Since the selectors retain their file list positions, repeated re/storing
  548. of snapshots is a snap. <g>
  549.  
  550.  
  551. 3.5. The Options Screen
  552. =======================
  553.  
  554. Most of the settings shown can be defined permanently using CPESETUP. I am 
  555. not going to describe those again. Here is a list of the remaining 
  556. functions:
  557.  
  558. Limit Speed To 100%:
  559.   Usually, CPE will run at 100% the speed of a real CPC, or less if your
  560.   system is too slow. This is done by synchronizing the CPC interrupts with
  561.   the PC interrupts, and can be disabled by turning off this option.
  562.   Usually, you don't want to do this (games become unplayable if the
  563.   CPC is too fast).
  564.   Do not turn this off to increase the speed of the emulation, if it is too
  565.   slow. Instead, use the refresh rate setting in the setup program, or turn
  566.   off the sound support, which can be rather time consuming, too.
  567.  
  568. Permit Vertical Overscan:
  569.   Only relevant in 320x200 mode. As I stated earlier, overscan screens may
  570.   be truncated in this mode. If a screen is just too high, not too wide, you
  571.   may turn on this option to increase the resolution to 320x400 pixels. I
  572.   don't really recommend this - the screen will be fairly distorted. Try
  573.   using 800x600 mode instead.
  574.  
  575. Note: whenever you leave the options menu, the joysticks will be 
  576. recalibrated. Therefore, you should always have them in their center 
  577. positions during this time.
  578.  
  579.  
  580. 3.6. Using The Emulator
  581. =======================
  582.  
  583. There's not much to explain about using the emulation itself - it behaves 
  584. just like a CPC. However, here are some pointers on how to use external 
  585. data.
  586.  
  587. If you want to use native CPC files, you can put them in the tape directory. 
  588. On a CPC, you access the tape by first typing '|TAPE' (the "|" symbol is on 
  589. SHIFT-"Ü" on german keyboards, and on SHIFT-"\" on american keyboards), and 
  590. then use the BASIC commands to load files (saving to the tape directory is 
  591. not supported). You can get a directory listing by typing 'CAT' and load 
  592. files with 'LOAD"file"'. If you want to execute a program, use 
  593. 'RUN"program"'.
  594.  
  595. Disk support works along the same lines, except you do not enter the '|TAPE' 
  596. command. If you did and want to use disks again, you must use '|DISC' to 
  597. switch back to disk mode. If you use 'CAT' right after starting the 
  598. emulator, you will get the message 'Disc missing in drive A'. This is 
  599. because you have to "insert" a disk file first. Disks are emulated by using 
  600. special files which hold a 1:1 image of the data on a CPC floppy disk. You 
  601. can get a list of your disk files by pressing the F6 key. After you have 
  602. inserted a disk, the BASIC commands 'CAT', 'LOAD', and 'RUN' should work 
  603. just fine.
  604.  
  605. There are a couple of different disk formats in use: CPEs "native" disk 
  606. files, which have the ".CPD" suffix (CPC Disk File), and CPCEMU disk files
  607. which use the ".DSK" extension. You can also create compressed .CPD disk
  608. files that take up less space, but cannot be written to. Since v5.1, the 
  609. "extended" DSK format is supported as well, which is best suited to holding 
  610. copy protected disk images.
  611.  
  612. Use the CONVDISK.EXE tool that comes with CPE to convert between CPD and
  613. normal DSK images.
  614.  
  615.  
  616. 3.7. Example Configurations
  617. ===========================
  618.  
  619. Here are some configurations that I consider to be ideal for each system (I
  620. used each one myself).
  621.  
  622. 486DX2-66, VLB, good SVGA card
  623.   Use CPE with a resolution of 320x200 pixels (ie. turn off 800x600 mode in
  624.   the setup). Use a frame rate of 25Hz (enter "2" in the refresh rate
  625.   setting). This is a conservative setup. Usually, using 320x200 will enable
  626.   you to use a refresh rate of 50Hz, making animations look smoother. You
  627.   might be able to achieve full speed even in full 800x600 mode with borders
  628.   enabled and a refresh rate of 25Hz. My 486 can handle this.
  629.  
  630. Pentium-90, PCI, good SVGA card.
  631.   Turn on 800x600 mode, no small screen, and enable borders. Refresh rate
  632.   should be 25Hz; if you turn borders off or if you have a very good system,
  633.   you might be able to run at a 50Hz refresh rate.
  634.  
  635. It may be surprising that the 486 and the Pentium achieve the same results.
  636. I guess the reason for this is that it's not the CPU speed that is most
  637. important, but in fact the transfer rate from memory to the VGA card. If you
  638. enable full 800x600 mode, turn on the borders, and try to get a 50Hz refresh
  639. rate, this transfer rate lies somewhere around 11MB/s. This is limited by
  640. the bus and by the VGA card itself. It seems like VLB or PCI doesn't make
  641. that much of a difference here.
  642.  
  643. For systems in between, you might have to experiment a little. Especially
  644. owners of medium-fast 486s might have some difficulties in finding a good
  645. set of options.
  646.  
  647.  
  648. 4. Technical Information
  649. ========================
  650.  
  651. ..is not included in this manual. A rather large text about the internals of
  652. CPE is on Kevin Thacker's WEB page (you can find the URL in the enclosed
  653. file CSA8.FAQ; see below). The source code to CPE is available free for
  654. download.
  655.  
  656. Let me only say something about..
  657.  
  658.  
  659. 4.1. File Formats
  660. =================
  661.  
  662. If you are already using Marco Vieth's CPCEMU, you will want to use your
  663. software with CPE as well. With tape files, there is no problem - just copy
  664. these to the TAPE\ directory. The same applies to snapshots; they go into
  665. the SNAP\ directory (CPE does not yet support 128K snapshots).
  666.  
  667. CPE can read and write normal CPD, normal DSK, and extended DSK images.
  668. Compressed CPDs are read-only. Format (Write ID) is not emulated.
  669.  
  670. Version 5.2 adds support for disk images of floppies with larger capacities 
  671. (ie. 80 tracks, 2 sides). To use them you usually also require an expansion 
  672. ROM, such as VDOS or ROMDOS.
  673.  
  674.  
  675. 4.2. Missing Bits
  676. =================
  677.  
  678. By now, almost 100% of the CPC is emulated. Recent additions are overscan
  679. screens, the 'split screen' technique, and those nifty 32K screens that some
  680. demos use to display huge pictures.
  681.  
  682. Some demos do very weird things to the CRTC. While many split-screen effects
  683. are emulated quite well in this version, there are others which are
  684. problematic.
  685.  
  686. A big problem is the accuracy of the interrupt emulation. The Gate Array
  687. sometimes behaves in a weird manner, and I have not yet completely figured
  688. out the pattern..
  689.  
  690. Sound emulation is "nearly" perfect, except that sampled speech/ sound 
  691. effects are not reproduced correctly. This might change in a future 
  692. version..
  693.  
  694. Emulation of the FDC is about 99% done. The missing bits are the emulation 
  695. of the Overrun condition, and emulation of GAP#3. The latter will probably 
  696. never happen since the required information is actually not present in the 
  697. current DSK format.
  698.  
  699.  
  700. 5. Final Words..
  701. ================
  702.  
  703. 5.1. Thanks And Acknowledgements
  704. ================================
  705.  
  706. Bernd's:
  707.  
  708. (in no particular order) to...
  709.  
  710. - Amstrad for developing the CPC in the first place
  711. - Marco Vieth for providing me with software, bug reports and his own CPC
  712.   emulator called CPCEMU, which is very good. It is also available as
  713.   freeware, so try to get a copy.
  714. - Kevin Thacker, for making an excellent WEB homepage for Amstrad computers.
  715. - Emmanuel Roussin for translating this docfile.
  716. - Herman Dullink: for sending me his CPC emulator.
  717. - Zilog, Inc. for LOTS of undocumented opcodes.
  718. - Charlie Gibbs, who wrote a CP/M emulator for the Amiga. This emulator
  719.   first made me think about writing a CPC emulator, and I derived some basic
  720.   ideas from it.
  721. - Andreas Lober, who sent me copies of the permissions given to him by
  722.   Amstrad and Locomotive to distribute the ROMs.
  723. - Ulrich Doewich who wrote the sound emulation for GUS cards, replaced the
  724.   old Soundblaster code with something decent and wrote the new FDC code.
  725. - Bradford Thomas, who fixed a nasty bug.
  726. - everyone whom I've forgotten.
  727.  
  728. Ulrich's:
  729.  
  730. (in no particular order) to..
  731.  
  732. - Bernd Schmidt for writing an excellent CPC emulator, and letting me
  733.   improve it! <g>
  734. - Marco Vieth for CPCEMU, which got me interested in the CPC (again), after
  735.   I had already left the CPC world
  736. - Kevin Thacker for his many helpful e-mails on all kinds of emulation
  737.   issues
  738. - Sergio Bayarri for lots of testing, and finding the odd bug.. or two!
  739. - The CPE v5.2 beta team: Bernd Schmidt, David Wykes, Emmanuel Roussin,
  740.   Fredric Herlem, Noel Llopis-Artime, and Sergio Bayarri
  741. - everyone else I forgot to mention..
  742.  
  743.  
  744. 5.2. The Authors
  745. ================
  746.  
  747. Bernd Schmidt wrote all of the original program. His address is
  748.  
  749. snail-mail:
  750. Bernd Schmidt
  751. Schlossweiherstrasse 14
  752. 52072 Aachen
  753. Germany
  754.  
  755. e-mail:
  756. crux@pool.informatik.rwth-aachen.de
  757.  
  758.  
  759. Lots of enhancements and additions were provided by Ulrich Doewich. His
  760. address is
  761.  
  762. snail-mail:
  763. Ulrich Doewich
  764. 112 Tea Rose Street
  765. Markham, Ontario  L6C 1X3
  766. Canada
  767.  
  768. e-mail:
  769. cyrel@cybercube.com
  770.  
  771. Ulrich maintains CPE after version 5.1. You may mail bug reports to both of
  772. us.
  773.  
  774. The official CPE web page is located at:
  775. http://www.interlog.com/~cyrel/cpc
  776.  
  777.  
  778. 5.3. More Information About The CPC And Other Emulators
  779. =======================================================
  780.  
  781. Please see the enclosed "CSA8.FAQ" file, which contains the Frequently Asked
  782. Questions (and answers) of the Usenet group comp.sys.amstrad.8bit, written
  783. by Emmanuel Roussin. It contains much useful information, as well as
  784. pointers to interesting places on the Internet, where you can find more CPC
  785. related material.
  786.  
  787.