Home

Avatar

Building a custom A600 Kickstart with HRTmon


It’s not fair that Amiga 1000s and 500s gets to have all the fun with the Action Replay. But wait… there is a way to get the same functionality on an Amiga 600 or 1200. It’s called HRTmon.

In order for this to work the same way as an Action Replay cartridge, HRTmon needs to be resident in ROM as part of the Kickstart. Here is how to do it on macOS…

Compiling vasm

Following the instructions from https://github.com/nicolasbauw/Amiga-cc

install lha via brew:

brew install lha

In the folder where you want the toolchain installed:

git clone https://github.com/nicolasbauw/amiga-cc.git

This will create a folder named amiga-cc.

We need to tweak the install_amiga_toolchain.sh install script:

add the line

SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )

to the top of the script to get the current script folder

add the lines

mkdir $VBCC/targets/m68k-amigaos/include/asm
cp -r $VBCC/NDK_3.2/Include_i/* $VBCC/targets/m68k-amigaos/include/asm

after the line

cp -r $VBCC/NDK_3.2/Include_h/* $VBCC/targets/m68k-amigaos/include

so that we keep the assembly includes too.

and change the line:

export VBCC=~/amiga-cc/vbcc/

into:

export VBCC=$SCRIPT_DIR/vbcc

and:

rm -rf ~/amiga-cc/vbcc_tools/

into:

rm -rf $SCRIPT_DIR/vbcc_tools/

to fix the assumption that this would be installed in your home folder.

cd into the amiga-cc folder and run the install_amiga_toolchain.sh pressing return on all the questions you will be asked.

add the newly created binaries to your path in your ~/.zshrc file:

export VBCC=<path to your amiga-cc/vbcc folder>
export PATH=$VBCC/bin:$PATH

then re-open your terminal window.

Compiling HRTmon

In a work folder, clone the HTRmon repo:

git clone https://github.com/wepl/hrtmon.git

cd into hrtmon and point to the NDK includes:

export INCLUDEOS3=<amiga-cc folder>/vbcc/targets/m68k-amigaos/include/asm

comment out in src/HRTmonV2.s since this is now already defined in NDK3.2

; BITDEF AF,68060,7		;AttnFlags

and then make the project:

make

which makes the file HRTmon.data.

Building HTRmodule

We will need to compress it using the Rob Northern Compression (RNC) method 1 in order for it to fit on the Kickstart ROM.

Download the source code for the RNC packer and compile the 64-bit version of the executable:

make rnc64

Then compress the HTRMon data file using method 1:

rnc64 p HRTmon.data hrtmon.data.rnc -m=1

Next you’ll need a tweaked version of Toni Wilen’s hrtmodule source code. This gets added to the kickstart we are building. For references, the original file can be found here.

The modification for our version includes an option at the top of the file to make it assmeble with 68020 instructions:

OPT P=68020

and an updated identifier variable name2 like for out HRTmon version:

name2	dc.b 'hrtmon 2.39 (19.02.2021)',0

Drog the source file and the dat.rnc file into a folder on your Amiga and assemble everything using Devpac’s Genam:

Genam hrtmodule.s

Building the Kickstart ROM

You can then rebuild the ROM:

cp ../../Home/hrtmonmod/hrtmodule ROMs/hrtmodule
cat ../Hyperion.3.2.2.1.HRTMon239.1Mb.A600.txt | ./capcli

Credits

A lot of what initially got me on the rights track can be found in this video from Guillaume’s over at RetroLab.


Copyright (c) 2023-present by Didier Malenfant.

This work is licensed under CC BY-SA 4.0