home *** CD-ROM | disk | FTP | other *** search
Text File | 1980-02-06 | 36.0 KB | 1,189 lines |
- A-CPC
- =====
-
- A-CPC is an Amstrad Colour Personal Computer emulator for any Amiga
- with Kickstart 2.0 or better.
-
- The Amstrad CPC was designed by Amstrad plc. There were 5 models. The
- first 3 models appeared from 1984 and were called "CPC". The last 2
- models appeared in 1989 and were called the "Plus" range because they
- had enhanced hardware to display hardware sprites and a larger colour
- palette.
-
- The CPC464 had a cassette recorder on the right of the keyboard, and
- 64k of memory.
-
- The CPC664 had a disk drive on the right of the keyboard and 64k of
- memory.
-
- The CPC6128 had a disk drive on the right of the keyboard and 128k of
- memory.
-
- The 464+ had a cassette recorder on the right of the keyboard, enhanced
- hardware, different design and 64k of memory.
-
- The 6128+ had a disk drive on the right of the keyboard, enhanced hardware,
- different design and 128k of memory.
-
-
- The CPC models share the same hardware:
-
- - Z80A CPU running at 3.3Mhz
-
- - General Instruments Ay-3-8912 sound generator.
- - 3 channels of tone
- - 1 channel noise
- - simple hardware envelopes with fixed waveforms
-
- - Intel 8255 Parallel Peripheral Interface (general interface
- chip) connected to the sound generator, keyboard, cassette
- hardware, and for miscelaneous information
-
- - uPD765-A or INTEL 8272 Floppy Disk Controller
- - support for 2 drives
- - double density recording
- - 3" discs with two sides (the disc must be turned
- over to use the other side)
- - 40 or 80 disks
- - support for double sided disks
-
- - 6845 Cathode Ray Tube Controller
- - This chip produces the information to create the
- display
- - hardware scrolling, page flipping
-
- - Gate Array
- - Chip designed by Amstrad
- - translates data from CRTC into graphics and adds
- colours
- - 27 colour pallette (3 levels of Red, Green and Blue)
- - 3 modes
- - 160x200x16
- - 320x200x4
- - 640x200x2
-
- There are 2 versions of this emulator package. The demo/evaluation version
- and a registered version.
-
- The demo/evaluation version is freeware but the program code is (c) copyright
- Kevin Thacker. It may be freely copied, provided that the archive contents
- remain intact and you must not charge more than a small fee to cover copying
- and the price of the disk. It may be uploaded to a ftp site or BBS (as long
- as the BBS doesnt claim copyright on uploaded material) or put into a PD
- library. If you would like to put it onto a magazine coverdisk or cover CD
- then contact me first. (Permission is given to Aminet to distribute
- this archive on their CD). The code remains copyright to myself
- except for the ROM images which are copyright Amstrad plc and Locomotive
- Software Ltd.
-
- The demo/evaluation version has been restricted. However, you can still
- try out software on the net. It supports loading of Snapshots and disk
- images and tape files only.
-
- The full version is NOT freeware it is (c) copyright Kevin Thacker. It may
- not be put on a magazine coverdisk, ftp site, cd collection, copied, hired,
- distributed without my written permission. The full version can be obtained
- by contacting me, and it costs 10 UK Pounds or equivalent in your money,
- please add enough money to cover postage if you want the registered version
- to be sent via mail, otherwise just pay the 10 UK pounds and I will send you
- the archive by e-mail.
-
- Please send the money to my Postal address preferably in UK pounds, or
- as an international money order. (I may experience problems trying to
- convert the money into my own currency if you do not follow this advice,
- and as such you may not recieve the emulator).
-
- On receipt of the money, I will either send a disk in the post, or
- if you prefer I could email the archive to you.
-
- The full version has the following features:
- - current version of the emulator archive
- - read and write to disk images (.DSK)
- - read and write snapshots
- - read from CPC disks directly
- - Make_DSK utility to transfer CPC disks to disk image
- - CPC+ emulation
- - Joystick emulation
- - Multiface 2 emulation (Multiface 2 ROM not included in the archive)
- - a collection of utilities to help you use your CPC software
- with the emulator
-
- Updates of the emulator will be available as they are written. If you
- already own the emulator, and you would like the update, then send the
- disk with money to cover return postage to my address, or I can e-mail
- the new archive for free.
-
- When a update is available, I will post a message to comp.sys.amstrad.8bit.
-
- See the history file for details of updates in the emulation.
-
- NOTE:
- You use this emulator at your own risk. I cannot be help responsible
- for any damage caused from the use or mis-use of this product. As
- far as I am aware, there are no fatal bugs that will crash your
- system.
-
- ----------------------------------------------------------------------------
-
- Requirements
- ============
-
- To use A-CPC you will need the following:
- - asl.library in your libs/ directory
- (comes with Workbench2.0 and above)
- - Kickstart 2.0/Workbench 2.0 or better
-
- A-CPC supports the following minimum specification:
- (This does not mean mean the emulation will be fast)
- - 68000 CPU
- - OCS chipset
- - 1mb RAM
- - single disk drive
-
- To have a fast emulation, I suggest that you need the following:
- - 68020 CPU or better (an accelerate machine)
- - 1mb of true FastRam
- - a harddrive
-
- If you have a fast machine I would be interested to hear how fast
- it runs at.
-
-
- Speed comparisons
- =================
-
- One guy at Glasgow University who has a A1200 with a 68020-28Mhz accelerator
- card and fastram says that the emulation goes at about 2 thirds of the
- speed of a real cpc. He also reports that the 68020 specific version is
- 5% faster than the 68010 version.
-
- In these speed comparisons, the following simple BASIC code was used:
-
- 10 for i=0 to 200
- 20 print "hi!"
- 30 next i
-
- A500 - 68000 7Mhz - 1mb Chipram (my machine): 4 mins 09 seconds
-
-
- NOTE:
-
- 1. The emulator requires the following paths to be specified:
-
- SNAP: directory path for snapshots
- DSK: directory path for disk images
- TAPE: directory path for tape files
- A-CPC: directory path for A-CPC code and subdirectories.
-
- If you are installing A-CPC to a harddrive, and A-CPC is not
- in the root, you will need to add the following lines
- to your system-startup file. Alternatively, the A-CPC_Init file
- can be modified to setup the paths, and you can double-click on
- the icon to set them up.
-
- A-CPC_Init requires IconX to run.
-
- assign SNAP: <path to snapshots>
- assign DSK: <path to disk images>
- assign TAPE: <path to tape files>
- assign A-CPC: <path to a-cpc files>
-
- e.g.
-
- assign A-CPC: DH0:Utils/emulators/A-CPC/
-
- 2. There are 6 versions of A-CPC in the registered version
-
- - A-CPC standard emulation for 68000 processor, (A-CPC_68000)
- - A-CPC standard emulation for 68010 or greater, (A-CPC_68010)
- - A-CPC standard emulation for 68020 or greater, (A-CPC_68020)
- - A-CPC plus emulation for 68000, (A-CPC_68000_plus)
- - A-CPC plus emulation for 68010 or greater, (A-CPC_68010_plus)
- - A-CPC plus emulation for 68020 or greater, (A-CPC_68020_plus)
-
- The registered version also contains two special versions
- for 68020 or better processors. It takes advantage of some
- of the extra commands available on these chips and the code
- is slightly different to minimise delays from writing to memory.
-
- If your Amiga has a 68020/68030/68040/68060 choose this
- version in preference. I believe there is about 5% speed increase
- over the standard 68010 version.
-
- There are 3 version of A-CPC in the demo/evaluation version
-
- - A-CPC standard emulation for 68000 processor, (A-CPC_68000)
- - A-CPC standard emulation for 68010 or greater, (A-CPC_68010)
- - A-CPC standard emulation for 68020 or greater, (A-CPC_68020)
-
- ----------------------------------------------------------------------------
-
- Running the Emulator
- ====================
-
- The emulator can be run from CLI or from Workbench. It requires a config
- file.
-
- 5 Configuration files have been supplied which define the CPC type that
- will be emulated:
-
- cpc464.config - CPC 464
- cpc664.config - CPC 664
- cpc6128.config - CPC 6128
- 464plus.config - 464+ (registered version only)
- 6128plus.config - 6128+ (registered version only)
-
- At the CLI type:
-
- A-CPC_68000 <config_filename>
-
- e.g.
-
- A-CPC_68000 cpc464.config
-
- Or from Workbench you can double click on the config icons themselves
- and the emulator will automatically be loaded. The config files have
- been set to load the 68020 version of the emulator. If you wish to change
- this select the icon, choose "Information" from the menu and change the
- Tool to "A-CPC_68000".
-
- Or, you can double click on the A-CPC icon and enter a config file after
- the A-CPC filename.
-
- ----------------------------------------------------------------------------
- Some games crash... why?
- ========================
-
- The emulator cannot run 100% of games. Many programmers have used
- special features of the z80 which are not documented officially. I have
- had to try and find all these features, so that I can produce an accurate
- emulation.
-
- So, if a game uses some of these instructions, and I have not emulated
- them correctly, then they will not work properly. Also, not all instructions
- have been emulated correctly, and there are still some hard to find bugs.
-
- Some games will work, but you need to change the interrupt count value.
- These games rely on the time between interrupts, and if the time is too
- short, they start to corrupt themselves. To solve this change the interrupt
- count to a larger value and try the game again.
-
- One game which has this problem is Elite. On 68000 change INT_SPEED to 1000
- and try running it again.
-
- -----------------------------------------------------------------------------
-
-
- Running Games
- =============
-
- Snapshots:
-
- Snapshots are simply a dump of the memory with the information about
- the state of the hardware which are used to restart a program at the
- point the snapshot was saved.
-
- The file format is the same as used by CPCEMU and CPE and they
- have the ".SNA" extension.
-
- Almost all snapshots should work, except for Alien Highway.
-
- Disk images:
-
- Disk images are a file containing a copy of the data on a disk. They
- can be created using CPCTRANS.EXE with CPCEMU on the PC, or with Make_DSK
- which is provided in the registered version of this emulator.
-
- The file format is the same as used by CPCEMU and CPE. As in CPCEMU you
- can write to disk images (registered version only!). Disk images have
- the ".DSK" extension.
-
- To use a disk image you need to "Insert the disk into drive X". Select
- the option from the Files menu and choose the disk image file.
-
- Tape files:
-
- These are files on an Amiga disk. Binary and Basic files must have
- an Amsdos header to be recognised. To use Tape files you must select
- tape operation (|TAPE), then you can run the files.
-
-
- Loading from Disk Images or Tape files:
-
- With Disk or Tape files you will need to use Amsdos commands and Basic
- commands.
-
- If you have not used an Amstrad before the following commands should
- help you to run software.
-
- (The "|" symbol is obtained by pressing SHIFT and @ key on the CPC keyboard)
-
- |TAPE
- Choose to load from tape
-
- |DISC
- Choose to load from disc
-
- |CPM
- Boot CPM from a CPM disk or this will run some games that
- do not have files in the directory.
-
-
- CAT or |DIR
-
- This will display a list of files on the disc or tape.
-
- RUN"<filename>.<ext>
-
- This will RUN a file on the disc or tape. If the file
- doesnt have a ". ", ".BAS" or ".BIN" extension then you
- will have to specify it.
-
- e.g. RUN"NEBULUS
-
- LOAD"<filename>.<ext>
-
- Load a file into memory. It will not run it. Basic files
- can be shown by typing "LIST".
-
- |ERA,"<filename>.<ext>
-
- Delete a file on the disc
-
- |REN,"<newfilename>.<newext>","<oldfilename>.<oldext>"
-
- Rename a file on the disc.
-
- |A
-
- Choose drive A
-
- |B
- Choose drive B
-
- ----------------------------------------------------------------------------
-
- Keyboard
- ========
-
- The following Amiga keys are used as a short cut:
-
- F1 - Load Snapshot
- F2 - Save Snapshot
-
- F8 - Multiface Stop Button (registered version only)
- F9 - Reset CPC
- F10 - Quit emulator
-
- The Amiga keyboard has a different layout than the CPC, and the keys
- are not marked the same, so you may find a problem trying to find
- the CPC key. Here is a list of CPC keys and their Amiga equivalents:
-
- CPC Amiga
-
- !1 !1
- "2 "2
- #3 #3
- $4 $4
- %5 %5
- &6 ^6
- '7 &7
- (8 *8
- )9 (9
- _0 )0
- -= _-
- ^ pound +=
- CLR |\ or DEL
-
-
- f0 keypad 0
- f1 keypad 1
- f2 keypad 2
- f3 keypad 3
- f4 keypad 4
- f5 keypad 5
- f6 keypad 6
- f7 keypad 7
- f8 keypad 8
- f9 keypad 9
- f. keypad .
- small keypad enter
- enter
- Q-P Q-P
- A-L A-L
- Z-M Z-M
- @| {[
- [{ ]{
- :* :;
- +; "'
- ]} <RET> (key cut out of RETURN on International keyboards)
- \' <SHIFT> (key cut out of SHIFT on International keyboards)
- <, <,
- >. >.
- ?/ ?/
- SPACE SPACE
- DELETE BACKSPACE
- TAB TAB
- RETURN RETURN
- ESC ESC
- CLR DEL
- SHIFT LEFT OR RIGHT SHIFT
- CTRL CONTROL
- COPY LEFT ALT
-
- ----------------------------------------------------------------------------
-
- Configuration file
- ==================
-
- The emulator needs a configuration file to run. The configuration filename
- and path is specified in the commandline:
-
- e.g.
-
- a-cpc_680x0 <device:path/filename of config file>
-
- The configuration is used to define the CPC model and characteristics
- that A-CPC will emulate.
-
- The minimum configuration file MUST contain the following:
- - the location of a Operating System ROM (OS_ROM=)
- - the location of a BASIC ROM (ROM=0 PATH=)
- - size of the CPC RAM (RAM_K=)
-
- The lines of the configuration may be in any order, and a line of
- configuration can be added by loading the configuration file into
- a text editor.
-
- The configuration will initialise the emulator to your prefered setup
- when it starts. Some of these options can be changed from within the
- emulator.
-
- The following config command-lines are supported:
-
- OS_ROM = <device:path/filename> [NOPATCH]
-
- This line defines the location of the file containing
- the operating system data. The file must NOT have a
- AMSDOS header.
-
- The keyword NOPATCH is optional. When a rom has been
- found, the emulator will attempt to find a file
- of the same name but with a ".patch" extension.
-
- The patch file can be used to remove code to speed
- up the emulation in places.
-
- If the keyword NOPATCH is present, the patch file
- will not be loaded.
-
- This line must be present for the emulator to work.
-
- e.g.
-
- OS_ROM=A-CPC:roms/cpc6128-os.rom
-
- ROM = <rom number> PATH=<device:path/filename> [NOPATCH]
-
- This line defines the rom number and the location
- of the file containing the data. The file must NOT
- have a AMSDOS header.
-
- This function allows the user to add extra roms in
- addition to BASIC and AMSDOS in a rom position of
- their choice. (rom position is in the range 0..15
- for 6128 emulation, and 0..7 for 464 emulation so
- that the operating system will notice it's existance)
-
- ROM 0 must be present for the emulator to work.
-
- The demo/evaluation version will only support BASIC
- and AMSDOS ROMs.
-
- e.g.
-
- ROM = 1 PATH=A-CPC:roms/protext.rom NOPATCH
-
- DRIVE_A = <device:path/filename>
-
- This line defines a disk image (DSK) that will be
- automatically "inserted" into CPC drive A,
- when the emulator is started.
-
- This function is not available on the demo/evaluation
- version of the emulator.
-
- e.g.
-
- DRIVE_A=DSK:stormlord.dsk
-
- DRIVE_B = <device:path/filename>
-
- Same function as DRIVE_A, except the disk image will
- be "inserted" into CPC drive B.
-
- RAM_K = <size of CPC memory in decimal>
-
- This function defines the size of CPC memory. This value
- must be divisible by 64. It's value must be in the range
- 64-576.
-
- This line must be present for the emulator to work.
-
- PPI_PORT_B = <decimal value>
-
- PORT B of the 8255 PPI has the following bits:
-
- 7 Tape read data
- 6 Centronics Busy
- 5 Expansion port device present
- 4 Screen refresh (50Hz/60Hz)
- 3..1 Machine name (Amstrad, Schneider etc)
- 0 Frame Flyback pulse
-
- You can specify this byte and change the name of the
- computer. The CPC was created by Amstrad, but sold
- by different companies in Europe. With this byte you
- can have their name instead.
-
- INT_SPEED = <decimal value>
-
- This function defines the number of opcodes that is
- counted before a z80 interrupt is triggered.
-
- If this value is reduced, then interrupts will be faster,
- if it is increased, then interrupts are slower.
-
- On faster Amigas, this value will need to be high (about
- 1500).
-
- You may find that some games will not work. The reason
- may be that the interrupts are too fast for the game.
- Try changing this value, and you will find the game
- will work.
-
- The default value is 800.
-
- MULTIFACE_ROM = <device:path/filename>
-
- To use the Multiface II emulation you need a file containing
- the ROM data. This line specifies the location of the file,
- and if the file is found, the emulation is enabled. The ROM
- must NOT have a AMSDOS header.
-
- See the section on the Multiface emulation for more information.
-
- This function is not present on the demo/evaluation version
- of the emulator.
-
- e.g.
-
- MULTIFACE_ROM = A-CPC:roms/multiface.rom
-
- SOUND = <decimal value>
-
- This function will enable (0) or disable (<>0) the sound
- before the emulator has been started. On slow Amigas music
- and sound effects are not easy to recognise, so this
- option is provided to turn off sound. Many times I have
- found it annoying to listen to the sound.
-
- You can turn the sound off or on from a menu
- in the emulator.
-
- e.g.
-
- SOUND = 0
-
- ----------------------------------------------------------------------------
-
- ROM Patch file
- ==============
-
- When the ROM data is loaded during configuration, A-CPC will attempt
- to load a patch file (this will not happen if the NOPATCH keyword
- is present). The patch file is used to modify the ROM data to improve
- compatibility with A-CPC or to speed up it's operation in A-CPC.
-
- It has been provided so that the main code of the emulator does not
- need to be changed specifically.
-
- The patch file contains any number of entries. The entries have the
- form:
-
- 1 word offset in ROM data in bytes
- 1 word low byte contains byte to poke at offset, high byte
- is ignored.
-
- NOTE:
-
- If you wish to use ROMDOS with A-CPC, then you can use the same patch
- file as used with CPC AMSDOS.
-
- ----------------------------------------------------------------------------
-
- Multiface 2 Emulation (registered version only)
- =====================
-
- A-CPC has built in support for Multiface 2 emulation. To use this feature
- you will need a copy of the Multiface 2 rom data. (A program has been provided
- for you to run on your CPC which will do this).
-
- The Multiface 2 ROM is (c) copyright Romantic Robot Ltd, UK, and so I cannot
- include it.
-
- The emulation will work just like the real thing. Programs can be frozen
- at any time and you can enter pokes or look at the memory. You can even
- save the memory out to a disk image (similar to a snapshot), and re-load
- it later to start from the same position.
-
- If you have a utility for the Multiface such as Tearaway or Insider, this
- will work too. You will need a disk image of the utility.
-
- In the emulator, you activate the multiface by pressing F8 or by selecting
- "Multiface Stop" from the menu, you should then see the familiar Multiface
- menu.
-
- You will need to do the following to use this feature:
-
- 1) Transfer the two files MULTSAVE.BAS and MULTSAVE.BIN to a CPC disk,
- 2) With the CPC turned off, connect the Multiface 2 to the expansion port,
- 3) Switch on the CPC, and insert the disc with the files on it and
- type:
-
- RUN"MULTSAVE
-
- 4) The program will save the Multiface rom data to a file called
- MULTFACE.BIN
-
- 5) Transfer MULTFACE.BIN from the CPC disk to an Amiga disk, and
- copy it into the roms/ directory of A-CPC.
-
- 6) Load a text editor and add the following line to any of the
- config files:
-
- MULTFACE_ROM=A-CPC:roms/multface.rom
-
- 7) Now run A-CPC..
-
- NOTE:
-
- I have successfully run this feature using the rom data from my own
- Multiface. This feature may or may not work with older versions of the
- Multiface.
-
- The Multiface for the CPC will not work with the Plus emulation
- because of differences in the disk roms. The multiface assumes the location
- of routines in the disk rom, and will crash if run with the wrong CPC.
- (If you own a Plus machine with a Plus compatible Multiface, I would
- be very interested to hear from you so that I can add support for Plus
- Multiface).
-
- The CPC version of the Multiface will only work with the 464/664 and 6128.
- The Plus version of the Multiface will only work with the 464+ and 6128+.
-
- Some protections will prevent programs from working if the Multiface is
- enabled. To reduce the chance of this happening, the Multiface is made
- invisible when the emulator is reset.
-
- I have found that the Multiface emulation does not work with some games.
- I do not know what is causing this, this may occur on the original
- Multiface.
-
- ---------------------------------------------------------------------------
-
- A-CPC Utilities
- ===============
-
- Format_DSK (registered version only)
- ==========
-
- This utility will create a blank disk image in the format you specify
- so that you can save your own programs on it.
-
- COMMAND FORMAT:
-
- Make_DSK WRITE Dsk_filename FORMAT disk_format
-
- dsk_filename
- = Filename and path of DSK image to write
-
- disk_format
- = Name of the format
-
- e.g.
-
- Make_DSK write df1:programs.dsk format data
-
- NOTE:
-
- The following formats are supported:
-
- DATA
- SYSTEM
- D1 (ROMDOS/RAMDOS)
- D10 (ROMDOS/RAMDOS)
-
- ----------------------------------------------------------------------------
-
- Make_DSK (registered version only)
- ========
-
- Make_DSK will read any CPC format disk, even copy-protected discs,
- and attempt to make a disk image. (The disk image is compatible with
- CPCEMU). It has been designed so that you can use all your software with
- A-CPC.
-
- If you have copy-protected software which you would like to use on
- A-CPC, then you must connect a 3" disc to your Amiga, or copy the disks to
- 3.5". (Please contact me if you have been successful with connecting
- a 3" drive).
-
- But, make sure that the copy you make does run on your CPC, otherwise
- it will not run on A-CPC either. However, this does not mean that the
- software will work. The emulator doesnt emulate the CPC perfectly
- there are still some hard to find bugs which may prevent the disk from
- loading correctly. This probably applies to disks with heavy copy-protection.
-
- Some protected software relies on error codes returned from the fdc.
- A-CPC supports some of these errors, but at this date, neither CPCEMU
- or CPE do, but I have been talking with the authors about it. So, if
- you create disk images from Make_DSK they may not work with CPCEMU or
- CPE.
-
- Please Note: I do not authorise or condone the use of this program for
- backuping copy-protected software. You will need to obtain permission from
- the copyright holder before converting any disk.
-
- COMMAND FORMAT:
-
- Make_DSK
- Unit_Number Destination_FileName No_of_tracks No_of_sides Start_Side
-
- Unit_Number
- = Amiga drive containing the CPC disk
- e.g. 0, 1, 2 or 3
-
- Destination_Filename
- = Filename and path of DSK image to write
- e.g. ram:dsk_images/north_and_south-1.dsk
-
- No_of_Tracks
- = Number of tracks to read from CPC disk
- e.g. 40, 42 or 80
-
- NOTE: Some demos and games use track 40 and 41 to store more
- data on a 40 track disk. If you are not sure of the
- number of tracks used, enter 42.
-
- No_of_Sides
- = Number of sides to read from CPC disk
- e.g. 1 or 2
-
- Start_Side
- = Side to start reading from. (e.g. if you have a side switch
- on your CPC to use both sides of a 3.5" disc using AMSDOS,
- you can choose the side to read with this parameter)
- e.g. 0 or 1
-
-
- e.g.
-
- Make_Dsk 0 df1:dsk_images/north_and_south-1.dsk 40 1 0
-
-
- NOTE:
-
- For AMSDOS disks:
-
- - 40 tracks (possibly 41 or 42 for copy-protected disks)
- - 1 side
-
- For ROMDOS disks:
-
- - 80 tracks
- - 2 sides
-
- If you want to convert a CPC disk which needs a special program (on CPC
- disk or CPC ROM) to read the format, such as ROMDOS or any other DOS, then
- you will need a copy of this program to read the disk image and run
- it on A-CPC.
-
- For ROMDOS use SAVEROMS to save a copy of the rom data, and add a
- line to the config file.
-
- I have successfully converted the following to disk image from my
- originals (these had some copy-protection):
-
- North & South Road Runner (US Gold version)
- Nightbreed Target Renegade
- Run the Gauntlet
- Short Curcuit
- Barbarian
- Mr.Heli
-
- ----------------------------------------------------------------------------
-
- SAVEROMS.BAS (registered version only)
- ============
-
- This is a program to run on your CPC. It will display a list of ROMs that
- are connected (e.g. PROTEXT,UTOPIA, ROMDOS etc). You can choose the name
- of the ROM and enter a filename, and it will save the rom data.
-
- To use this program, transfer it to an Amstrad disk and run it from AMSDOS.
-
- You can use the ROM data with A-CPC by modifying A-CPC config file.
-
- When you transfer the files to the CPC, make sure there is not a AMSDOS
- header, otherwise the rom will not work.
-
- ----------------------------------------------------------------------------
-
- SAVEMULT.BAS (registered version only)
- ============
-
- This is a program to run on your CPC. It is used to save a copy of the
- Multiface 2 rom data.
-
- To use this program:
-
- 1) Copy the files onto a CPC disk,
- 2) Attach your Multiface to your CPC,
- 3) Switch on the CPC and run the program from AMSDOS
-
- If everything works well, a file will be saved to the disc called
- MULTFACE.ROM.
-
- See the section on the Multiface emulation for more information.
-
- ----------------------------------------------------------------------------
-
- SAVEBURN.BAS (registered version only)
- ============
-
- This is a program to run on your CPC+. It is used to save the game
- Burning Rubber from the cartridge supplied with the Plus. Since the
- game is copyrighted, I cannot include a copy with this emulator, so
- I have provided this utility to save it, so you can play Burning Rubber
- on A-CPC.
-
- To use the program:
-
- 1) Copy the files to a CPC disk,
- 2) With the Burning Rubber/BASIC cartridge inserted run this program
- from BASIC,
-
- 4 files will be written and they will be called:
-
- BURNROM.1, BURNROM.2,BURNROM.3 and BURNROM.4.
-
- 3) Copy these files to an Amiga disk and run the Make_Burning_Rubber
- program. (This will create a Burning Rubber cartridge image suitable
- to be used with the emulator).
-
- 4) To play burning rubber select "Insert Cartridge" from the files menu
- on the Plus version of A-CPC.
-
- ----------------------------------------------------------------------------
-
- Using CPC disks (registered version)
- ===============
-
- If you want to use 3" or 3.5" disks that have CPC software on them without
- converting them into disk images then use this feature. Please note, that
- the speed of loading depends on the complexity of any copyprotection (if
- present) and the speed of your machine. On my vanilla A500 reading CPC
- disks under AMSDOS is slighly faster than reading disk images, purely
- due to the fact that I am only using 2 drives and the AmigaOS has to
- search through the disk image file and back again in these circumstances.
-
- It will allow you to use all your CPC software, so you can then decided
- which games you want to convert to disk later to and store them on your
- harddrive.
-
- As with the disk images, if a special program or rom is required to read
- a format on the CPC, this must be used in the emulator to read the format.
-
- This feature will load some copyprotected software. Since much copyprotected
- software relies on undocumented commands or features and/or specific error
- codes from the Floppy Disk Controller, they may fail to load.
-
- I been successful with the following disk formats:
-
- - all standard AMSDOS (DATA,SYSTEM etc)
- - all standard ROMDOS (D1,D10 etc - using a ROM image)
- - some copyprotected disks including
- Get Dexter
- Jack Nicklaus' Golf
- Target Renegade didnt run, probably because the copyprotection
- was very complicated.
-
- ----------------------------------------------------------------------------
-
- Other emulators
- ===============
-
- During the development of this emulator I have discovered that other
- CPC emulators exist:
-
- PC:
-
- CPCEMU v1.3b by Marco Vieth (ali@uni-paderborn.de)
- (It can be found on Simtel mirrors)
-
- micros.hensa.ac.uk/pub/
-
- CPE v5.0 by Bernd Schmidt (crux@Pool.Informatik.Rwth-aachen.de)
- ftp.nvg.unit.no/pub/cpc/incoming/cpe50.zip
- ftp.nvg.unit.no/pub/cpc/incoming/cpe50src.zip
-
- A CPC emulator by Herman Dullink, currently in beta. It doesnt use
- the same kind of emulation as in CPCEMU and CPE and it does support
- direct reading of CPC disks.
-
- SIMCPC emulates a CPC (not very well) in black and white. It is not
- really meant as a serious emulation attempt, however it is a good laugh
- to look at.
-
- There is also one other called CPCEMUII but I dont know anything else
- about it.
-
- Amiga:
-
- CPE by Bernd Schmidt (a very early version, Bernd doesnt
- plan to update this emulator. It comes with source)
- ftp.nvg.unit.no/pub/cpc/incoming/acpe_new.lzh
-
- AMI-CPC by a french guy known in the scene as Hypnom.
- He doesnt have internet access. It runs on 68020.
-
- Unix:
-
- (Unknown) by Mark Conmy (mpc@scs.leeds.ac.uk)
- The emulator supports snapshots and disk images
- to a useable degree. This has not been released
- yet.
- Mac:
-
- (unknown) by (unknown)
- Aparently a CPC emulator for Mac is being developed.
- I dont know any more than this. It is being
- written by a guy on compuserve.
-
- Archimedes:
-
- !CPC by Mark Rison (rison@hep.cam.ac.uk).
-
- A good emulator, at the moment it only supports
- Snapshots. He has had some difficulty with the
- disk emulation.
-
- (unknown) by "Face Hugger"
- Aparently, a famous CPC demo coder has written
- a CPC emulator for the Archimedes. This may
- just be a rumour. I have not seen the emulator
- so I dont know about it's status.
-
- If you are writing an emulator please contact me.
-
- --------------------------------------------------------------------------
-
- Sources of CPC software and information
- =======================================
-
- Firmware Guide by Bob Taylor and Thomas Defoe.
- ftp.ibp.fr/pub/amstrad/misc/firmware.zip
-
- Now in electronic form.
-
- WWW:
- Unofficial Amstrad CPC WWW Resource
- http://www.cs.cf.ac.uk/User/K.E.W.Thacker/Amstrad/index.html
-
- and soon a mirror at http://www.nvg.unit.no
-
- It contains Amstrad related links and especially the CPC Guide
- which contains documentation on the CPC chips and more documents
- essential for emulator authors.
-
- Newsgroups:
-
- There is an Amstrad 8-bit specific newsgroup for talking about emulators
- and all things Amstrad related.
-
- comp.sys.amstrad.8bit
-
- FAQ (Frequently Asked Questions):
-
- There is a official FAQ for the Amstrad newsgroup. It is posted twice
- a week, and it can also be found at:
-
- ftp.ibp.fr/pub/amstrad/amstrad.faq
-
- It is maintained by Emmanuel Roussin
-
- Anonymous FTP:
-
- At the prompt enter "anonymous" or "ftp", and your e-mail address for
- the password.
-
- ftp.ibp.fr /pub/amstrad
-
- The files are mirrored from "Genesis the 8bit generation BBS"
- run by Emmanuel Roussin. (roussin@blaise.ibp.fr).
-
- This site contains a huge selection of public domain and shareware
- software for the CPC and much much more.
-
- This site is very busy during the day.
-
- There is no incoming directory. You must contact
- Emmanuel to sort out how to get the files to him.
-
- ftp.nvg.unit.no /pub/cpc/
-
- This site has lots and lots of games in snapshot
- and disk image format. It also has much more.
- Check out /pub/cpc/incoming for the latest uploads.
-
- This site can be busy during the day.
-
- You can put uploads into the /pub/cpc/incoming directory.
-
- sunshine.informatik.uni-wuerzburg.de /pub/joscho/cpcemu
-
- mirror of the ftp.nvg.unit.no site. Limited ftp access.
-
- ftp.demon.co.uk /pub/cpm
-
- Software for CPC C/PM. Limited set of files.
-
- BBS:
- Aspects (2:250/107) +44 1617920260 (UK)
-
- Genesis the 8bit Generation (2:320/220) +33 1 39 50 54 11 (France)
-
- Razormaid (2:2471/6009) +49 711 4204329 (Germany)
-
- ZNODE 51 +49 89 961 45 75 (Germany)
-
- ==========================================================================
-
- Please contact me if:
- - you find a bug.
-
- Please supply this information:
- Amiga model, CPU, hardware connected, how the bug was generated.
-
- - you find a game that does not work
-
- Some games will not work because they rely on undocumented
- features of the chips. But I might be able to improve the emulator
- if I can find bugs and fix them.
-
- - you know about the "KC Kompact" computer made by a German firm
- - e-mail addressess of CPC demo coders
- - e-mail addressess of game companies who made games for the CPC
- - information about other emulators
- - connecting a 3" drive to the Amiga
- - if the program supplied to save Plus cartridges works and if you
- have successfully had a cartridge image running on the plus emulation
- (this does not include the Burning Rubber cartridge)
-
- All your comments are welcome. Especially ideas about increasing the
- performance of the emulator.
-
- ----------------------------------------------------------------------------
-
- About the Author and the Program
- ================================
-
- I am a 20 year old male studying Computer Science at Cardiff University
- in Wales in the United Kingdom. I am now in my 3rd year.
-
- The whole of the emulator package was written on a vanilla A500 with
- 2 disk drives and 1mb of Chip Ram, running Workbench 2.0.
-
- It has taken me about a year and a half to write so far and it is my first
- ever program using the Amiga Operating System, and it is actually my
- 2nd program I have written on the Amiga. (The first being an unfinished
- Zool clone).
-
- I am beginning to loose count of the number of times that a disk has
- decided to become corrupted or the number of times the computer has
- crashed, and I have had to reboot. Believe me that trying to develop
- a program of this size on a A500 is a headache. The whole program
- actually uses 3 disks. 1 disk for Devpac, 1 disk for Includes, 1 disk
- for the source code and rom data. About another 30 disks hold snapshots
- and disk images which I use to check the emulator is working correctly.
- Thankfully, I am not used to a harddrive and the luxurys like large
- amounts of memory after writing many programs on a CPC. (I wrote a Windows
- system on the CPC and it took over half an hour to assemble!)
-
- The source code takes about 15 mins to assemble. Not bad for about 700k
- of source code.
-
- The emulator should be 680x0 compatible. I have read through documentation
- of other emulators and worked out what is needed for bare compatibility,
- and when I can afford a new Amiga I will probably add 68020 enhancements
- and more. Until then I will stick with the A500 and add as much as I can.
- At least with the A500, when I change the code to speed things up, it is
- noticeable.
-
- I have only owned a A500 for two years now, previously I owned
- a CPC6128. On the CPC I hacked lots of protections so I could transfer
- tapes to disc, wrote a disk copier, a windows system, a windows-style
- help system, picture converters, converted 100's of tunes from the Atari
- ST, wrote some demos (many not complete), wrote a program to read PC
- and Archimedes disks and with all this information I wrote the CPC Guide
- which is available on the Unofficial Amstrad CPC WWW Resource. I can
- still remember one Speedlock protection which had over 70 continuous
- de-protection loops (all involving the dreaded R register!).
-
- ----------------------------------------------------------------------------
-
- Credits and Contributions
- =========================
-
- Many thanks to everyone who has contributed to the emulator and the WWW pages.
- They are (in no specific order), sorry if I have missed you out:
- Bernd Schmidt, Marco Vieth, Jim Boulton, Emmanuel Roussin, Herman Dullink,
- Christian Emre Lysel and all the others.
-
- ----------------------------------------------------------------------------
-
- Contact:
-
-
- Postal Address:
-
- Kevin Thacker,
- Fairhaven,
- Whiteway,
- Stroud,
- Gloucestershire,
- GL6 7EP
- England
-
- E-Mail:
-
- K.E.W.Thacker@cs.cf.ac.uk (until June 96)
-
- ----------------------------------------------------------------------------
-
- Acknowledgements
- ================
-
- The ROMs included in this package (cpc464-os.rom, cpc464-basic.rom,
- cpc664-os.rom, cpc664-basic.rom, cpc6128-os.rom, cpc6128-basic.rom,
- cpc-amsdos.rom, plus-os.rom, plus-basic.rom and plus-amsdos.rom) are
- (c) copyright Amstrad Plc and Locomotive Software. Permission has
- been obtained to distribute them with the demo version and release
- version of this emulator. Many thanks to Cliff Lawson and Richard Clayton.
-
- The Multiface 2 is (c) copyright Romantic Robot Ltd.
-
- Burning Rubber cartridge is copyright (c) Ocean Software, and Amstrad plc.
-
- ----------------------------------------------------------------------------