Arnold for Amiga is a port of Kevin Thacker's Arnold, the Amstrad CPC
emulator, to 68k AmigaOS 3.x with AGA. It emulates the CPC 464, 664 and
6128 as well as the CPC 6128 Plus and the GX4000 console: Plus cartridges,
disks and snapshots, with sound through Paula, on PAL and NTSC displays.
Released with Kevin's blessing, under the GPL.
Requirements
------------
- AmigaOS 3.1 or later, AGA.
- A 68040 or better: PiStorm32 (Emu68), 68060 cards, or BigMig on MiSTer.
No FPU needed.
- lowlevel.library is optional (CD32 pads).
- Fast vertical scrolling uses about 0.5 MB more chip RAM; with less
free, Arnold falls back to the plain display (NOVSHIFT forces that).
What to expect
--------------
Arnold for Amiga targets PiStorm/Emu68-class machines. On an A1200 with
a PiStorm32 CM4, the games tested run at full speed (Sonic GX at 50 fps
without frame skip, springs included, measured: about 60% of the frame
time). On BigMig (MiSTer) games
currently run below full speed; use Arnold-060 with frame skip. Real
68060 accelerator cards have not been tested; expect games below full
speed. 68030 machines are too slow for games.
Installation
------------
Copy the Arnold drawer anywhere. Start one of the presets:
Arnold PiStorm 68040 build, sound on, frame skip up to 3
Arnold BigMig 68060 build, sound on, frame skip up to 3
Arnold RTG as Arnold PiStorm, on an RTG screen with scanlines
or the program itself. HELP opens the menu (media, settings, controls).
README.txt in the drawer has the details, keys and Shell options.
The drawer includes the Plus system cartridge (BASIC 1.1, AMSDOS and
Burnin' Rubber) and the CPC 464/664/6128 system ROMs, so CPC disks and
the built-in game work at once, and Games.db (settings for known
games). Supply your own cartridge (.cpr) and disk (.dsk) images.
Features
--------
- CPC 464, 664, 6128, 6128 Plus and GX4000 models, picked in the menu.
- Plus / GX4000 cartridges (.cpr), standard and extended disks (.dsk) in
drives A and B, snapshots (.sna).
- Tapes (.cdt) with fast loading and an optional loading sound; disk
saves written back to the .dsk (the original kept as .bak).
- PAL or NTSC (or as Workbench); on NTSC the CPC still runs at its own
50 Hz, so games and music keep their correct speed.
- Paula sound (8-bit stereo); frame skip keeps heavy games at full speed.
- RTG screen (experimental, RTG): with an RTG board and an 8-bit mode
(PiStorm VideoCore, uaegfx) the emulation and the menu show on an RTG
screen, optionally with scanlines (Hard 25/50/75%, Blended light,
normal, strong). Off by default.
- Games.db: settings for known games (wide, full height, key remap,
joy keys), found by the CRC-32 of the cartridge, disk or tape.
- Menu with pull-down options, per-game settings (for disk games too),
keyboard map, IFF and PNG screenshots; Workbench presets with
ToolTypes. Full height (TALL) and wide (WIDE) options, per-game key
remap (REMAP=) with a key-map editor and presets.
- Joystick in port 2 (normal or CD32 pad, chosen in the menu) and the
keyboard as a joystick (mode 3: X / Space are fire 1, for R-Type).
- Fixes to the Arnold core found during the port: Plus soft scroll,
raster and DMA interrupt timing, CRTC and ASIC write timing, the sound
chip, the Z80 overflow flag, disk image loading and more (offered
upstream as patches).
Known issues
------------
- NTSC shows fewer lines than PAL, so games drawn to the screen edges
lose their top and bottom; use PAL for the full picture.
- Tapes load only: no saving to tape, and only .cdt images (no .wav).
History
-------
1.2 RTG screen (experimental): the emulation and the menu on an
8-bit RTG screen, with scanlines (Hard 25/50/75%, Blended
light/normal/strong) and an Arnold RTG preset (Hard 50%). A game
settings database (Games.db). Joy keys mode 3: X / Space are
fire 1. HIRES screen: stale lines (changed lines not redrawn)
fixed.
1.1 Optional tape loading sound (TAPESOUND). Fixes from a code
review: game key maps cut off when saved, a fast-RAM leak on
every Help/Reset, a failed ROM load, bad REMAP= values, a double
free on close with plain screen buffers, a bad .cpr starting the
previous game, stuck joystick keys after Help, disk write-back
refused on volumes that shorten long names, and smaller bounds
checks. Joy keys: key repeat ignored, a key-up is never lost; menu
and docs say which keys are fire 1 and fire 2.
1.0 Tape (.cdt) support with fast loading. Disk write-back (the
original kept as .bak). Wide screen option (WIDE). Key-map
editor and presets. Pinball Dreams intro logo fixed (monitor
line length and horizontal flywheel).
From 0.x: every CPC model, 50 fps Sonic GX, Paula sound.
0.9 Sonic GX at full 50 fps on a PiStorm, springs included (code
shaped for Emu68). Much cleaner sound (sound chip fixes). Pinball
Dreams fixed (CRTC write timing) and a Full height option (TALL).
Per-game key remap (REMAP=, remap= in prefs); disk games now get
their own <disk>.prefs. Plus register and DMA timing closer to
real hardware. 80-track disk images load (Pinball Dreams: Beat
Box, Nightmare). A display left at 60 Hz by another program is
put back to 50 Hz (PAL).
0.8 Faster vertical scrolling (the display moves the picture in a
taller chip RAM buffer instead of redrawing it) and faster Plus
sprites. Sonic GX on a PiStorm: the slowdown on fast vertical
scrolls (springs) is now barely noticeable.
0.7 Much faster on full-screen scrolling games: only changed parts of
the screen are written to chip RAM, 5 or 6 bitplanes where 8 are
not needed, batched video emulation, table-driven Plus soft
scroll. Sonic GX: 41 -> 49 fps on an A1200 with PiStorm32, without
frame skip. New Arnold-030 build.
0.6 CPC 464/664/6128 and GX4000 models; Video mode (Auto/PAL/NTSC)
and Game speed in a new Settings box and Display menu; correct
50 Hz game and music speed on NTSC; menu fits 200 lines; screen
surround shows the CPC border colour; no Workbench flash.
0.5.2 Plus DMA interrupt fixes: Sonic GX's Green Hill split glitch and
its frozen special stage. The menu scrolls on NTSC displays.
0.5.1 First Aminet release.
Source and reports
------------------
Source, patches and issue tracker: https://github.com/z00p/arnold-amiga
Please report problems there with the game, your settings and your
machine.
Credits
-------
Arnold (c) Kevin Thacker, GPL-2.0. Amiga port by John Stringer, 2026.
CPCEC by CNGSoft was the accuracy reference for the Plus fixes.
The RTG screen uses the RTG display framework rtgfw (c) 2026 Zoopster,
MIT licence (LICENSE-rtgfw in the drawer).
|