[[File:ACE.png|thumb|German GUI]]'''ACE''' is an a high quality [[Amstrad]] CPC/CPC+ emulator written by Philippe "[[OffseT|OffseT]]" Rimauro. It is avaliable available for MorphOS only.
ACE is not based on any existing emulator and was coded from scratch, using a real CPC as a reference; it is written in C language order to provide one of the best Amstrad CPC emulator ever. Most of the games and its GUI demos for both CPC and CPC+ are working perfectly; the quality of the emulation is based often superior to what the existing CPC emulators on MUI 4PC/Windows can produce.
The current version of In addition to the high quality emulation, ACE is still at an early stage, neverthelessfeatures full screen and overlay display (including 50Hz display), almost editor and analyzer windows for all the games emulated CPU and demos are working perfectly; actuallychipsets, the quality advanced breakpoints management, a very powerful set of the emulation is already often superior to what the existing big CPC emulators on PC/Windows can produceAREXX commands for cross-development, a plugin interface... and much more...
ACE is still under active development. == Features Emulator capabilities ==*Amstrad ACE emulates most CPC hardwares and Amstrad Plus range emulation,their variants. === System ===*Very high quality emulation Handling of Z80, chipsets the entire CPC and synchronisation,CPC+ range.*Support for all DSK types & SNA,Full Z80 emulation.*Up to 256 expansion ROMs,.*Up to 512KB of extended memory. === Video ===* Accurate CRTC emulation of the various CRTC types.* Gate Array full emulation of all variants (perfect split rasters management).* CPC+ ASIC full emulation (unique quarter-cycle precision).* CTM644, GT65 and MM12 monitors emulation (including dynamic analog behaviors). === Audio ===*Full and very accurate PSG emulation (AY-3-8912).* Extremely accurate audio DMA emulation on CPC+. === Devices ===* Accurate but incomplete FDC emulation (Format and Scan instructions are missing).* Accurate emulation of both floppy disc drives (real rotation speed computation, manual drive & side switches support).* CPC+ Cartridge port emulation.* Emulation of the tape interface through audio files (read only).* Accurate emulation of the keyboard (including ghost keys when pressing more than three keys at once).* Magnum Light Phaser and Trojan Light Phazer emulation through the mouse.* Tape to hard disc wrapper to access the host's files directly from the CPC operating system.* Automatic keyboard remapping can be activated if your are using ACE with a keyboard layout unknown by the original CPC firmwares. == Graphical interface == ACE MUI graphical interface is designed to be versatile and very easy to use. * Simple and modular configuration of the CPC to emulate using tool types (from Ambient) or arguments (from CLI).* Ability to change the CRTC type or the screen monitor model on-the-fly without having to reset the running program.* SNA and overlay display DSK files management (all of them!) with automatic on-the-fly detection and fix of the corrupted DSK.* CPR files management for CPC+ cartridges.* Overlay support with real pixel aspect ratio.* Full screen support with the ability to choose the graphic mode to use in order to get back the 50Hz smoothness if your screen monitor can do this.* Maskable interface in both windowed & full screen modes.* Floppy disc drives LED activity OSD when the interface is not displayed.* Rich breakpoints management on predefined conditions (HBL,VBL, interrupt...), on graphical coordinates, on execution addresses, on memory accesses and on I/O ports accesses (with the ability to use complex conditions, masks on the break address and/or the break value) with the option to execute scripts.* Video beam cursor to see the cathode's ray position while on pause or in step by step mode.*Memory editor window(management of all RAM and ROM switching,automatic detection of the character code page depending on the installed firmware ROM).*Z80 editor window,disassembler with highlight on opcodes and fast jump buttons on branch instructions.*CRTC editor window,(full real time read/write access to the registers).* Z80 editor (full real time read/write access to the registers).*Gate Array analyzer window(palette display,graphic mode, interrupt internal counter).*PSG analyzer window(played notes,tuning, and a bunch of rich information from the current PSG settings).*CTM synchonization status Hard sprites analyzer (palette and content).* DMA analyzer (full real time state and instructions being executed).* Video information window(frequencies,beam ray position...).*Breakpoints managementOption to use some keyboard mapping instead of a real joystick when none is available.* Screen monitor settings window (type,brightness, vertical hold).*Powerfull set of AREXX commands for Sound volume control.* Online help and MUI's bubbles help available everywhere to help the beginners* Localized in French, German and English (including the help). == Programmable interface == ACE is designed to be expandable and controllable. You are not limited to the core emulation and can you easily integrate it in any cross-development tool chain. * Handling of expansion plugins that allow anybody with some C language knowledges to add support for expansions connected to joystick, printer or any remote operation expansion CPC port (except for memory management). By default are provided:** A plugin to support both joysticks (up to three fire buttons) using real devices plugged on the emulatorhost machine (using USB or whatever).*And more* A Plugin to support for Digiblaster/Soundplayer.** A Plugin to redirecter CPC printer port to a file.** A Plugin to support the Kempston mouse.** A Plugin to support the AMX mouse. * Support of an AREXX interface which allows to fully control the emulator and to manipulate its memory, in order to automate things and more, or to use ACE as a powerful cross-development station.
== Web links ==