ASCD = "Aley's modified SimCoupe for DOS" - a Sam Coupe & ZX Spectrum 48/128 emulator
=====================================================================================

Copyright (c) Aley Keprt 1998-2002, based on other programs (see below)
Additional programming: Simon Owen
Beta testing: Aley Keprt, Simon Owen, David Keprt
Distributed under GNU GPL license.


required: PC AT 486DX4/120MHz, VGA, MS-DOS or Windows 95/98/ME/NT/2000
recommended: PC AT Pentium 100MHz, PCI VGA, SoundBlaster 16, DOS or Windows or something
important keys: F2=Menu, Ctrl+F12=Exit


Important!
----------
1.
If you don't know what is Sam Coup and/or ZX Spectrum, please read some
information first. This is documentation for the emulator, not for emulated
computers. See for example:
http://get.to/samcoupe
http://www.void.jump.org

2.
If you don't have ROM images, please download file "ascd_sup.zip" from the
location where you downloaded the emulator. It contains these files:
spectrum.rom, zx128_0.rom, zx128_1.rom, sam_rom0.rom, sam_rom1.rom, and also
cwsdpmi.exe (a file needed to run emulator in plain MS-DOS without Windows).


ASCD features:
--------------
* Video emulation engine which simulates clut and vmpr switching on line interrupts
* Timing of Z80 instructions for accurate CPU emulation
* Nice text-mode user interface for disk selection, etc.
* Quality SAA1099 and AY8910 audio emulation
* ZXS/Sam beeper emulation (line-based, i.e. accuracy is 15.6kHz)
* Sam and ZX Spectrum Keyboard emulation modes, with mapping to PC keyboard
* Supports all kinds of real PC joysticks, and joystick emulation on keyboard
* All ROM images are legally distributed with the emulator
* GZ-compressed file are supported (any file can be .gz packed)
* Can be compiled with the latest GNU gcc (currently djgpp 2.03 and compatible)
* Please look to whatsnew.txt to see the list of most recently added features

Note: The original SimCoupe can't be compiled today, since it relies on some
hidden bugs of the previous versions of gcc, which have already been fixed.


Building ASCD
-------------
Use DJGPP 2.03, gcc 2.95.3, zlib 1.1.3 and Allegro 3.93.4. You can use other
versions as well, but they may require changes to the existing source code.
Use supplied makefile: Simply type make and ASCD will be built.
If you get compile errors, you probably don't have all required files.

If you want to build ASCD manually, follow these easy steps:
1. Compile all source files together. Use -O3 and other flags to optimize for
   speed. Also use -DINT_TIMER to use hardware timer (makes emulation better,
   but isn't technically required).
2. Add missing files from Mame 0.37 beta 16. If you get compile errors, delete
   unknown macros. Also change volume of audio streams.
   a) file "ay8910.c": #define MAX_OUTPUT 16383
   b) file "saa1099.c": buffer[#][j] = output_# / (6*4/3);  (where # is left/right)
3. Add missing files from SimCoupe 0.78.
4. Add missing files from Aley's support routines pack.

Note: This version does not use SAAemu audio library.
Please read whatsnew.txt for more technical information.
Note: Always compile with -DNDEBUG. It turns off some debugging functions.


Running ASCD
------------
Please always download UP-TO-DATE version of "ascd_sup.zip" which contains
some required files for emulation (ROM images and DPMI server). It is
distributed separatetly to conserve size of ASCD itself.

If you want to emulate the ZX Spectrum instead of the SAM Coupe then use
"ascd -zx" or "ascd -128". You can also swith to ZXS emulation mode by
loading a snapshot from menu (press F2 to enter menu).

ASCD can be also run from the DOS box in Windows. In this case Windows provides
the DPMI, so CWSDPMI.EXE is not required. 


Using ASCD
----------
Don't forget to read the most recent FAQ!
Most of the Sam keyboard has been mapped to a PC style keyboard, eg. using
the PC keys for symbols will produce the correct response on the Sam.
Certain Sam specific keys are mapped onto special keys on the PC keyboard:

Symbol		:	Left Ctrl or Right Ctrl
Edit		:	RightAlt key
F0-F9		:	Numeric keypad 0-9
Inv		:	Keypad Enter
(c)		:	Keypad .

The emulator is controlled using the PC function keys F1-F12. Press F2 to enter menu
and you will see list of all supported F-key commands (on-screen help).
And also don't forget: Ctrl+F12 = Exit to DOS

Note: As was pointed out above ASCD has two keyboard modes, Sam and Spectrum.
The former is default at startup. When using SimCoupe to emulate a Spectrum,
the latter is default. The Spectrum keyboard mode may be incomplete, but
the main functions are there :)

The F6 key controls the Sam Mouse Mode, by default the emulator acts
as if a Sam mouse is not connected to the machine. Tapping F6 once turns
the mouse emulation on. In this mode the mouse is in low sensitivity mode 
- registering 256 pixels in the x direction. If you use an application which 
expects full 512 pixel mouse sensitivity, press Ctrl+F6 to enable high
(double) resolution.

The F5 key switches between fast low resolution 320x200 graphics, and slower
high resolution 640x480 graphics. Although the latter one is slower, it is much
better, since it is able to display mode 3 (512x192) graphics, and has correct
aspect ratio.


Disk Usage
----------
ASCD supports:
* DSK/Sam images (800KB raw data)
* DSK/MS-DOS images (720KB raw data)
* SAD v1 images (Aley's Sam Backup format)
* SAD v2 images (Aley's Sam Backup format, packed with GZip)

You can use 2sad utility (available for Win32 and DOS) to convert all
existing images to packed SAD v2 and save much disk space!


ASCD Options
------------
Please type "ascd -help" to see the complete list of available command line
options.


ZX Spectrum Emulation
---------------------
You can simply start ZX Spectrum emulation by loading a snapshot. Supported
are the most standard file types in all versions: .z80, .sna, .fux.
You can also load .gz files compressed by gzip.
AY8910 sound emulation is always on, even when woriking in 48k mode. I hope
this was clever decision.
Tape is supported in .tap file format, with special loaders working as well.
See command line options for more information.


Input Recording
---------------
This version is compiled with AIR 2A.
ASCD supports also Input Recording by utilising AIR library. This functionality
is supposed mainly for game tournaments, so it can't be distributed in source
form. Since this is against GPL license, ASCD with AIR library is not publicly
distributed at all, and if you have public version of ASCD, then you surely
miss AIR functionality in there.


Acknowledgments
---------------
ASCD was designed and programmed by Aley Keprt, copyright (c) 1998-2002.
It is partially based on original SimCoupe, from which it has been rewritten.
It also consists of SAAemu, zlib, and very little portion of MAME.
http://www.keprt.cz, http://www.zlib.org, http://www.mame.net

Special tournament version contains also AIR library - by Aley Keprt 2001.
http://hcc.borec.cz - Play arcade game tournaments with us!
