Printed Amstrad Addict magazine announced, check it out here!

Main Menu

ACE CPC Emulator, only Amiga makes it possible?

Started by OffseT, 19:43, 17 July 16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Say hello to the updated ACEpansion for the Albireo!

This new version fixes a few issues but also adds new features such as proper files date and time emulation as well as the ability to connect two Albireos at the same time.

As always, in addition to the ACEpansion SDK, source code of all ACEpansions is available (and it is for years!). Don't be afraid and feel free to use it to make other emulators as versatile as ACE CPC Emulator! 8)



The minor correction on CRTCs 0 and 2 that is indicated in the detail of the update notes of ACE 1.25 caught my attention.

Indeed, you write there that this correction makes it possible to "authorize the deactivation of the border byte between the vertical rupture".

ACE therefore now allows hiding the border byte displayed by default between 2 line segments on CRTC 0 and 2.

Can you specify the method used to hide the border byte on these CRTCs?
If you have code that demontrates this, can you share it?

This will allow me to document the method in the Compendium and to create the associated test in SHAKER. ;D


Quote from: Longshot on 19:59, 28 October 22Can you specify the method used to hide the border byte on these CRTCs?
If you have code that demontrates this, can you share it?

This will allow me to document the method in the Compendium and to create the associated test in SHAKER. ;D
I didn't have time to dig into the Shaker yet, but I guess it is something you should already cover. IIRC, it was just about emulating extra bits controlling border in R8.


By the way, Nova ACEpansion was upgraded to v1.2 which fixes issues with clock emulation.


QuoteI didn't have time to dig into the Shaker yet, but I guess it is something you should already cover. IIRC, it was just about emulating extra bits controlling border in R8.
It's a good thing if ACE now supports the R8 Skew Bits feature on CRTC 0.

Border management via R8 is not at all intended to cancel the border byte between 2 vertical rupture.
This is a trick using this function in a very specific context.
And to my knowledge never demonstrated elsewhere than in Shaker & Compendium.
Yet this is how you presented these corrections. :o

CRTC 2 does not control the BORDER, so emulating this function on this CRTC is a mistake.
If you hide the border byte on this CRTC, it cannot be with R8. ::)

Could you share the code that allowed you to verify that ACE is able to handle this trick? ;D
You may have done things differently from me, and that could enrich the Compendium.


Nope, it was not a full R8 skew bits support. That's the reason of this description.
Full R8 skew support may or may not come. ;D

About the check code, I could get it when I'm back home.


So you integrated a kludge in ACE to manage an effect that is only mentioned in the compendium...
And this effect does not exist in any official production other than in Shaker (2nd test).

If you made a risky emulation of R8, I advise you to remove it from your CRTC 2 code.
To my knowledge, this function does not exist on this circuit. ;D


Quote from: Longshot on 11:35, 05 November 22So you integrated a kludge in ACE to manage an effect that is only mentioned in the compendium... And this effect does not exist in any official production other than in Shaker (2nd test).
I don't remember exactly when I was told about this feature, I guess it was Roudoudou about one year ago (or maybe is was Hicks?) which pointed me some preliminary documentation from you. :)

Just to give the full picture, some years ago, we created "Back to Futurs'", a demo which was using RVMB (a technic which is known to only work on CRTC 1). So, this R8 trick sounded as an interesting feature since it might have made it possible to adapt (at least partially) this demo for CRTC 0... and my test code was actually an abstract of this demo... and I expected ACE to make it run. ;D


X-Mass ACEpansion was updated!

In addition to the legacy hard disc image support, this release adds a new mode where a directory can be used to directly share files between the emulated CPC and the host machine (this new mode is enabled by default), making X-Mass ACEpansion almost as helpful as Albireo one.

This nice feature was achieved thanks to an optimized Virtual VFAT implementation based on the code from QEmu (and Bochs) to simulate a VFAT32 structure on-the-fly over a directory contents.

Pick it here:

Enjoy! 8)


My pronouns are RASM and ACE


Quote from: roudoudou on 23:25, 01 September 23You may stop buying PowerBook G4

WOW! This is GREAT! I hope you'll find the motivation to finish at least a version for developers to forget about Winape once and for all!!

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime



Ace wasn't supposed to have a port because it's very close to the morphOS architecture

Offset gaves me the source code access and i bypassed most of the engine, doing an hybrid  version of his emulator whith the one i was working on the side

There is still some internal behaviour to fix, Ace engine is highly sensitive but all the human machine interface is already ok

Ace is "hacked" because i rewrote many things from scratch to facilitate porting between Linux/MacOS and Windows

Dont know if it will be the definitive name ;D

note: i benefited part of the work of Pulkomandy for little endian adaptation, the first one to succeed to port Ace on another architecture
My pronouns are RASM and ACE


Just to summarize, ACE is written in plain C and has no clumsy libraries dependencies.
It makes it potentially portable to anything. ;D

That said, the code is composed of three parts:
  • The emulation core, which is 99% portable on anything (including PC world).
  • The application layer, which is portable with some additional effort.
  • The GUI, which is not portable at all unless you can deal with Magic User Interface GUI toolkit (only available on MorphOS, AmigaOS, AROS).

Over the time, many people got access to ACE source code, and there were many (unsuccessful) attempts to port it to the PC world.

@PulkoMandy did an exceptional job in that regard. He fixed the emulation core to work on little endian and 64-bits CPUs, and he created an os-wrapper so that main Amiga libraries could be emulated thru POSIX calls. He also reimplemented all the GUI and the application layer for Haiku, in a 1:1 feature compliance with the original version.

Roudoudou can benefit from all the work on the emulation core, but he obviously has to rebuild from scratch an application and GUI around it. And even if the goal here is not a 1:1 feature compliance, it is still a lot of work!

So, don't expect this port to be as complete and polished than MorphOS and Haiku versions yet, but at least it will work on MacOS, Linux and Windows; which is, I guess, the main point. :)

As a consequence, ACE emulation core will also benefit from Roudoudou's work on the FDC which will provide a more precise emulation and support for HFE file.


MacOS version is alive!

This week, i had some time to finish a new configuration menu,Read/Write/Execution breakpoints, memory dump, some drag'n'drop, rom pack (Mister) support, DMA debug ...

The goal is to achieve a first public version for BND meeting at the end of october
My pronouns are RASM and ACE


Play2CPC ACEpansion was finally released!

Well, this is a new old release. :P

This plugin was actually created over a year ago, but for some reason the release was postponed and then... forgotten in the darkness of a hard drive. ;D

Now it's time to unleash it!

Pick it here:

Enjoy! 8)


RedBug/Crazy Piri
Crazy Piri's productions are available on, a new french information site about the Amstrad. Be the first to know.


Little update for ACE-DL (Windows/Mac/Linux)

new downloads for ACE and RASM  8)
My pronouns are RASM and ACE


oups, trace badly working cause of flags permutation, new upload right now available :picard: 

why did I volunteer for this? ;D
My pronouns are RASM and ACE


I am pleased to announce the release of ACE 1.26!
Well, it was a few days ago, but I forgot to mention it here. ;D

As usual this version is fully translated in English, French, German and Spanish (including integrated quick help). Again, big thanks to Juan Carlos Herran Martin and Stefan Haubenthal. The complete guides for both users (including scriptable interface) and developers (including plugins SDK documentation) was updated too. And last but not least, this version of ACE is the very first one where MorphOS and Haiku development branches are fully merged. Big hourra to PulkoMandy for this great achievement!

Here are the main changes coming with ACE 1.26:

  • Fixed video memory address bug during SSCR ASIC register update in a very specific case (fixes a glitch in Golem13's Ghost'n Goblins remake).
  • Fixed sign handling when reading sprite hard Y position from ASIC I/O page.
  • Reenabled and fixed emulation of CRTC 1 "sick mode" (fixes DSC4 demo from Logon System). This special mode was long ago disabled because it was not well understood and then not reliable. It is now properly integrated into the generic CRTC 1 emulation.
  • Improved again plugins SDK; now, you really have no excuse not to create your own plugins!
  • Moved plugins configuration tool types from their icons to ACE's main icons (makes plugins multiple configuration management versatile).
  • Added more default builtin symbols for system vectors and ASIC registers.
  • Extended memory map feature to be used for symbols and breakpoints.
  • Added support for relative symbols.
  • Improved all GUI elements making use of symbols to take advantage of the new attributes.
  • Improved symbols import script to support memory map (compatible with vasm ".lst" files and rasm ".sym" files, as well as with simple EQU lists from assembler source files). Also includes a special feature to detect relative symbols from rasm ".sym" files (v2.1.5 or better required).
  • Updated some AREXX commands.
  • Fixed arec2raw video conversion tool to comply with the latest ffmpeg version for MorphOS.
  • Added more preferences to tune snapshot loading and saving methods.
  • Added automatic ROMs and cartridge files creation when loading a snapshot with ROMs contents (It makes it easy to recover real files from a snapshot and to use them separately if needed).
  • Added warnings when loading a snapshot which embeds optional chunks which are configured to be ignored.
  • Updated and added support for some snapshots' optional chunks:
              . *upd* SYMB (load/save): [ACE] Symbols. Added support for new attributes.
              . *upd* BRKC (load/save): [ACE] Symbols. Added support for new attributes.
              . *new* PLUG (load/save): [ACE] Activation status of plugins.
              . *new* CART (load/save): [ACE] Cartridge contents.
              . *new* BASR (load/save): [ACE] Basic ROM content.
              . *new* DOSR (load/save): [ACE] AMSDOS ROM contents.
              . *new* LOWR (load/save): [RASM/ACE] Firmware ROM contents.
              . *new* RM?? (load/save): [RASM/ACE] Extension ROM contents.
              . *upd* ROMS (load/save): [WinAPE/ACE] ROMs and cartridges file names (rather than contents). Better cartridge support.
              . *new* REMU (load only): [RASM] Symbols and breakpoints.
              . *new* BRKS (load only): [WinAPE] Breakpoints.

More to come in a few days. ;)

Get it there: -> <-


PS: These news are about ACE for MorphOS (and Haiku). It is not related to the ACE-DL port by roudoudou for Windows, macOS and Linux which does not implement neither the same feature set nor the same look and feel. Please refer to roudoudou's announcements to know about ACE-DL updates!


Say yay! to the Albireo and 2nd-Albireo updated ACEpansions!

No new features btw. It is just about some internal changes in the plugin structure to make it easier to maintain and to port. Additionally, those are also now compiled using the improved plugins SDK from ACE 1.26, which makes them slightly faster.

Features remain the same:
  • Emulation of Albireo microSD and USB thru shared directories (USB defaults to the one plugged on the host).
  • Fully localized in English, French, Spanish and German.
  • Guide, including quick help in preferences GUI.
  • Comes with latest UniDOS ROM and Albireo DOS node, as well as related preconfigured icons.

Go download at, copy the plugins to your ACE drawer, and enjoy.  8)

Powered by SMFPacks Menu Editor Mod