cpc4x

Amstrad CPC Emulator for X11

(c) 1999, 2000, 2001, Ulrich Cordes

Documentation

(design and translated to english by  David Mehrmann)


 

 

0. List of contents


0.  List of contents


1.  About cpc4x
  1.1 Quick overview
  1.2 What is a CPC
  1.3 What is a CPC Emulator


2.  Compiling cpc4x
  2.1 How to compile cpc4x
  2.2 Compiling requirements & Support


3.  Using cpc4x
  3.1 Quickstart
  3.2 cpc4x's CPC keyboard assignments
  3.3 cpc4x's emulator functions
  3.4 Command line options
  3.5 The setup dialog
  3.6 The configuration file .cpc4xrc
  3.7 The built-in Z80 debugger


4.  Software for cpc4x
  4.1 Hints, Convert your own software
  4.2 Links to Internet CPC sites


5.  History
  5.1 cpc4x's current feature and limits/bug list
  5.2 Changelog of all the cpc4x releases
  5.3 Credits


6.  Author's notes
  6.1 Legal aspects


 

1. About cpc4x

1.1 Quick overview


The abbreviation cpc4x stands for CPC-for-X. This program emulates the Amstrad/Schneider CPC 464, CPC 664, and CPC 6128 home computers, so you can run the software existing for them on the computer the emulator is running on. It is intended to run on UNIX platforms and requires their respective graphical X11 user interfaces.

Note that you will not forcibly need the scripting language TcL/Tk, except if you wish to use graphical dialogues. If you don't have it or don't want it, run the emulator from a shell to see the GUI replacement text interface so you can make use of all the Emulator functions where GUI pop-ups would otherwise be used (such as selecting and inserting disc images).

 

 

1.2 What is a CPC?


The CPC is an 8 bit computer, which was technically designed in 1984 by AMSTRAD manufacturers and was named AMSTRAD CPC. In various other countries though, it had been distributed by contract under other labels, such as Schneider CPC inside Germany. CPC stands for Colour-Personal-Computer.

At that time, most other home computers were equipped with 16 kbytes and up to 64 kbytes of RAM, came with keyboards that had old style rubber keys, also requiring TV sets and matching adapters instead of the (at that time) expensive high resolution computer monitors (the ZX Spectrum and C16 for example).
 
 
 

CPC 464 The first CPC, called 464, (see the photograph) came with a great keyboard, built-in cassette tape drive, and you could chose to use a green or colour monitor. With the advantage of the the Zilog Z80A CPU at 4 Mhz and 64 kbytes of RAM, optionally with an external 3 inch floppy disc drive, it's a serious competitor to the CBM 64 (Commodore 64). This computer was a little sensation of it's own. It has the very powerful Locomotive BASIC 1.0 dialect which commands you can use to control sound and graphics as well. The video chip can have standard screen modes (and non standard ones as well) like 20x25 characters (160x200 pixels 16 colors), 40x25 (320x300 4 colors), 80x25 (640x200 monochrome). The chip can also mix up these modes. It also has real stereo sound (some 8 bit computers fake it). You can of course connect a floppy drive to it.
The second generation followed in early 1985, and was called CPC 664, had an internal 3 inch floppy disc drive where the CPC 464 had it's cassette tape drive. It was technically nearly identical to the previous model. At the time it was built it was not certain which floppy format (3", 3.5" or 5.1/4") would be the most favored one. So this model had the 3" floppy drive. An external tape recorder could be connected for backwards compatiblity with the CPC 464. Also the keyboard changed slightly, looking greyish/blue. The CPC 664 had, just like the CPC 464 64 kbytes of RAM (42kb under BASIC) and a 32 kb ROM. You can have up to 4 Megabytes of ROM with it. CPC 664
CPC 6128 The third generation. At the end of 1995 already, AMSTRAD called the next CPC generation to life: The CPC 464 and CPC 664's successor, the CPC 6128! It has twice as much memory as the previous two. 128 kbytes of RAM. It still had the same 3" floppy disc drive. Again, an external tape recorder could be connected for backwards compatiblity with the CPC 464. The three voices stereo sound generator remained the same. 


Since the CPC 464 only had a tape drive, there was need for an external floppy drive here. The drive DDI-1 also made by Amstrad/Schneider comes with the right interface for the CPC. It also came with useful software, such as CP/M 2.2 (Control Program for Mircocomputers) and Dr. LOGO. In the interface is a controller device, which includes also an additional ROM for the CPC that adds new BASIC floppy commands. External tape recorders where available for the other CPC models, too. Without a problem, you can save 170 kbytes of data on one side of a 3" disc (they are two sided).
 

The CPC monitors have a quite fine resolution, better than a TV could possibly handle the signal. You could get a greenie or a colour monitor, which has to be connected directly to the CPC like shown in the picture. Basically, you had to connect the CPC to the monitor, not the other way around, because this monitor also is the power supply for the CPC. 
Later there came the HF modulator which you could use to use a normal TV as monitor, too.
CPC monitor cables

The interfaces of a typical CPC would be an I/O expansion port, a centronics port (7 bits), tape, joystick (up to two with a special connector), and headphones.

All three generations are for the most part compatible to each other, with only few exceptions in their Locomotive BASIC dialect versions, and of course the CPC 6128 could run larger programs than the other two. Needless to say, there is a great amount of software for the CPC as of today. In germany it was the computer of the year 1985.

 

 

1.3 Okay then what is a CPC emulator?

cpc4x is a program, an entire CPC worked into software only, like with most emulators. This means that you won't need it's hardware. You will not have to connect your old CPC floppy disc drive to the computer that runs this emulator nor any other original CPC hardware (monitors, joysticks, tapes, discs). Thus far, all computers need a central processing unit (CPU). cpc4x uses a Z80 CPU engine at the very core. This virtual CPU is fed with the same instructions as a real CPC from the supplied ROM image, which directs all it's behaviour, it's memory and I/O. The result is a CPC on your screen which does exactly the same as the real hardware CPC - it does not only just look like it. This is a simple explanation for a complex process. To make the impossible possible, all the CPC hardware and what it behaves like has to be known into up to the trickiest details.

Imagine a computer - INSIDE of another computer

The real CPC normally utilises floppy discs and cassette tapes to store data for later reuse. As stated above, there is no need to- (and as of now) no possibility to use your real CPC hardware with the emulator. But there is other software which you can use to copy single CPC discs into images, which can be stored on your harddrive. These floppy disc images can be "inserted" into the virtual floppy disc drive that cpc4x provides, and can be accessed as if they were an actual disc.


 

2. Compiling cpc4x

2.1 How to compile cpc4x

If you want to compile cpc4x please refer the README.txt file in the source package. There are two ways described to compile the emulator as system administrator (root) for a system global installation or to compile it as single user.

 

 

2.2 Requirements for compilation - Where to find help


When the emulator compiles for you, please send in your system information if you want to help. It will be added in the lists below, sorted by architecture and UNIX/distribution. There is an example below so you can see what information that is. People in this list who are available by e-mail could help other users. If you don't want your e-mail here just say so. Entries for older cpc4x releases are removed with new releases.

Here's how to get the information (note that on different systems you also might have to use other methods):

Type gcc -v and make -v on the shell, read the information in ~/.X.err as well. If you use it, find the directory where your TcL/Tk is located, it normally reflects it's version number (often /usr/lib/tcl* or /usr/local/lib/tcl*).
 
 
 
Intel Linux requirements
    GNU C compiler

    X-Windows system (X11R6)

    A window manager of your choice (KDE, GNOME, fvwm, AfterSTEP, Window Maker, etc.)

    The X11 include files (Linux package "xdevel")

    make
     

    TcL/Tk 7.6 and Tk 4.2 or higher IF you want a GUI.

Version:0.11 compiled on distribution: SuSE 6.2 (Jammet
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release) 
XFree86 Version 3.3.3.1 ; GNU Make version 3.77 ; TcL/Tk 8.0


 

3. Using cpc4x

3.1 How to use the emulator (real quick)

You can start cpc4x with the executable file cpc. If you start the cpc4x the first time, a directory cpc/ will be created in your home directory and some files will be copied into it. You will find some icons for your window manager in the cpc/icons directory.

After the splash screen, you will see the start control panel window. Press the Go to Emulation button, and the actual CPC window should open, showing you the famous start-up copyright messages (seen below) from the CPC, yellow on blue. The start control panel will disappear, too. If you wish to suppress the showing of the splash screen upon start-up, start cpc4x with cpc -noinfo and it will not appear then.

cpc4x main window

The three steps you'll do most often: Insert a disc, list it's contents, run a program.

Once you have cpc4x running, you can put virtual disc (an image of a real disc) into the emulated floppy drive. To do that, press F3. You will be prompted with a file dialogue to insert a disc image. cpc4x comes with some examples. Such disc image filenames end with ".dsk"! Try the "balli.dsk" one.

Having done that, imagine you have a CPC running, the disc inserted. To list the contents of the disc, type "CAT". It does the same as DIR in DOS, ls -al in UNIX, or LOAD"$",8 & LIST on the Commodore 64. Use uppercase and lowercase as you desire, it won't affect anything.

To run the program BALLI.BAS, you can load it by typing LOAD"BALLI.BAS" and waiting for the load process to finish, and then starting it with the command RUN. A more direct way though would be RUN"BALLI.BAS" which does exactly the same. Even RUN"BALLI" without the BAS extension will have the desired effect.

 

 

3.2 CPC key assignments

The emulator uses a keyboard layout that resembles the original positions of all the keys the CPC keyboard had as close as possible. There is a list of all the key assignments here, both for international and german keyboards.



 
CPC
Emulator
COPY
ALT
Keypad 1
(Numlock On) Keypad 1
Keypad 2
(Numlock On) Keypad 2
Keypad 3
(Numlock On) Keypad 3
Keypad 4
(Numlock On) Keypad 4
Keypad 5
(Numlock On) Keypad 5
Keypad 6
(Numlock On) Keypad 6
Keypad 7
(Numlock On) Keypad 7
Keypad 8
(Numlock On) Keypad 8
Keypad 9
(Numlock On) Keypad 9
Keypad 0
(Numlock On) Keypad 0
CPC
Emulator
Joystick 1 UP
(Numlock Off) Keypad 8
Joystick 1 DOWN
(Numlock Off) Keypad 2
Joystick 1 LEFT
(Numlock Off) Keypad 4
Joystick 1 RIGHT
(Numlock Off) Keypad 6
Joystick 1 FIRE
(Numlock Off) Keypad 5
   
   
   
   
   
   

 

 

3.3 Emulator function key assignments


All Emulator functions are accessed using the F keys. They are just like the function key assignments of another CPC Emulator (CPCEMU) for DOS, by Marco Vieth. The difference is that cpc4x will usually pop-up easy to use graphical dialogue windows.

F1 Opens the INFORMATION dialogue. It contains information about cpc4x author Ulrich Ccordes and lets you chose to browse this documentation with your favourite reader/browsing tool.
F3 Opens the OPEN FILE dialogue, where you can chose a floppy disc image to be inserted into the Emulator's virtual floppy drive A: and/or B:. If you do not have Tcl/Tk installed, you can insert a disc image in drive A: with this key.
F4 The same like F3, but the drive B: will be preselected in the file dialog. If you do not have Tcl/Tk installed, you can insert a disc image in drive B: with this key.
F5 Switch the CPC sound on or off
F6 Save the actual content of CPC screen as XPM file. A Tcl/Tk file dialog asks for the filename.
F7 Opens the SETUP dialogue. You can chose the emulator's language, the emulated CPC type, amount of RAM for the CPC, up to 7 more ROM modules for the CPC, default paths for the virtual A and B floppy disc drives, printer command line, monitor type and and distributor.
F8 Artificially resets the emulator, returning you to the start-up CPC screen.
F9 Close printer file and send it to the printer.
F10 Starts the Z80 built-in debugger.cpc4x needs to be started from a terminal command line for this.
F12 Quits the emulator.

 

 

3.4 Command line options

If you do not have TcL/Tk installed, the file dialogues will be realized in the shell where you started cpc4x from. In that case you will not get a setup dialog too. But there are some command line options you can use to start the emulator like your wishes.

Type cpc -help to get the command line option information in your shell.

Option Function
-noinfo Starts cpc4x with out splash window
-cpc464
-cpc664
-cpc6128
Emulate a CPC 464, 664 or 6128
-mem64
-mem128
-mem576
The emulated CPC has 64 kbytes, 128 kbytes or 576 kbytes RAM
-ger
-eng
German or english language for the dialogues
-color
-mono
Show a color or green window
-help Show a command line options help in the shell

The command line  cpc -cpc6128 -mem576 -color -eng -noinfo   starts a CPC 6128 emulator with 576 kbytes RAM, in color mode, with english language dialogues and without a splash screen. You can use such a command line with a KDE or GNOME icon.

If you use a parameter more than one times, e.g.  cpc -mem128 -mem64, the last of both parameters will be used. In that case cpc4x starts with 64 kbyte of RAM.

 

 

3.5 The setup dialog

General

The setup dialog is a easy to use dialog. The most parameters will be changed by check buttons, so you can just see the meaning of your changes.

Setup memory

ROM parameters

The CPC was able to use up to 256 ROM's, each with 16 kbytes. They was managed by bank switching. The ROM with the number 0 was the BASIC-ROM and the next seven ROM's was supported by the BASIC.

You can enter seven ROM file names in the setup dialog. These ROM files must be in the directory $HOME/cpc/rom, where they will be searched by the emulator.

ROM setup

Printer outputs

The printer outputs of cpc4x will be not directly send to the printer port. They will be written in a printer file, such as 000001.prn first. After printing the character   chr$(12)   (this is the form feed) or pressing the F9 key, the printer file will be closed and send to the printer spooler of your system. In the field Command line for printer outputs you can enter the command line that will be used to send the printer file to the spooler.

Printer setup

Most time the printer spooler sends automaticaly a form feed (FF) to the printer after printing a page. So it may be usefull, that cpc4x do not add the form feed character to the printer file. To supress the adding mark the form feed check. After every line CPC prints the CR and LF characters. Your printer spooler may use the line feed character for a LF and a CR. In that case your printer prints after every line an empty line. If you mark the CR check, the CR character will not added to the printer file by cpc4x.

After exit of cpc4x the actual opened printer files will be closed and send to the printer spooler. Then all printer files in your cpc drictory will be deleted.

Disc images

You can connect an external floppy disc drive to the original CPC. This could be a standard 3 inches drive with a 180 kbytes AMSTRAD format or a foreign 3.5 or 5.25 inches disc drive with 80 tracks and up to 720 kbytes format. Cpc4x is able to use such foreign formated disc images. But the endig suffix of these image files is dsk too. To organize these different disc image formats, you can enter different default directorys for the drives A: and B:.

Disc images

Saving the setup parameters

If you press the button Apply and reset emulation the changes you made will be saved to the file .cpc4xrc in your home directory. The emulated CPC will be reseted and restarted with the new configuration. That mean you will lose all unsaved data in the emulated CPC.

 

 

3.6 The configuration file .cpc4xrc

The configuration of cpc4x will be saved in the file .cpc4xrc in your home directory. This is a binary file and it is hidden. You can open this file with a text editor and make carefull changes. This binary file will be read line by line from cpc4x. You have not to insert comments or not make such changes so that you can read it better!

/usr/lib/cpc
/home/uli/cpc
1
576
 
 
 
 
 
 
amsdos.rom
disc
disc/80track
0
14
eng
2
lpr -Praw
1
0
1

Making chages in the .cpc4xrc file may be usefull, if you do not have TcL/Tk installed. For that case the meaning of the lines will be commented here:

Line Function
1 The installation directory of cpc4x. Changes will not cause anything.
2 The working directory of cpc4x. Can not be changed.
3 A variable that will be used by the setup dialog.
4 Emulated CPC memory (64, 128 oder 576 kByte)
5 to 11 File names of the ROM's, those will used as ROM 1 to 7 in the emulation.
12 Default directory for drive A: disc images.
13 Default directory for drive B: disc images.
14 0=Color monitor, 1=green monitor
15 Customer: 0=ISP, 2=Triumph, 4=Saisho, 6=Solavox, 8=AWA, 10=Schneider, 12=Orion und 14=AMSTRAD
16 Language: ger=german, eng=englisch
17 CPC-Type: 0=CPC 464, 1=CPC 664 und 2=CPC 6128
18 Command line for printer outputs
19 1=do not print CR characters
20 1=do not print LF characters
18 1=do not print FF characters

3.7 The built-in Z80 debugger

With the F10 key you will get the built-in Z80 debugger. For this cpc4x needs to be started from a terminal. With this debugger you are able to watch every step of the Z80 emulation. You need good knowledge about Z80 coding to use the debugger. The following commands you can use:
Comand Description
c Back to cpc4x
[RETURN] Execute the actual Z80 command.
= [addr] Set breakpoint to the address [addr] and continue the emulation until then.
+ [offset] Set breakpoint to the actual address plus [offset] and continue the emulation until then.
j [addr] Jump to address [addr].
m [addr] List memory from adress [addr].
d [addr] Disassemble from [addr] the next 16 Z80 source code lines.
?,h Shows the debuggers text help
q Exit cpc4x


 

4. CPC Software


 

4. CPC software

4.1 The Where & How : CPC software to be used with cpc4x


The fastest and easiest method to get software for the CPC and the emulator too, is to search the Internet. You will find many sites that offer all sorts of programs for download. Most of them already in .dsk format, ready for use with cpc4x. Often they are compressed with ZIP. You can uncompress ZIPs with this program, it is called unzip and all you need to type is 'unzip <filename>'.

If you're looking for a way to copy your programs to disc images yourself, you will need some equipment. First of all, not all the programs you own can be saved as disc images. You can try, and hope it'll work out. It takes a floppy drive, preferably 3.5 inches or 5.25 inches. 3 inch floppies cannot be connected to today's computers as far as I know.

UNIX users who find it on their system can make use of the dd command. It is very useful, enables you to save any kind of data the disc drive can read (and as long as the controller can handle them) , independent from disc formats of any kind. That doesn't give you a usable image because .dsk files have a header. But there's a ddtrans, a tool coming with the Sinclair Spectrum Emulator xzx. With this tool you can convert dd's raw image dumps into a readable .dsk file for cpc4x. The author had not much time to gain experience with making such images, please have patience. If you can provide instructions for this, please e-mail to the author's e-mail address below. So you can expect instructions to be in these documents, soon.

 

 

4.2 CPC Links (Software, Emulators and News)

Ulrich Cordes's Homepage at http://www.amstrad-cpc.de
Large french CPC software archive ftp://ftp.lip6.fr/pub/amstrad
Large english CPC software archive ftp://ftp.nvg.unit.no/pub/cpc
Genesis8 Amstrad CPC Page http://www.multimania.com/genesis8/indexe.html
Tutorial on the Locomotive BASIC dialect http://www.sean.co.uk/bidea0.htm
Extensive german CPC site http://www.opperer.com/ascd/


 

5. History

5.1 What the emulator does and what it does not


Features of the current release (0.23):
 

MODE 0, MODE 1, MODE 2
.dsk image support for A: and B:
ROM files can be freely chosen
RAM amount can be chosen.
Software that doesn't do too tricky hardware things will run
Printing to printer files
Command line options
TcL/Tk GUI with german and english support optional
Sound output
XDDOS support for large disk formats is working (ERROR: A disk image need to be inserted in drive A:)
RAM-Disk with RDOS-ROM works


What does not work at this time (0.23):
 

Hardware scrolling only works vertically and only line for line
Special screen modes don't work
Border scrolling looks poor.

.....

Do you have additions to make to this list? Also your honest opinion is wanted. Anything missing, broken, poorly made? Comments? BASICally, everything Basic will work, and most of the tools such as text processors, managers, etc  as well. Even some games that don't play out hardware tricks will run, and might be playable. Also, CP/M works (both versions). There isn't all too much compatibility yet.

 

 

5.2 ChangeLog

Searching the Internet for a free CPC emulator for my Linux box, fall 1998 I found a Z80 CPU emulator on Marat Fayzullin's Homepage with the source included. I hadn't found a free CPC emulator and decided to start my own. Since March 1999, Marat's Z80 emulation is a great codebase to build on my CPC emulator on.

24.3.99 Z80 emulation makes it's first clumsy steps. Structured a Makefile. Mode 1 CPC screen displays inside one X11 window, making use of XDrawPoint(). Man, it made me proud!
26.3.99 XDrawPoint is very slow, draws the whole CPC screen as image and refreshes it upon Expose and when needed. I've enlarged the main window to be somewhat larger than the image so the emulator shows the border.  Gained speed up by calculating X and Y from an array. Only yellow foreground, blue background so far.
29.3.99 First time successful to get the ROM and BASIC working. It dances a looped reset now though, the start-up text shows and it resets before Ready appears. 16-Bin-IN/OUT macros from the Z80 changed to actually use 16 bits.
31.3.99 The adapted macro calls to the Z80-IN-structions in CodesED.h removed, it's a mistake. Codes.h itself should get my attention first, improved. Corrected RdZ80 in mem.h so that when there is ROM 0, the BASIC rom gets read - and not ROM 252-255. And welcome to you, Ready.
5.4.99 Emulator performs 13333 command cycles until function LoopZ80() gets triggered. 
You get the exact one from: 

ComCycl = SystemBeat / IntFreq ===> 4.000.000 / 300 = 13333 

In LoopZ80() are now controls the emulator events. Keypresses and their respective actions are to be sent to the emulated keyboard matrix (some keys don't work yet!). 

Emulator runs with a  newly implemented 50 hertz timer now. Every sixth call to LoopZ80() is used to synchronise for real-time. It is assumed that the emulation runs much faster than the original, so LoopZ80() will tug the brakes and to the user it looks real-time. 

Now smaller BASIC programs can be typed in and run. Mode 1 is still the only screen mode, and scrolling up is fatal.

22.4.99 Now cpc4x knows all three screen modes and displays correctly. Tim Riemann helped me with that. We check every ten milliseconds for colour changes in the gate-array, when there are indeed colours changing the screen will get refreshed. This means also we have to draw everything pixel for pixel. The 10 milliseconds delay is a necessity because the emulator wouldn't run without. Hardware scrolling doesn't work yet. 

Marco Vieth, author of CPCEMU shares his RGB colour settings with me so I can use them for more colour correctness within my emulator, too thanks to him.

20.6.99 I've been checking and investigating all through the nights and now finally got line by line hardware scrolling working.
8.9.99 (release 0.10) Summer holidays are barely over and cpc4x's got floppy now already. All important to read and write disc images work.
25.10.99 (release 0.11) Implemented a few first X11 dialogues for opening files (disc images) and a setup. And for those I'm using TcL/Tk.
25.11.99 Added Information panel with a possibility to open help documents with any browser.
2.12.99 (release 0.11b) Support for both german and english now in.
26.2.00 (release 0.20) Printer outputs will be routed to files. After printing a chr$(12), this is the form feed, or after pressing F9 key the printer file will be closed and send to the printer with the command defined in setup.

Command line parameters

Reorganisation of the project and makefiles, so the emulator will be translateable by root for a system global installation or by a single user.

Much more nice documentation files in HTML.

10.3.00 (release 0.20b) Some more printer options
13.3.00 (release 0.20c) Optimize keyboard handling and better remove of prn-files after exit cpc4x.
16.5.00 (release 0.21) The F6 key saves the actual content of the CPC screen as XPM file. A TCL/Tk dialog asks for the directory and XPM filename.
21.10.00 (release 0.22 - not public) Sound output is supported now.
07.01.01 (release 0.23) The Z80 emulation of Marat Fayzullin did not support the both illegal op codes NEG (ED-7C) and RETI (ED-7D). Also the Z80's refresh register has not been supported correct. The XDDOS-ROM needs both.

Built-in Z80 debugger.

14.7.01 (release 0.24) Removed some bugs in the disc emulation. So cpc4x is able to read large (720 k) formated disk images with CP/M Plus in drive B:. I put a CP/M patch disc image in the cpc4x package, please start README.COM on it for more informations

French language menus and help file

Changes in the Makefiles to solve several compiling problems with sound and NULL variables

 

 

5.3 Authors, helpful hands and paws


 

6. Author's notes

6.1 Legal aspects & acknowledgements


Even though I am offering my emulator source code freely that doesn't mean that anyone can do with it what they want. I, Ulrich Cordes, am the Copyright holder.

Anyone on any system may compile and use the emulator freely. You must not charge any amount of money for the emulator itself when you pass it on to somebody. UNIX/GNU/Linux distributions may include the emulator in their software collections (e.g. ftp servers, CD-ROM, etc.).

If you change anything about my emulator, please write me mail or E-mail. I'm generally open for your ideas and what you change, and I need to know so I can improve and adapt my emulator with every new release. The emulator will profit from your ideas.

This piece of software is a spare time hobby. I am not responsible for- nor do I guarantee you the functioning of cpc4x. I am not responsible for any damage it may cause. I also am not responsible for the contents of the links that this helpfile is pointing at. They are provided to point you to the cpc4x sources and other helpful tools that I have been using to write my emulator.

With cpc4x I'm making a tool of my personal interest available freely to anyone.

AMSTRAD and Locomotive Software Ltd. own the Copyrights to the contents of the ROM files cpc464.rom, cpc664.rom, cpc6128.rom and amsdos.rom included with cpc4x. Marco Vieth, author of CPCEMU for DOS as well as Fred Harris, have requested the permission to distribute these files along with CPC emulators. AMSTRAD responded to their request, permission is given. (see Marco's CPC emulator documentation).

The legal situation about CP/M hasn't been made clear to me yet, and therefore it is not included with cpc4x.

-Ulrich Cordes


 

Hakuna Matata!