ACE (Emulator)

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
German GUI - Main window
ACE is a high quality Amstrad CPC/CPC+ emulator written by Philippe "OffseT" Rimauro. It is available for MorphOS only.


ACE is not based on any existing emulator and was coded from scratch, using a real CPC as a reference in order to provide one of the best Amstrad CPC emulator ever. Most of the games and demos for both CPC and CPC+ are working perfectly; the quality of the emulation is often superior to what the existing CPC emulators on PC/Windows can produce.


In addition to the high quality emulation, ACE features full screen and overlay display (including 50Hz display), editor and analyzer windows for all emulated CPU and chipsets, advanced breakpoints management, a very powerful set of AREXX commands for cross-development, a plugin interface... and much more...


ACE is still under active development.


Emulator capabilities

ACE emulates most CPC hardwares and their variants.

System

  • Handling of the entire CPC and CPC+ range.
  • 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 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 (management of all RAM and ROM switching, automatic detection of the character code page depending on the installed firmware ROM).
  • Z80 disassembler with highlight on opcodes and fast jump buttons on branch instructions.
  • CRTC editor (full real time read/write access to the registers).
  • Z80 editor (full real time read/write access to the registers).
  • Gate Array analyzer (palette display, graphic mode, interrupt internal counter).
  • PSG analyzer (played notes, tuning, and a bunch of rich information from the current PSG settings).
  • Hard sprites analyzer (palette and content).
  • DMA analyzer (full real time state and instructions being executed).
  • Video information window (frequencies, beam ray position...).
  • Option to use some keyboard mapping instead of a real joystick when none is available.
  • Screen monitor settings window (type, brightness, vertical hold).
  • 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 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 host machine (using USB or whatever).
    • 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

  • ACE CPC Emulator [1]