Difference between revisions of "ACE (Emulator)"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Updated to better match the current version features)
(Web links)
 
(45 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[File:ACE.png|thumb|German GUI]]'''ACE''' is a high quality [[Amstrad]] CPC/CPC+ emulator written by Philippe "[[OffseT|OffseT]]" Rimauro. It is available for MorphOS only.
+
[[File:ACE.png|thumb|German GUI - Main window]]'''ACE''' is a high quality [[Amstrad]] CPC/CPC+ emulator written by Philippe "[[OffseT|OffseT]]" Rimauro.
  
 +
It is developed exclusively for [http://www.morphos.de/ MorphOS] as a user-friendly and fully OS-compliant application.<br />
 +
Also, PulkoMandy is maintaining a port for [https://www.haiku-os.org/ Haiku] which tries to match the features of the original version as much as possible.
  
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.
 
  
 +
ACE 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...
 
  
 +
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, scripting capabilities, and much more...
  
ACE is still under active development.  
+
 
 +
Moreover, ACE is fully translated in French, Spanish, German and English and is still under active development.
 +
 
 +
 
 +
Also worth mentioning is [[ACE-DL]], an emulator available for Windows, macOS and Linux, which uses the same emulation engine as ACE but with a minimalist GUI (SDL-based), no localization, no scripting capabilities, and no support for external plugins.
  
  
Line 19: Line 25:
 
* Full Z80 emulation.
 
* Full Z80 emulation.
 
* Up to 256 expansion ROMs.
 
* Up to 256 expansion ROMs.
* Up to 512KB of extended memory.
+
* Up to 4 MiB of extended memory.
  
 
=== Video ===
 
=== Video ===
Line 34: Line 40:
 
* Accurate but incomplete FDC emulation (Format and Scan instructions are missing).
 
* 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).
 
* Accurate emulation of both floppy disc drives (real rotation speed computation, manual drive & side switches support).
* CPC+ Cartridge port emulation.
+
* CPC+ Cartridge port emulation (including upcoming extended cartridges).
 
* Emulation of the tape interface through audio files (read only).
 
* 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).
 
* 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.
 
* Automatic keyboard remapping can be activated if your are using ACE with a keyboard layout unknown by the original CPC firmwares.
 
+
* Plugins interface to support virtually any external device.
  
 
== Graphical interface ==
 
== Graphical interface ==
  
ACE MUI graphical interface is designed to be versatile and very easy to use.
+
ACE MUI graphical interface is designed to be versatile and very easy to use, and everything is always updated in real time to match the actual emulator state.
  
* Simple and modular configuration of the CPC to emulate using tool types (from Ambient) or arguments (from CLI).
+
* Simple and modular configuration of the CPC profiles 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.
 
* 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.
 
* 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.
+
* CPR files management for CPC+ cartridges (including support of extended cartridges up to several hundreds on megabytes).
 
* Overlay support with real pixel aspect ratio.
 
* 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.
 
* 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.
Line 65: Line 69:
 
* DMA analyzer (full real time state and instructions being executed).
 
* DMA analyzer (full real time state and instructions being executed).
 
* Video information window (frequencies, beam ray position...).
 
* Video information window (frequencies, beam ray position...).
* Option to use some keyboard mapping instead of a real joystick when none is available.
+
* Virtual keyboard and joysticks.
 +
* Ability to map joystick to keyboard when in case real joystick is available.
 +
* Internal keyboard matrix state observer.
 
* Screen monitor settings window (type, brightness, vertical hold).
 
* Screen monitor settings window (type, brightness, vertical hold).
 
* Sound volume control.
 
* Sound volume control.
* Online help and MUI's bubbles help available everywhere to help the beginners
+
* Online help and MUI's bubbles help available everywhere to help the beginners.
* Localized in French, German and English (including the help).
+
  
 
== Programmable interface ==
 
== Programmable interface ==
Line 75: Line 80:
 
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.
 
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:
+
=== Plugins ===
** 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.
+
ACE support plugins that allow anybody with some C language knowledges to add support for expansions connected to joystick, printer or expansion CPC port.
** A Plugin to redirecter CPC printer port to a file.
+
 
** A Plugin to support the Kempston mouse.
+
==== Default ====
** A Plugin to support the AMX mouse.
+
* Both [[joystick]]s (up to three fire buttons, also including an unique combined mode) using real devices plugged on the host machine (using USB or whatever).
 +
* [[Printer]] (redirected to a file).
 +
* [[Multiface_II|Multiface Two]] (well known hardware debugger and snapshot handler).
 +
* [[Digiblaster|Digiblaster/Soundplayer]] (8-bit mono sound card).
 +
* [[Kempston Mouse]].
 +
* [[AMX Mouse]].
 +
* [[Gunstick]] (light gun).
 +
* [[Amstrad Magnum Phaser]] (light gun).
 +
* [[Trojan Light Phazer]] (light gun).
 +
* [[West Phaser]] (light gun).
 +
 
 +
==== Additional ====
 +
* [[Albireo]] (MicroSD, USB, and more).
 +
* [[X-Mass]] (IDE interface).
 +
* [[Dandanator]] (programmable game cartridge module)
 +
* [[Play2CPC]] (Amstrad Plus compatible game cartridge module, with embedded additional 3 voices PSG sound card)
 +
* [[Nova]] (NV-RAM and RTC).
 +
* [[MultiPlay]] (additional mice and joysticks ports).
 +
* [[Willy]] (18 channels FM synthetizer and MIDI sound cards).
 +
* [[PlayCity]] (6 voices PSG sound card).
 +
* [[Amdrum]] (8-bit mono sound card).
 +
* [[Amstrad_SSA-1_Speech_Synthesizer|SSA-1]] (English speaking speech synthesizer).
 +
* [[Dk%27tronics_Speech_Synthesizer|DK'Tronics Speech]] (English speaking speech synthesizer).
 +
* [[TMPI speech synthesizer|Techni-Musique Speech]] (multilingual speaking speech synthesizer).
 +
* [[Mirage Imager]] (hardware freeze and snapshot handling).
 +
* Cycle counter (developer helper).
 +
 
 +
=== Scripting ===
  
* 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.
+
Any scripting language (such as Python, Lua or of course AREXX) can be used to control ACE through its AREXX interface. It gives you full control on the emulator in order to automate things (and much more), or even to use ACE as a powerful cross-development station (including integration into an IDE).
  
 
== Web links ==
 
== Web links ==
* ACE CPC Emulator [http://ace.cpcscene.net]
+
* [http://ace.cpcscene.net ACE CPC Emulator]
 +
* [https://web.libera.chat/#cpc-fr IRC channel]
  
 +
[[Category:4 MB RAM Software Support]]
 
[[Category:Emulator]]
 
[[Category:Emulator]]

Latest revision as of 10:12, 8 April 2024

German GUI - Main window
ACE is a high quality Amstrad CPC/CPC+ emulator written by Philippe "OffseT" Rimauro.

It is developed exclusively for MorphOS as a user-friendly and fully OS-compliant application.
Also, PulkoMandy is maintaining a port for Haiku which tries to match the features of the original version as much as possible.


ACE 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, scripting capabilities, and much more...


Moreover, ACE is fully translated in French, Spanish, German and English and is still under active development.


Also worth mentioning is ACE-DL, an emulator available for Windows, macOS and Linux, which uses the same emulation engine as ACE but with a minimalist GUI (SDL-based), no localization, no scripting capabilities, and no support for external plugins.


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 4 MiB 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 (including upcoming extended cartridges).
  • 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).
  • Automatic keyboard remapping can be activated if your are using ACE with a keyboard layout unknown by the original CPC firmwares.
  • Plugins interface to support virtually any external device.

Graphical interface

ACE MUI graphical interface is designed to be versatile and very easy to use, and everything is always updated in real time to match the actual emulator state.

  • Simple and modular configuration of the CPC profiles 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 (including support of extended cartridges up to several hundreds on megabytes).
  • 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...).
  • Virtual keyboard and joysticks.
  • Ability to map joystick to keyboard when in case real joystick is available.
  • Internal keyboard matrix state observer.
  • Screen monitor settings window (type, brightness, vertical hold).
  • Sound volume control.
  • Online help and MUI's bubbles help available everywhere to help the beginners.

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.

Plugins

ACE support plugins that allow anybody with some C language knowledges to add support for expansions connected to joystick, printer or expansion CPC port.

Default

Additional

  • Albireo (MicroSD, USB, and more).
  • X-Mass (IDE interface).
  • Dandanator (programmable game cartridge module)
  • Play2CPC (Amstrad Plus compatible game cartridge module, with embedded additional 3 voices PSG sound card)
  • Nova (NV-RAM and RTC).
  • MultiPlay (additional mice and joysticks ports).
  • Willy (18 channels FM synthetizer and MIDI sound cards).
  • PlayCity (6 voices PSG sound card).
  • Amdrum (8-bit mono sound card).
  • SSA-1 (English speaking speech synthesizer).
  • DK'Tronics Speech (English speaking speech synthesizer).
  • Techni-Musique Speech (multilingual speaking speech synthesizer).
  • Mirage Imager (hardware freeze and snapshot handling).
  • Cycle counter (developer helper).

Scripting

Any scripting language (such as Python, Lua or of course AREXX) can be used to control ACE through its AREXX interface. It gives you full control on the emulator in order to automate things (and much more), or even to use ACE as a powerful cross-development station (including integration into an IDE).

Web links