home *** CD-ROM | disk | FTP | other *** search
- CCCCC The Amstrad CPC Emulator
- CC
- CC Copyright 1991-1995 Bernd Schmidt
- CC portions Copyright 1995-1997 Ulrich Doewich
- CCCCC PPPPP
- PP Amstrad and Locomotive Software permit the
- PP use of the included ROM images with an
- PP emulator, but retain the copyright.
- PPPPP
- PP This program is free software. You may
- PP distribute it freely, provided that you
- PP EEEEE do not charge a fee of more than DM 8,-
- EE EE or the equivalent in any other currency
- EEEEEE for copying the disk and provided that
- EE you always distribute the whole archive
- EEEEE v5.2i including all the files.
-
- Spanish translation by Gerardo Briseño
- French translation by Emmanuel Roussin
-
- -----------------------------------------------------------------------------
-
- 1. What Is This Then?
- =====================
-
- This is a doc file. It belongs to a program called CPE, which can emulate an
- Amstrad CPC on your IBM compatible 486-AT. This program is free software,
- you may distribute it freely, but you may not charge more than a fee of DM
- 8,- (or the equivalent in another currency) for copying. If you want to
- include CPE with other programs on a CD-ROM, you may do so. In any case you
- must preserve the original contents of the archive; you may not modify any
- of the files, you may not omit or add files if you distribute the package.
- There is no warranty for any of the included programs, you use them
- absolutely at your own risk. The author refuses to accept responsibility for
- any damages whatsoever, to you or your computer system, that might arise
- from using or misusing the supplied software.
-
- The source code for this program is freely available, it may be copied as
- well, and you may do whatever you like with it for private purposes. If you
- derive other programs from it, you should state that parts of the CPE source
- code were used. You don't need to distribute the source code together with
- the executable program.
-
- None of the programs or data supplied may be used for military purposes. I
- doubt that they can, but anyway...
- If you don't agree with these terms, delete everything and forget about CPE.
- But you will miss out on a lot...
-
- Mind you, this is freeware, not shareware. I am not asking you for any
- payment, so don't send me money. But do write me if you like this program!
- Any comments, suggestions or bug reports are highly welcome.
-
- Share and enjoy!
-
- und nocheinmal auf deutsch, damit niemand sagen kann, er hätte die Passage
- nicht verstanden: Benutzung der Programme auf eigene Gefahr, der Autor
- übernimmt keine Haftung für irgendwelche Schaeden, die durch die Benutzung
- des Programms entstehen, sei es durch sachgemässe oder unsachgemässe
- Verwendung.
-
-
- 1.1. About The ROM Images
- =========================
-
- Since version 4.8i, the ROM images of all CPC models are included. These are
- copyrighted by Amstrad and Locomotive, but these companies have permitted
- the use and distribution of the ROMs together with emulators.
-
- In previous versions, I was reluctant to include the ROMs because I don't
- have a written permission, only emails, which made me feel a bit uneasy. But
- I am convinced now because
- - Amstrad and Locomotive have repeatedly stated on comp.sys.amstrad.8bit
- that it is legal
- - I have received copies of written permissions granted to a german magazine
- (ASM) who included CPE and CPCEMU on a CD
- - The ROMs are widely available anyway
- - why shouldn't I believe the emails I have?
-
-
- 2. General Information
- ======================
-
- 2.1. The Amstrad CPC Family
- ===========================
-
- A couple of years ago, 8 bit home computers were very popular. The best-
- seller among these was the Commodore 64, but another family of computers was
- also very successful in many (mainly European) countries. These were the
- Amstrad CPCs (they were distributed under other names in some countries, eg.
- you may own a Schneider CPC if you live in Germany).
-
- There were three different models:
-
- - The CPC464. Released in 1984; it had 32K ROM, 64K RAM and a built-in
- cassette recorder, sitting next to the keyboard. The ROM included the
- Amstrad operating system and Locomotive BASIC 1.0, which was very good.
- You could buy external floppy drives as add-ons; the one sold by Amstrad
- used 3-inch disks, which were incredibly expensive, since no other
- computer manufacturers used these for their own systems (except for some
- exotic machines, such as the "Einstein" for example). There were a couple
- of companies which sold floppy drives using 5.25-inch and 3.5-inch disks,
- but these never were of much importance. Included with Amstrad's disk
- drives was the at that time still very widely used disk operating system
- CP/M 2.2, so that many applications became available to the CPC; only the
- disks did not fit in the 3" drive...
-
- - The CPC664 was the next step in the development. It no longer had a
- cassette recorder to the right of the keyboard, but a 3" floppy disk drive
- instead. The operating system and BASIC ROMs were a little improved; BASIC
- now had a few extra commands and the version number had increased to 1.1.
- The 16K floppy ROM was of course also included, so that this computer had
- a total of 48K ROM. It was released in mid-1985.
-
- - Only a couple of months later, Amstrad presented the CPC6128. It was
- basically a CPC664 with double the amount of RAM: an incredible 128K!
- There were only minor changes in the ROMs. Unfortunately, the increased
- amount of memory was in no way supported by BASIC. To use it, you had to
- load special banking software from disk. Amstrad also supplied a new
- version of CP/M: CP/M Plus or 3.0, which could use the extra memory, so
- that the problems some programs had with the limited memory of the older
- models were history. After the release of the CPC6128, production of the
- CPC664 was abandoned.
-
- The differences between the systems are small compared to the features they
- all have in common:
-
- - the processor: a Zilog Z80A, an 8-bit CPU running at 4MHz, derived from
- INTeLs 8080.
-
- - the video chip: a Motorola CRTC 6845. Together with the Gate Array, it is
- responsible for the generation of the video signal. The CPCs knew three
- video modes:
- mode 0: resolution 160x200 pixel, 16 out of 27 colours + border
- mode 1: resolution 320x200 pixel, 4 out of 27 colours + border
- mode 2: resolution 640x200 pixel, 2 out of 27 colours + border
- Apart from these, the CRTC could be programmed to display many other
- resolutions.
-
- - the sound chip: A General Instruments AY-3-8912, with three independent
- sound channels, and one noise generator. The Yamaha equivalent of this
- chip was later used in the Atari ST computers. Some mean people say it has
- FOUR noise generators...
-
- - the memory management: Although the Z80 CPU only has a 16 bit address bus,
- thus being merely able to address 65536 bytes of memory, you can (in
- theory) use hundreds of kilobytes of RAM and even thousands of kilobytes
- of ROM. This is made possible by the Gate Array, which implements RAM- and
- ROM-banking in the CPC. The 64K that are seen by the CPU are divided into
- 4 blocks of 16K each, and by programming the banking registers you can
- make the Z80 access different blocks of memory at the same address. So,
- the highest memory bank (addresses C000-FFFF) usually contains the video
- RAM, but you can also access the BASIC and floppy ROMs at the same
- addresses.
-
- - All models were only sold together with a monitor. You could either choose
- a colour monitor (CTM 644) or, if you did not have that much money, a
- green monitor (GT65). These were not just monitors, they also included the
- power supply. The CPC464 received its 5V supply from the monitor; the two
- later models also needed a 12V supply for the floppy disk. It was a very
- effective way of preventing the users to buy other monitors than those
- manufactured by Amstrad.
-
- - There was similar trouble with the printer port. Instead of fitting the
- usual 8 bit Centronics port, Amstrad invented something a LOT more
- useful: The 7 bit Centronics port! It was just another way to prevent
- users from buying external devices from other companies than Amstrad,
- since Amstrad alone built 7-bit printers. But Amstrad had less success
- here than in the case of the monitor; many users owned "alien" printers.
-
- - the joystick port: Amstrad also produced joysticks, and of course they
- did not want CPC users to buy other (better) joysticks than their own, so
- they fitted the CPCs with only one joystick port instead of two. To use
- two joysticks, you had to plug an Amstrad joystick into the computer and
- plug the second joystick into the first - it was the only joystick ever
- with a built-in joystick port!
-
- In fact, this listing of features is not really complete. It just describes
- what the CPC can "officially" do. For example, it is perfectly possible to
- use resolutions up to 768x280 in all 27 colours, and capable programmers
- have indeed done things like that. More about that in the following
- sections...
-
-
- 2.2. The Emulator
- =================
-
- This is version 5.2i of the emulator; the i stands for INTeL.
-
- Between the version 4.6i and 5.1i, the CPE package consisted of two
- executables (namely CPE.EXE and CPE2.EXE). Both were geared towards their
- own specific PC hardware platforms: CPE for low-end, and CPE2 for high-end
- machines. To do a serious emulation though, quite a bit of computing power
- is required. The difficulty lies in the graphics emulation, and if the
- graphics are supposed to be emulated exactly, a lot of effort is needed. If
- the CPC must be emulated on a relatively slow machine, not everything will
- be perfect. Most programs will still run, and you will not see a difference
- for CPC programs that just use what's "in the specs". These specifications
- are described in the previous section. But especially graphics demos use a
- lot of undocumented features that the PC simply can't handle. For this
- reason support for the former CPE.EXE was dropped in version 5.2. CPE2.EXE
- has become the only executable in the package - now appropriately renamed to
- CPE.EXE.
-
- If you have only a 386, or a slow 486, you will want to use the old CPE.EXE.
- Please refer to the CPE v5.1i package, or try out some of the other CPC
- emulators available on the net (more on that later).
-
- By the way: there is also an Amiga version of CPE, but it is fairly old and
- nowhere near as good as the PC version. I stopped working on it in mid-1993,
- when I bought my first PC. AmigaCPE is not going to be improved, but it is
- available with source on a couple of ftp sites (see below).
-
-
- 2.3. Hardware Requirements
- ==========================
-
- You need: An IBM compatible AT with a 486 (or higher) processor, a VGA card
- (preferably a fast SVGA card with VESA support), at least one disk drive
- (better yet, a hard disk), a keyboard, a monitor, ...
- If you have a Soundblaster or compatible sound card, you can also emulate
- the CPC sound. The PC speaker is NOT supported - do yourself a favor and get
- a sound card instead! Version 4.8i added Gravis Ultrasound support, and this
- versions adds Ensoniq Soundscape compatible boards to the list.
-
-
- 2.4. Emulating Documented Features
- ==================================
-
- CPE can emulate all three CPC models on your PC. In fact, it always emulates
- 6128 hardware, but this will never cause you any trouble, since there have
- been really no changes in the hardware; only extensions. Which model you
- get is determined by the contents of the ROM files. More about that later.
-
- All documented hardware features are emulated. Of course, some things cannot
- be duplicated exactly on a totally different system. The PC's keyboard layout
- differs from that of the CPC keyboard, so you may have some trouble finding
- some keys when you first start using CPE.
-
- CPE.EXE will always perform at the exact speed of a CPC, unless you tell it
- not to. If your system is fast enough, there will be no difference to a real
- CPC.
-
-
- 2.5. Emulating Undocumented Features
- ====================================
-
- A CPC can not only do the things the manual tells you about. Especially the
- video chip (CRTC) can do a lot more than one might think. CPE can emulate
- overscan, raster effects and 32K screens (with EMS in 800x600 mode). It can
- also emulate some split screen effects that are used in demos, but this is
- still a little buggy..
-
-
- 3. Using The Emulator
- =====================
-
- 3.1. Configuration
- ==================
-
- First of all, uncompress the archive into a directory of your choice, using
- the "-d" option to create the necessary sub-directory structure:
-
- ROM\ for the ROM files
- SNAP\ for snapshot files
- TAPE\ for tape support
- DISK\ for disk support
- TEMP\ for ZIP archive support
-
- All the system ROMs you need are included. Additionally, you can place two
- more files, "ROM5.ROM" and "ROM6.ROM" in your ROM\ directory; these will
- then be loaded by CPE and used as expansion ROMs. You'll only need this
- feature if you have a special ROM connected to your CPC. You can also
- remove or rename the "CPCADOS.ROM" file if you want to emulate a CPC 464
- without the floppy disk controller. Some programs will not run if the
- floppy ROM _is_ present, but they are extremely rare. Usually, you want to
- leave the ROM directory untouched.
-
- Next you need to run CPESETUP. This utility allows you to configure CPE to
- your specific environment. It needs to be run at least once to create the
- required PREFS.CPE file. All numerical entries are in hexadecimal notation,
- unless otherwise specified.
-
- Note: If you have used CPE in the past, you absolutely _must_ delete the
- old PREFS.CPE prior to running CPESETUP!
-
- Use of the utility is pretty straightforward. A detailed description of each
- function follows:
-
- General Settings
- ----------------
-
- CPC Model (464, 664, or 6128):
- selects the ROM image that CPE will load on startup. There should be no
- programs that require a 664, but there are programs that won't run on a
- 464/664, and there may be programs that don't run on a 664/6128. Your best
- choice is probably to use a 6128 unless you find something that does not
- work.
-
- Keyboard Language:
- You can select either an unmodified (English) CPC keyboard layout, or
- modified layouts for German or French keyboards. This works by patching
- the ROM, so not all programs may notice the change.
-
- Sound Card:
- Choose either no sound card, a Soundblaster (compatible), a Gravis
- Ultrasound, or an Ensoniq Soundscape, as it would apply to your system.
- Successful detection depends on proper setup of the environment variables
- (BLASTER, ULTRASND, and SNDSCAPE respectively). Depending on the selected
- sound card and its features, more or less of the following options will
- then be accessible - indicated by a (*).
-
- Sound Card Base Port(*):
- Auto detected. Applies to all sound cards.
-
- Sound Card Wave Port(*):
- Auto detected. Only applies to Ensoniq Soundscape.
-
- Sound Card MIDI IRQ(*):
- Auto detected. Only applies to Ensoniq Soundscape. Decimal value.
-
- Sound Card IRQ(*):
- Auto detected. Applies to all sound cards. Decimal value.
-
- Sound Card DMA(*):
- Auto detected. Applies to all sound cards. Only channels 0 to 3 (8bit) are
- supported by the sound emulation.
-
- DMA Buffer Length(*):
- This _decimal_ value indicates the buffer length used by the sound
- emulation. A smaller value increases the accuracy of the emulation, but
- requires more CPU resources. The minimum values is 4; the maximum is 240.
- You will have to experiment with this to find the optimum setting for your
- system. If you can hear noise or popping during sound output, it is a
- good idea to increase this value.
- Note: switching to stereo mode and/or the 44kHz rate usually requires an
- increase of this value as well.
-
- Audio Sample Rate(*):
- Toggles between 22kHz and 44kHz.
-
- Stereo Sound(*):
- Toggles between mono and stereo output.
- Note: only enable this option if you are sure that your Soundblaster
- (compatible) card supports stereo. Ultrasound and Soundscape are both
- stereo capable, so there is no issue here.
-
- Use EMS Memory:
- Ignore this if everything is working perfectly. If CPE does NOT work, try
- running it without EMS. The cause might be a bug in your EMS manager, or
- in CPE. I have not yet heard of any such problems.
-
- Printer Port:
- For printer emulation, set this to the port to which your printer is
- connected. Usually, this is LPT1.
-
- Quiet Tape Mode:
- If you have used a real CPC before, you probably know the messages "Press
- Play on tape then any key", or "Loading block xxx". This sort of thing is
- pointless on the emulator. It can be a nuisance, especially if you put
- files in the tape directory that expect to be on a floppy disk. They will
- clutter up the screen with lots of these nonsense messages. Quiet Tape
- Mode turns all of them off, except for the directory display, where you
- would want them.
-
- Emulate Green Monitor:
- As explained in an earlier section, CPCs were either sold with a green or
- a colour monitor. You can choose the one you used to have, or the one you
- like better.
- Colour is the default - looks better too..
-
- Enable Sound Output(*):
- You can toggle sound output on or off with this setting. If it is off,
- the sound emulation is completely bypassed, which might give you a speed
- improvement.
-
- Utilize Joystick 1 &
- Utilize Joystick 2:
- You can use two joysticks with CPE, or you can resort to using a couple of
- special keys to emulate the first joystick with the keyboard. You will
- probably want to turn this on if you own a PC joystick. It may slow down
- the emulation, but not by a lot (I don't think you'll notice). The
- joysticks do not need to be calibrated by hand, but should be in their
- center positions before the emulator is started. Both, normal analog PC
- joysticks and "digital" joypads are supported.
-
- Video Mode Options
- ------------------
-
- Screen Refresh Rate:
- This option will enable you to use CPE at full speed, even if your
- hardware is not as fast as needed for a perfect emulation. Usually, CPE
- redraws the screen 50 times a second, just like a real CPC does. If you
- use it with a resolution of 320x200 (more about the different resolutions
- below), this totals in a transfer rate of about 3 MB/s between main and
- VGA memory, and that's only the video emulation. In the best available
- resolution, 800x600 with borders enabled, the total will be 11 MB/s.
- You'll need a pretty good graphics card for this. If you set this value to
- 1, every screen will be drawn. This yields 50 frames per second, and all
- animations will be perfectly smooth. If you set this to 2, only one out of
- two screens will be drawn; If you set it to 5, only 10 frames per second
- will be drawn and animations will not look good at all. If you have to use
- a value of 5 or higher to get a reasonable speed, you should consider
- using CPE v5.1 or another emulator instead. If you set the refresh rate to
- 0, CPE will figure out the best value that it can use while still running
- at 100% the speed of a real CPC.
-
- Use 800x600 VESA Mode:
- By default, CPE uses a screen resolution of 320x200 pixels in 256 colours.
- If you have a Super-VGA card with a VESA BIOS extension, you can change
- this to 800x600 (resulting in 800x300 by using a special line doubling
- feature). The advantage of the high resolution is that all possible
- overscan screens the CPC can display will fit in 800x300, whereas they may
- be truncated in 320x200. Some features of the CRTC are only emulated in
- 800x600 mode.
-
- Use Small Screen In VESA Mode:
- If you use a higher resolution, the amount of data the CPU has to process
- rises. If your system is too slow to handle that, you can still have the
- advantage of the higher resolution by enabling this option. The emulator
- will still open a 800x600 screen, but will only paint into a 320x200 sized
- area in the top left corner. The video output will be rather small, but
- you will be able to use overscan and 32k screens.
-
- Use Graphical Menus In VESA Mode:
- When using the 320x200 resolution, CPE will switch back to a standard text
- mode to display its menus. There is no problem with this, unless you have
- enabled the 800x600 resolution. Switching back and forth between video
- modes is not very nice to your monitor, so CPE can paint menus in the
- graphical mode without switching to text mode first.
-
- Use Borders In VESA Mode:
- Usually, CPE does not emulate the borders that are present on the CPC
- screen. However, in the 800x300 resolution there is enough room for them.
- Setting this option will result in a much nicer picture; there will be no
- junk pixels displayed in areas of the screen that are currently not
- updated (run CPE without borders and you'll probably see what I mean), and
- pictures will always be centered nicely. Setting this option may decrease
- the speed of the emulation: there is now more data to process.
-
- Change Colour Table
- -------------------
-
- Import Colours From CPCEMU Style Colour Table:
- This options allows you to specify a CPCEMU.DAT style colour table, to be
- used by CPE. If editing such a table by hand seems too daunting, try the
- CCC utility, available from my web page, to make the job a snap (see
- below for more details).
-
- Original CPE Colour Table:
- This will restore the colour table to the one which was used by all
- previous versions of CPE. When you run CPESETUP for the first time, a in
- my opinion more accurate colour table will be "installed". If you cannot
- agree to that colour scheme, feel free to use the previous or this
- option to change it.
-
- File System Setup
- -----------------
-
- Set Initial Path For CPC Drive A &
- Set Initial Path For CPC Drive B:
- Here you may specify the starting location for the emulated floppy
- drives. Path references are absolute and must therefore include the drive
- letter.
-
- Set Initial Path For Snapshots:
- Here you may specify the location where snapshots are to be stored or
- retrieved from. The path reference is absolute and must therefore include
- the drive letter.
-
- Set Temporary Archive Extraction Path:
- If you intend to use DSKs or SNApshots stored in ZIP archives, you need
- to specify a valid directory here. This should be a directory dedicated
- to this task, since files will be uncompressed _and_ deleted here during
- the operation of CPE. Again, an absolute path reference is required.
-
- Set Archiver Executable Path:
- To make ZIP support possible, a copy of PKUNZIP should be somewhere on
- your path. If it was not automatically detected when you first ran
- CPESETUP (ie. the entry is blank), please specify its location
- _including_ the filename, like this: "C:\UTILS\PKUNZIP.EXE".
-
-
- 3.2. Starting The Emulator
- ==========================
-
- Once CPE is set up, simply type "CPE" to start the emulator. It should come
- up showing the ROM power-on message (system type, copyright, etc.) in yellow
- text on a blue background. If you enabled the green monitor in the setup,
- make that green text on a green background..
-
-
- 3.3. Special Keys
- =================
-
- During emulation, most of the keys you press will be reported to the
- emulated CPC. However, the PC function keys have a special meaning in CPE:
-
- F1 will present you with the restore snapshot file selector
- F3 will present you with the store snapshot file selector
- F5 will hard-reset the emulated CPC
- F6 will present you with the file selector for the emulated floppy
- drives
- F7 shows you the options screen
- F10 quits the emualtion and exits to the OS - You really don't want to
- press THIS key..
-
- The following extra keys can be used:
-
- F8,F9: scroll screen vertically and
- F11,F12: scroll screen horizontally. If you are using CPE with a screen
- resolution of 320x200 pixels, overscan screens that the CPC
- tries to display might not fit. You can use these four keys to
- move the visible area around. Although, a better solution is to
- enable the 800x600 graphics mode in the setup utility.
-
- 8,4,5, If Num-Lock is off, these number pad keys emulate the first CPC
- 6,2 joystick.
-
-
- 3.4 The File Selector
- =====================
-
- Usage of the file selector is pretty self-explanatory since all keyboard
- commands are listed on the screen. I therefore shall only go into more
- detail about the not-so-obvious features..
-
- CPC disk files are listed top to bottom in a column on the left side of the
- screen, followed by any sub-directories and all detected PC drives
- (including any CD-ROM & network drives).
-
- You may perform a search by simply typing the name of the file you're
- looking for. As you type, files which match the criteria are highlighted.
- If you hit a wrong key by accident, use the BACKSPACE key to step
- backwards. Any of the navigation keys will clear the entire search string.
-
- In the store snapshot file selector, the file you highlight will be
- overwritten with the current state (after hitting ENTER of course). If you
- rather want a new file to be created, use the INSERT key instead.
-
- If you save to a disk during the emulation, this disk image must _not_
- originate in a ZIP archive, otherwise the changes will not be permanent!
-
- It is a good idea to disable write-behind caching to prevent annoying delays
- after selecting a disk image in a ZIP file. If you are using SMARTDRV, use
- the /X option to disable this feature.
-
- Since the selectors retain their file list positions, repeated re/storing
- of snapshots is a snap. <g>
-
-
- 3.5. The Options Screen
- =======================
-
- Most of the settings shown can be defined permanently using CPESETUP. I am
- not going to describe those again. Here is a list of the remaining
- functions:
-
- Limit Speed To 100%:
- Usually, CPE will run at 100% the speed of a real CPC, or less if your
- system is too slow. This is done by synchronizing the CPC interrupts with
- the PC interrupts, and can be disabled by turning off this option.
- Usually, you don't want to do this (games become unplayable if the
- CPC is too fast).
- Do not turn this off to increase the speed of the emulation, if it is too
- slow. Instead, use the refresh rate setting in the setup program, or turn
- off the sound support, which can be rather time consuming, too.
-
- Permit Vertical Overscan:
- Only relevant in 320x200 mode. As I stated earlier, overscan screens may
- be truncated in this mode. If a screen is just too high, not too wide, you
- may turn on this option to increase the resolution to 320x400 pixels. I
- don't really recommend this - the screen will be fairly distorted. Try
- using 800x600 mode instead.
-
- Note: whenever you leave the options menu, the joysticks will be
- recalibrated. Therefore, you should always have them in their center
- positions during this time.
-
-
- 3.6. Using The Emulator
- =======================
-
- There's not much to explain about using the emulation itself - it behaves
- just like a CPC. However, here are some pointers on how to use external
- data.
-
- If you want to use native CPC files, you can put them in the tape directory.
- On a CPC, you access the tape by first typing '|TAPE' (the "|" symbol is on
- SHIFT-"Ü" on german keyboards, and on SHIFT-"\" on american keyboards), and
- then use the BASIC commands to load files (saving to the tape directory is
- not supported). You can get a directory listing by typing 'CAT' and load
- files with 'LOAD"file"'. If you want to execute a program, use
- 'RUN"program"'.
-
- Disk support works along the same lines, except you do not enter the '|TAPE'
- command. If you did and want to use disks again, you must use '|DISC' to
- switch back to disk mode. If you use 'CAT' right after starting the
- emulator, you will get the message 'Disc missing in drive A'. This is
- because you have to "insert" a disk file first. Disks are emulated by using
- special files which hold a 1:1 image of the data on a CPC floppy disk. You
- can get a list of your disk files by pressing the F6 key. After you have
- inserted a disk, the BASIC commands 'CAT', 'LOAD', and 'RUN' should work
- just fine.
-
- There are a couple of different disk formats in use: CPEs "native" disk
- files, which have the ".CPD" suffix (CPC Disk File), and CPCEMU disk files
- which use the ".DSK" extension. You can also create compressed .CPD disk
- files that take up less space, but cannot be written to. Since v5.1, the
- "extended" DSK format is supported as well, which is best suited to holding
- copy protected disk images.
-
- Use the CONVDISK.EXE tool that comes with CPE to convert between CPD and
- normal DSK images.
-
-
- 3.7. Example Configurations
- ===========================
-
- Here are some configurations that I consider to be ideal for each system (I
- used each one myself).
-
- 486DX2-66, VLB, good SVGA card
- Use CPE with a resolution of 320x200 pixels (ie. turn off 800x600 mode in
- the setup). Use a frame rate of 25Hz (enter "2" in the refresh rate
- setting). This is a conservative setup. Usually, using 320x200 will enable
- you to use a refresh rate of 50Hz, making animations look smoother. You
- might be able to achieve full speed even in full 800x600 mode with borders
- enabled and a refresh rate of 25Hz. My 486 can handle this.
-
- Pentium-90, PCI, good SVGA card.
- Turn on 800x600 mode, no small screen, and enable borders. Refresh rate
- should be 25Hz; if you turn borders off or if you have a very good system,
- you might be able to run at a 50Hz refresh rate.
-
- It may be surprising that the 486 and the Pentium achieve the same results.
- I guess the reason for this is that it's not the CPU speed that is most
- important, but in fact the transfer rate from memory to the VGA card. If you
- enable full 800x600 mode, turn on the borders, and try to get a 50Hz refresh
- rate, this transfer rate lies somewhere around 11MB/s. This is limited by
- the bus and by the VGA card itself. It seems like VLB or PCI doesn't make
- that much of a difference here.
-
- For systems in between, you might have to experiment a little. Especially
- owners of medium-fast 486s might have some difficulties in finding a good
- set of options.
-
-
- 4. Technical Information
- ========================
-
- ..is not included in this manual. A rather large text about the internals of
- CPE is on Kevin Thacker's WEB page (you can find the URL in the enclosed
- file CSA8.FAQ; see below). The source code to CPE is available free for
- download.
-
- Let me only say something about..
-
-
- 4.1. File Formats
- =================
-
- If you are already using Marco Vieth's CPCEMU, you will want to use your
- software with CPE as well. With tape files, there is no problem - just copy
- these to the TAPE\ directory. The same applies to snapshots; they go into
- the SNAP\ directory (CPE does not yet support 128K snapshots).
-
- CPE can read and write normal CPD, normal DSK, and extended DSK images.
- Compressed CPDs are read-only. Format (Write ID) is not emulated.
-
- Version 5.2 adds support for disk images of floppies with larger capacities
- (ie. 80 tracks, 2 sides). To use them you usually also require an expansion
- ROM, such as VDOS or ROMDOS.
-
-
- 4.2. Missing Bits
- =================
-
- By now, almost 100% of the CPC is emulated. Recent additions are overscan
- screens, the 'split screen' technique, and those nifty 32K screens that some
- demos use to display huge pictures.
-
- Some demos do very weird things to the CRTC. While many split-screen effects
- are emulated quite well in this version, there are others which are
- problematic.
-
- A big problem is the accuracy of the interrupt emulation. The Gate Array
- sometimes behaves in a weird manner, and I have not yet completely figured
- out the pattern..
-
- Sound emulation is "nearly" perfect, except that sampled speech/ sound
- effects are not reproduced correctly. This might change in a future
- version..
-
- Emulation of the FDC is about 99% done. The missing bits are the emulation
- of the Overrun condition, and emulation of GAP#3. The latter will probably
- never happen since the required information is actually not present in the
- current DSK format.
-
-
- 5. Final Words..
- ================
-
- 5.1. Thanks And Acknowledgements
- ================================
-
- Bernd's:
-
- (in no particular order) to...
-
- - Amstrad for developing the CPC in the first place
- - Marco Vieth for providing me with software, bug reports and his own CPC
- emulator called CPCEMU, which is very good. It is also available as
- freeware, so try to get a copy.
- - Kevin Thacker, for making an excellent WEB homepage for Amstrad computers.
- - Emmanuel Roussin for translating this docfile.
- - Herman Dullink: for sending me his CPC emulator.
- - Zilog, Inc. for LOTS of undocumented opcodes.
- - Charlie Gibbs, who wrote a CP/M emulator for the Amiga. This emulator
- first made me think about writing a CPC emulator, and I derived some basic
- ideas from it.
- - Andreas Lober, who sent me copies of the permissions given to him by
- Amstrad and Locomotive to distribute the ROMs.
- - Ulrich Doewich who wrote the sound emulation for GUS cards, replaced the
- old Soundblaster code with something decent and wrote the new FDC code.
- - Bradford Thomas, who fixed a nasty bug.
- - everyone whom I've forgotten.
-
- Ulrich's:
-
- (in no particular order) to..
-
- - Bernd Schmidt for writing an excellent CPC emulator, and letting me
- improve it! <g>
- - Marco Vieth for CPCEMU, which got me interested in the CPC (again), after
- I had already left the CPC world
- - Kevin Thacker for his many helpful e-mails on all kinds of emulation
- issues
- - Sergio Bayarri for lots of testing, and finding the odd bug.. or two!
- - The CPE v5.2 beta team: Bernd Schmidt, David Wykes, Emmanuel Roussin,
- Fredric Herlem, Noel Llopis-Artime, and Sergio Bayarri
- - everyone else I forgot to mention..
-
-
- 5.2. The Authors
- ================
-
- Bernd Schmidt wrote all of the original program. His address is
-
- snail-mail:
- Bernd Schmidt
- Schlossweiherstrasse 14
- 52072 Aachen
- Germany
-
- e-mail:
- crux@pool.informatik.rwth-aachen.de
-
-
- Lots of enhancements and additions were provided by Ulrich Doewich. His
- address is
-
- snail-mail:
- Ulrich Doewich
- 112 Tea Rose Street
- Markham, Ontario L6C 1X3
- Canada
-
- e-mail:
- cyrel@cybercube.com
-
- Ulrich maintains CPE after version 5.1. You may mail bug reports to both of
- us.
-
- The official CPE web page is located at:
- http://www.interlog.com/~cyrel/cpc
-
-
- 5.3. More Information About The CPC And Other Emulators
- =======================================================
-
- Please see the enclosed "CSA8.FAQ" file, which contains the Frequently Asked
- Questions (and answers) of the Usenet group comp.sys.amstrad.8bit, written
- by Emmanuel Roussin. It contains much useful information, as well as
- pointers to interesting places on the Internet, where you can find more CPC
- related material.
-
-