AmigaOS 3.x port of Raptor: Call of the Shadows, a classic 2D vertical
scrolling shooter. This port is based on the open-source reverse-engineered
codebase by skynettx/raptor and targets 68030/68060-class Amiga systems
with RTG graphics (Picasso96 / CyberGraphX) or native AGA.
This release replaces 0.9.9-rc.4. The archive is distributed as
raptor.lha so future Aminet updates can replace the same archive name.
What's new in 0.9.9-rc.5:
- Optional CD32 gamepad support on gameport 1, disabled by default
(cd32 = OFF in amiga.cfg). Each of the seven pad buttons takes one
configurable action (cd32_red .. cd32_play): FIRE (primary guns plus
the selected secondary weapon), SPECIAL_SELECT (change/cycle the
secondary weapon), MEGA_BOMB, PAUSE, CANCEL or NONE. Defaults:
red = FIRE, blue = SPECIAL_SELECT, green = MEGA_BOMB, yellow = CANCEL,
play = PAUSE, reverse/forward = NONE.
- The yellow button now defaults to CANCEL (the ESC key: the shop returns
to the hangar, the hangar behaves like the physical ESC key, in game it
asks "Abort Mission ?") and the play button is PAUSE. An amiga.cfg
written by an older build that contains an explicit
"cd32_yellow = NONE" keeps that button disabled; remove the line (or
set it to CANCEL) to get the new default.
- New CD32=ON|OFF startup parameter (CLI -cd32=on; icon ToolType CD32=ON).
It selects the CD32 pad or the joystick path for that launch only,
overriding amiga.cfg, and is never written back.
- Shared Amiga 1/2/3-button joystick support, active whenever cd32 = OFF
(the default, with no separate enable setting): joy_button1/2/3 (DB9
pins 6/9/5) each take one action name and button 3 is read through
potgo.resource. The deprecated joy3_button1..3 keys are still read as
aliases and a leftover joy3 = OFF is ignored.
- Shop controls in that context: SPECIAL_SELECT toggles BUY/SELL, FIRE
confirms and CANCEL backs out. A held pad button does not leak into a
menu, the pause window or a confirmation dialog.
- amiga.cfg is now updated in place when the in-game Options volumes are
saved, so comments, unknown keys and the CD32 / joystick assignments are
preserved. A missing file is created as a complete template, and a
legacy file that holds only the audio volume keys is completed once at
load time (the original is kept as amiga.cfg.bakN).
- Boss energy scanner percentage fixed on big-endian Amiga (the maximum
health field is converted with LE_LONG; scanner rendering and save data
are unchanged).
Workbench icons in this archive:
All four program icons (raptor.info, raptor_nofpu.info, raptor_030.info
and raptor_030_fpu.info) contain two further inactive ToolTypes next to
the existing launch options:
(CD32 options: ON | OFF)
(CD32=OFF)
Both are enclosed in parentheses, so the game ignores them and the cd32
value from amiga.cfg is used (OFF by default). They document the option
and do not change saved settings.
To enable a CD32 pad from an icon:
1. Open the icon information window (Icons / Information...).
2. Replace "(CD32=OFF)" with the active line CD32=ON, without
parentheses. Keep exactly one CD32 entry - do not add a second one.
3. Joystick input must be enabled. The shipped icons already contain
JOYSTICK=ON. If an icon contains JOYSTICK=OFF, replace it with
JOYSTICK=ON, and remove an active NOJOY entry or put it in
parentheses: (NOJOY).
4. Save the icon and start the game again.
The CD32 ToolType overrides amiga.cfg for that launch only and is never
written back. CD32=OFF selects the ordinary 1/2/3-button joystick path
and does not disable controller input. The new ToolType entries were
verified structurally; they were not exercised in Workbench on real
hardware for this package.
Upgrading from 0.9.9-rc.4 or earlier: your own amiga.cfg is kept and
updated in place; if it does not exist, the current template is created on
first run. An explicit cd32_yellow = NONE from an older build must be
removed (or changed to CANCEL) to get the new default. The default cd32
value is still OFF, and the CD32=ON ToolType/CLI parameter enables the pad
for that session only without changing the saved preference.
The game renders in a fixed 320x200, 8-bit paletted mode on a dedicated
screen. Four native m68k binaries are provided:
- raptor : 68060 with FPU (recommended)
- raptor_nofpu : 68060/68EC060/68LC060 soft-float
- raptor_030_fpu : 68030 with external 68881/68882 FPU
- raptor_030 : 68030 soft-float
Sound effects are played through AHI (ahi.device) at the native 11025 Hz
16-bit stereo rate. Music can be played via several backends:
- ADLIB : lightweight OPL3 emulation (mixed into the AHI stream)
- CAMD : General MIDI via camd.library (external synth / software synth)
- MHI : MP3 music via hardware decoder
- WAVE : pre-decoded WAV files mixed into the AHI stream
- OFF : no music (the default)
Select from CLI with -music=mhi or from a Workbench icon with the MUSIC=MHI
ToolType. For MHI, MP3 files are read from MP3/. Raptor first tries its
explicit driver candidates while preserving the optional MHIDRIVER=<driver>
override and fallback scan of LIBS:MHI/#?.library.
MP3PRELOAD=OFF is the default and keeps the original MHI path, streaming the
MP3 during playback. MP3PRELOAD=ON loads the complete MP3 into memory before
playback; playback then uses resident MP3 data with no MP3 disk I/O. This
works independently of the selected MHI driver.
Workbench example:
MUSIC=MHI
MP3PRELOAD=ON
CLI example:
-music=mhi -mp3preload=on
For WARP MHI cards, MP3PRELOAD=ON is recommended. Normal streaming produced
audible clicks during track changes on the tested Amiga IDE + WARP setup;
MP3PRELOAD=ON eliminated those clicks in that setup. Other WARP setups may
behave differently.
No music backend is enabled by default; use MUSIC=OFF, MUSIC=ADLIB,
MUSIC=CAMD, MUSIC=MHI or MUSIC=WAVE explicitly as required.
Graphics can be selected with GFX=AUTO|RTG|AGA. The RTG path uses either
Picasso96 or CyberGraphX, trying P96 first, then CGX, then a fallback
320x240x8 mode with letterbox on cards lacking 320x200. The AGA path uses
a custom chunky-to-planar converter. VIDEO=NTSC can be used with the native AGA path (GFX=AGA) to directly
request the native NTSC display mode used by Raptor. No NTSC selection in
Early Startup is required, no reboot into NTSC is required, and nothing in
DEVS:Monitors needs to be changed; VIDEO= has no effect on the RTG path.
Keyboard, mouse and joystick input work simultaneously. Amiga 1/2/3-button
joysticks work by default (cd32 = OFF) with per-button assignments
(joy_button1/2/3; button 3 on DB9 pin 5 via potgo.resource). An optional
CD32 gamepad can be enabled with "cd32 = ON" in amiga.cfg or with the
CD32=ON startup parameter (CLI -cd32=on or icon ToolType CD32=ON), which
overrides the file for that launch only and is never written back (disabled
by default). Joystick input is enabled by default, so an active CD32=ON
ToolType is enough unless joystick input was disabled. The recommended,
unambiguous icon configuration is the active pair, one per line and
without parentheses: JOYSTICK=ON and CD32=ON; replace JOYSTICK=OFF with
JOYSTICK=ON and remove (or parenthesize) an active NOJOY. "(CD32=ON)" is
inactive, JOYSTICK=OFF / NOJOY disables controller polling, and CD32=OFF
only selects the joystick path (it does not disable input); CD32=ON alone
does not re-enable disabled input. Full instructions are in
Raptor/ReadMe, section "Running from a Workbench Icon". Each of the seven
pad buttons has its own assignment (FIRE, SPECIAL_SELECT, MEGA_BOMB,
PAUSE, CANCEL or NONE); the yellow button defaults to CANCEL (the ESC
key: the shop returns to the hangar, the hangar acts like physical ESC,
in game it asks "Abort Mission ?") and the play button is PAUSE. In the
shop SPECIAL_SELECT toggles BUY/SELL, FIRE confirms and CANCEL backs out.
An existing amiga.cfg line cd32_yellow = NONE keeps that button disabled;
remove it (or set CANCEL) for the new default. The deprecated
joy3_button1..3 keys are still read as aliases and a leftover joy3 = OFF
is ignored; NOJOY / JOYSTICK=OFF disables all joystick input. No native
Sega gamepad serial protocol is implemented. Workbench icon ToolTypes are
supported (GFX, VIDEO, MUSIC, MOUSE, JOYSTICK, CD32, etc.). Persistent
audio volumes are stored in amiga.cfg in the game directory; saving
updates the file in place and preserves manual edits, comments and
CD32 / joystick button assignments.
This is release candidate 0.9.9-rc.5. MP3PRELOAD=ON was confirmed on
real WARP hardware. On the tested Amiga IDE + WARP setup, preload
eliminated the track-change clicks produced by normal streaming.
MP3PRELOAD=OFF with the 2/2 wait limits removed the previously observed
menu / track-change lag on the tested WARP hardware.
Full gameplay has also been tested on real hardware including A2000 with
CyberVision 64/3D, A1200 with PiStorm/Emu68 and A4000 with Picasso IV, as
well as in WinUAE. MHI MP3 playback was verified on an A4000 with ZZ9000
and ZZ9000AX using the MHI driver for the ZZ9000AX card. MUSIC=WAVE was
verified on an A1200 with Blizzard 1260 at 56 MHz, Mediator, Voodoo3 and
AmigaOS 3.2.3. The CD32 / joystick control changes - including the
yellow-button CANCEL default and the shared 1/2/3-button joystick path -
were reported working on real Amiga hardware by a tester after the final
fixes; that report covers the tested setup only. The modified icon
ToolTypes were verified by re-reading all four icon files, not by loading
them in Workbench on real hardware for this package.
This project is an AI collaboration: development and documentation were
assisted by AI tools, with final decisions, testing and integration done
by the author.
Original game data files (full v1.2) are required and not included.
See Raptor/ReadMe (English) and Raptor/ReadMePL.txt (Polish) inside the
archive for detailed setup, controls, parameters and troubleshooting.
Project homepage and sources:
https://github.com/RaybeezPL/raptor-amiga-port
Upstream project (reverse-engineered Raptor engine):
https://github.com/skynettx/raptor
License (GPL v2):
https://github.com/RaybeezPL/raptor-amiga-port/blob/main/LICENSE
Special thanks to PPA user Solo Kazuki
https://www.ppa.pl/uzytkownicy/490
for testing on real Amiga hardware and suggesting support for CD32 and
compatible gamepads, as well as three-button Amiga joysticks.
|