Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.

Introducing Kaffeine: original Amiga 68k software on AROS ARM64 (Personal Paint demo)

Last updated on 3 hours ago
K
kaffeineJunior Member
Posted 4 days ago
Hi everyone,

I'd like to introduce Kaffeine, an open-source project I'm building on top of AROS to run classic Amiga applications side by side with native software on the same desktop, without booting into a separate classic environment.

My first target is running unmodified 68k binaries on native AROS AArch64, and I have a first milestone to share: the original 68k Personal Paint 7.2.1.0 launching from the AROS desktop, opening a 1024x768 screen in 256 colors, drawing shapes and text, saving a pixel-exact IFF/ILBM file, and returning cleanly to Wanderer.

Video: https://drive.goo...sp=sharing

Public repository: https://github.co...1/kaffeine

Rather than emulating classic hardware, kaffeine.library (grown out of AROS's m68kemu.library) works at the application level. It executes 68k code and bridges library calls directly to native AROS services like Exec, DOS, Intuition, and graphics.library, handling big-endian conversion, 32-bit guest pointers, callbacks, and guest 68k libraries loaded from disk. Recent work covers windows, menus, gadgets, input, fonts, layers, bitmaps, cooperative guest tasks, and 8-bit indexed screens on the Raspberry Pi framebuffer driver. Outside of GUI apps, both the bzip2 1.0.8 and IJG JPEG 9f self-tests pass with byte-for-byte identical output.

In the video, AROS AArch64 is running inside QEMU using the Moira interpreter and PPaint's CPU blitter (with idle waits trimmed, but drawing shown at real speed). It is still an early compatibility preview, icon launch currently uses the CLI tooltype instead of full WBStartup, and reloading saved 1024x768 images currently hits an "image is too large" error.

Looking ahead, a dedicated 68k-to-AArch64 JIT is underway (a standalone probe already executes translated code, native calls, and nested callbacks inside AROS), alongside full WBStartup support, broader cleanup, and testing on physical Raspberry Pi hardware. Longer term, keeping the compatibility layer separate from the CPU engine should make it possible to bring this approach to other hosts like RISC-V, and potentially explore other guest ABIs down the road.

This project builds on the work of the AROS team, Fabian Schmieder's m68kemu.library, and Dirk W. Hoffmann's Moira core, with Emu68 as an early inspiration and technical reference (though no code is shared). Technical notes, screenshots, and the saved IFF file from the demo are available here:https://github.com/kaffeine1/kaffeine/blob/master/docs/kaffeine/personal-paint-demo.md

Feedback, bug reports, and patches are very welcome. Seeing that first double-click actually open a screen and let me draw something was a pretty great moment. Smile

Michele
miker1264, Argo, Bohun, pixie, x-vision, Amiwell79
M
miker1264Software Dev
Posted 4 days ago
This is a very interesting project. It's exciting to see new software for AROS and I appreciate your efforts to improve the user experience.

I look forward to trying out Amiga TurboText and a few other apps. I wonder, if it works for 68k apps why not for 68k games as well? Playing Centurion or Pirates or Patrician on AROS using Raspberry Pi would be really fun! Anyhow, great work!!
T
terminillsMember
Posted 4 days ago
Good job, However just a FYI Fabian's work is being pushed forward in mainline right now.
K
kaffeineJunior Member
Posted 4 days ago
@miker1264 thanks, glad you like it!

The goal is to run 68k software transparently, in the spirit of Trance on MorphOS and Petunia on OS4: anything that goes through the standard OS libraries should just work next to native apps. Games that bang the hardware directly are out of scope for this approach, so I can't promise titles like Centurion or Pirates until I test them. System-friendly ones are the sweet spot, and send me a list if you want me to try some.

@terminills Thanks for the heads-up! Kaffeine started from Fabian's m68kemu.library, so good to hear it's moving forward in mainline. I've been testing real 68k apps on ARM64 (Personal Paint so far) and experimenting with an AArch64 JIT. There's some overlap, so I'm happy to compare notes and send fixes or tests upstream where they make sense.
M
miker1264Software Dev
Posted 3 days ago
AmiPixelShop is a new Amiga 3.x RTG Graphics App for PiStorm Amigas. That would be a true test.

TurboText is one of my favorites. I think it's available on AmiNet. It's written in Modula2 for Amiga 68k.

It's available on GitHub
https://github.co...iPixelShop
Edited by miker1264 on 29-10-2026 14:00, 3 days ago
K
kaffeineJunior Member
Posted 3 days ago
@miker1264 thanks for the suggestions! I’ll try AmiPixelShop and TurboText with kaffeine.library and report back here with the results.
K
kaffeineJunior Member
Posted 18 hours ago
Quick Kaffeine JIT update!

The experimental 68k to ARM64 JIT is now wired directly into kaffeine.library and running original 68k Amiga applications on AROS.

Alongside Personal Paint, Directory Opus, and Redit working in my test scenarios, TurboText 2.0 can now edit, save, and reopen documents running on the JIT. Early tests are also showing a nice speedup over the Moira interpreter, reaching around 5x in the mbed TLS self-test.

Here's a short clip of TurboText running on AROS ARM64 under QEMU:

https://drive.goo...sp=sharing

It's still experimental, but things are moving fast!

Source: https://github.co...1/kaffeine
Edited by kaffeine on 31-10-2026 11:42, 18 hours ago
Bohun, aha, Argo, miker1264
K
kaffeineJunior Member
Posted 3 hours ago
On a side note, fixes and regression tests developed for Kaffeine have already been merged into AROS mainline by Kalamatee. Huge thanks for the reviews and feedback, it's great to see this work help strengthen the core AROS codebase for everyone!
Argo, retrofaza, Bohun
You can view all discussion threads in this forum.
You cannot start a new discussion thread in this forum.
You cannot reply in this discussion thread.
You cannot start on a poll in this forum.
You cannot upload attachments in this forum.
You cannot download attachments in this forum.
Users who participated in discussion: terminills, miker1264, kaffeine