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 Oct 27 '18 at 9:20
  • Your cheapest/easiest route to the solution is a Gotek (or similar) floppy drive emulator. – Brian H Oct 27 '18 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... Oct 27 '18 at 16:50

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 Oct 27 '18 at 17:43
  • 1
    @RichF Sending DEL only works once the machine is displaying a Guru Meditation. The challenge is to make that happen. – pndc Oct 28 '18 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. – user3570736 Oct 28 '18 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 Oct 29 '18 at 18:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.