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 5 hours ago
K
kaffeineJunior Member
Posted 5 hours 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.
T
terminillsMember
Posted 6 hours ago
Good job, However just a FYI Fabian's work is being pushed forward in mainline right now.
M
miker1264Software Dev
Posted 6 hours 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!!
K
kaffeineJunior Member
Posted 7 hours 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
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