Suppose I have an Amiga computer without any working boot disks. Is it possible to trigger the built-in ROM monitor (RomWack or SAD, see https://theamigamuseum.com/amiga-kickstart-workbench-os/guru-meditation/) and then somehow send a program over the serial port to, say, write a disk image to disk? Would it require any hardware modifications to do this?

  • You can send the Guru to meditate with any of the M68k hardware exceptions (Bus Error, Address Error,...) - But obviously, you first need a program to trigger these exceptions.
    – tofro
    Commented Oct 27, 2018 at 9:20
  • 1
    Your cheapest/easiest route to the solution is a Gotek (or similar) floppy drive emulator.
    – Brian H
    Commented Oct 27, 2018 at 16:08
  • If RomWack was part of Kickstart, then obviously you're not going to be able to access it from an A1000 and possible early model A3000's because the Kickstart was loaded from disk (or file) - and you have said you don't have any disks. However, assuming your Amiga has Kickstart in ROM, then I suspect (as others have said) if you could cause a guru med through some kind of hardware joggery-pokery and get RomWack invoked that way. But I haven't got a clue how to do that safely.
    – Geo...
    Commented Oct 27, 2018 at 16:50

2 Answers 2


It is possible, but not simple. The ordinary boot process which brings a working machine up from cold to the prompt for a Workbench disk doesn't offer an opportunity to drop into the debugger.

A dodgy and potentially hardware-damaging approach is to cause an unexpected CPU exception by e.g. wiggling the trapdoor memory in an A500 -- execbase disappearing is sure to cause a crash -- or shorting the interrupt lines to cause an NMI. It'll crash, and while the power LED is blinking, you can take control over the serial port.

An arguably somewhat more "correct" approach is to add an expansion card of some sort which will hook the system and call Debug() on command. Building one from scratch would be more effort than it's worth, but existing cards could be presssed into service with similar effect.

Assuming an A500 or A1000, you can use an Action Replay cartridge. The one I had allowed me to format disks and install a custom bootblock, which gives enough of an edge to to bootstrap a working system from a machine that didn't come with Workbench disks. Earlier Action Replays might not be so featureful, but should at least let you break the running OS in such a way that it'll crash and drop into the debugger.

Another kind of expansion card is a hard disk controller. You can use an Amiga emulator to partition and install Workbench onto a hard disk which can then be transplanted into the real Amiga, which should then just boot off it. This is easier on a machine with built-in IDE since USB-IDE controllers are still easy to find, but SCSI is uncommon on modern machines. From here you can then just call Debug() directly, but since your bootstrap problem has already been solved, it's unnecessary.

You could also just get one of those GoTek USB-to-floppy adaptors, which also nicely sidesteps the problem of having no boot floppies.

  • Um, the link provided in the answer suggests all you need to do to activate the debugger is hook up a terminal to the serial port and send a DEL character. Since he mentioned possibly using the serial port to transfer a program (which the debugger does not seem to support), his serial port is likely working. But your other point on providing some sort of a disk controller and (possibly virtual) disk seems to me the best solution to making the machine usable.
    – RichF
    Commented Oct 27, 2018 at 17:43
  • 3
    @RichF Sending DEL only works once the machine is displaying a Guru Meditation. The challenge is to make that happen.
    – pndc
    Commented Oct 28, 2018 at 10:05
  • I don't think the debugger will let you upload an executable program as-is, nor would there be much of an environment to run it in at boot time, but if you can write to memory and then jump to it you can presumably transfer code that will use the hardware registers directly to write to disk. Anyway I've decided to go down the Gotek route so this was largely a theoretical question. Commented Oct 28, 2018 at 10:15
  • @pndc Sorry, then, I missed that detail. The text doesn't actually state that the machine must be crashed, but in context I guess it's sorta there.. Since our Sun machines at work were fully functional at power-up via serial port A, I just assumed the Amiga might have similar functionality.
    – RichF
    Commented Oct 29, 2018 at 18:38
  • If the Amiga is showing a Guru Meditation, you can also click on the right mouse button to have RomWack start the serial port. I'm actually not sure it is enough to send DEL characters...?
    – user180940
    Commented Oct 11, 2019 at 9:27

Another idea could be to dump some Kickstart ROM to a file, then either add a new Resident module if there is space available in the image, or overwrite a non-essential one (audio.device comes to mind, see below), with a custom module that calls Debug() on Exec (You could use the module's Init function to do this). Then you burn your new ROM to an EPROM and use that as the Kickstart.

At this point you will have a system with working multitasking, and RomWack or SAD should function normally (of course multitasking won't actually run while you're in SAD or RomWack).


  • Your custom resident module should be a RTF_COLDSTART one, with a reasonable priority. Depending on the priority, you will get a system that is less and more initialised and similar to a standard environment.

  • You cannot use RTF_AFTERDOS because those modules are initialised by dos.library itself, and dos.library is initialised not by Exec but by either the boot blook on floppy disks or by a hard disk firmware when it registers its MountLists for the partitions on disk.

  • You may indeed try to do what HD firmwares do, and FindResident() and InitResident() dos.library itself, but I have no idea if the system at that point would be in a state consistent enough to do anything meaningful with DOS.

  • SAD in Kickstart 3.0 is broken; you may want to base this on Kickstart 3.1 instead. Alternatively, if you want RomWack, Kickstart 2.04/2.1 should be a safe bet; in this case you can certainly overwrite audio.device since it is guaranteed not to be used by the bootstrap process.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .