Save Window and Icon Positions

Window and icon positions are not saved by default on Workbench. To save the positions you must go to the Workbench menu and select either "Window->Snapshot->All" or "Icons->Snapshot".

Use Workbench as Backdrop

On a default install on newer Workbench variants (such as Workbench 3.1) Workbench is contained within a window. In order to have Workbench be the default backdrop window, you can go to the Workbench menu and tick "Backdrop" (or AMIGA+B). Then, to make the setting persist across reboots, go to the Workbench menu, then to "Window->Snapshot->All".

XVS Library with SystemPatch

After applying SystemPatch, anti-virus programs will refuse to work. In order to make them work again, edit the S:user-startup file and find the SystemPatch call and append the -LoadSeg argument to it:

C:SystemPatch NT Q -LoadSeg

Amiga CapsLock Key-Codes

  • One blink: Keyboard ROM check failed.
  • Two blinks: Keyboard RAM check failed.
  • Three blinks: Watch dog timer failure.
  • Four blinks: A short between two lines or the special control keys.

Every Amiga keyboard blinks once when switched on.

Amiga Screen Codes

  • Red: An error was found in the ROM.
  • Green: An error was found in Chip ram.
  • Blue: An error was found in the custom chips.
  • Yellow: The CPU has found an error before the error trapping software (Guru) has been activated.

Amiga Boot Sequence

  1. Clears all memory of old data.
  2. Disables DMA and interrupts during the selftest.
  3. Clears the screen.
  4. Checks the processor is working.
  5. Changes the screen colour.
  6. Do a checksum test in the ROM.
  7. Changes the screen colour, again.
  8. Begins the system startup.
  9. Checks RAM at address $C0000 and moves SYSBASE there.
  10. Test all Chip ram.
  11. Changes the screen colour, AGAIN.
  12. Checks that the software is being executed.
  13. Changes the screen colour, for a laugh.
  14. Sets the chip RAM to be accessed.
  15. Links the libraries.
  16. Checks for fast RAM.
  17. Turns the DMA and interrupts on.
  18. Starts a default task.
  19. Checks for an accelerator or a maths coprocessor.
  20. Checks the processor again to see if there is an error.
  21. If an error is found the system is reset.

Place Icon on Desktop

To place an icon on the desktop such that it persists across reboots:

  • Move the icon to the desktop.
  • Select the icon.
  • Go to the Workbench or Icon menu and select Leave Out.
  • Move the icon to any place and then go to the Workbench or Icon menu and select Snapshot.

Set Hardware Clock

To set the current date and time and to save it to the RTC (provided that you have an RTC installed), first issue:

date 19-Nov-04 16:45:0

which sets the system time (in military time).

After that, save the time to the RTC with setclock:

setclock save

Run a Script from Workbench

You can create a batch script easily with the ed stream editor. After that, copy an application icon (or any other icon with its type set to app - for example, use the seticontype utility) and give it the same name as your script plus the suffix .info. You will thus obtain two items (in this example, the script name is goodday):


After that select and right-click to access the menu and select Icons->Information... (shortcut AMIGA+I).

Set the Default Tool: to C:ICONX and tick the Script and Executable boxes. Finally, save the changes to the icon and double click the icon to run the script.

Drive and Device Notations

For drives, we have:

Notation Meaning
DF[n]: Floppy drives.
DH[n]: Hard disk.
CD[n]: CD Roms.

in addition to logical devices that can be assigned.

Common devices:

Name Meaning
RAM: The virtual disk created in memory created on first access and requires the library ram-handler to be on disk.
RAD: Similar to RAM: but can contain persistent storage that can survive a soft-reset. It requires the devs/ramdrive.device to be on disk.
NIL: Dummy device similar to /dev/null - all input to this device is discarded. Reading from this device immediately returns EOF.
SER: Serial port.
PAR: Parallel port.
PTR The printer defined in preferences.
CON: The console.

Usual logical devices:

Name Meaning
SYS: The system disk root directory.
C: The commands directory searched first for the command.
L: The library directory.
S: The startup-sequence directory searched first by the EXECUTE command.
LIBS: OpenLibrary function calls look here for libraries that are not loaded in memory.
DEVS: OpenDevice calls look here for devices that have not been already loaded in memory.
FONTS: OpenFonts calls look here for fonts that have not been already loaded in memory.

Copy and Paste

Copying on the Amiga is usually performed with the hot-key Right AMIGA+C and pasting is performed with Right AMIGA+P

AmigaOS 3.9 Boing Bag Passwords

AmigaOS 3.9 boing bags contain a password-protected zip file to store the updates which is annoying in case you want to burn your own ROM and will require you to install AmigaOS 3.9. However, the passwords are listed here:

Bag File Password
Boing Bag 1 AmigaOS-Update 93ABDF11
Boing Bag 2 AmigaOS-Update 3FB6986B-B0AD6339-4FF3254B

and you can uncompress the archives using plain unzip.

Turn on Validation

Under Amiga OS 3.9 SetPatch can be used to turn on disk validation before rebooting. This can be accomplished by adding the WAITFORVALIDATE option to SetPatch in S:Startup-Sequence.

Storage Configuration Limits

Here is a summary of the various drive capacities that can be used on an Amiga depending on:

  • the filesystem used (32bit as in FFS or 64bit as in PFS/SFS)
  • the scsi.device in place
  • the total capacity of the partitions and the corresponding drive.
Limit Works With (Requires) Reason
4GiB Stock filesystem (FFS), stock scsi.device but any writes above 4GiB will wrap around and destroy the RDB. 4GiB is the maximum addressable size on 32bit (unless an IDEFIx'97 adapter is used in SPLIT mode).
7.87GiB Modern filesystem (for example, PFS or SFS) with stock scsi.device CHS addressing is limited to 7.87GiB (16383/16/63) by the ATA specification therefore larger drives will report 7.87GiB size when accessed with CHS.
128GiB Modern filesystem (for example, PFS or SFS) with patched scsi.device 128GiB is the maximum with 28bit LBA addressing. 48bit LBA (ATA-6 from 2002) is required for drives larger than 128GiB


In case you are using SystemPatch and using some anti-virus software, the LoadSeg patches from SystemPatch will modify xvs.library. To prevent patching xvs.library, you can install SystemPatch using the -LoadSeg flag:

C:SystemPatch -LoadSeg

Changing the Size of Virtual Devices

Some devices, such as RAM-based devices (ramdisk.device, ramdrive.device), found in the mountlist DEVS:mountlist or DEVS:DOSDrivers/ for Kickstart 2.04 and above can be configured to have a larger size than a floppy disk.

Typically, these devices have the following settings:

LowCyl = 0
HighCyl = 79
BlocksPerTrack = 11

such that the formula:

\text{Size}(KiB) = (\text{HighCyl} - \text{LowCyl} + 1)*\text{BlocksPerTrack}

yields the size in kilobytes of the resulting device. In the default case, where these devices simulate a standard DS/DD diskette, the values above compute to 880KiB.

By changing HighCyl, LowCyl and BlocksPerTrack in the mountlist files you can create a virtual device of any size. Suppose you wanted a drive of, say 64MiB (65536KiB), in that case, with a little bit of maths, one obtains:

\frac{\text{Size}(KiB)}{\text{BlocksPerTrack}} = (\text{HighCyl} - \text{LowCyl} + 1)

Now, the low cylinder LowCyl does not need to be set to a high value, the disk can very well start on cylinder 0, such that the equation can be pushed a little further:

\frac{\text{Size}(KiB)}{\text{BlocksPerTrack}} - 1 = \text{HighCyl}

With this equation, all the variables can be substituted in order to obtain the value of HighCyl:

\text{HighCyl} &=& \frac{\text{Size}(KiB)}{\text{BlocksPerTrack}} - 1 \\
&=& \frac{65536(KiB)}{11} - 1 \\

Now the mountlist can be modified (or tooltypes changed in SYS:Devs/DOSDrivers/ and the value of the high cylinder (HighCyl) set to 5957 in order to obtain a 64MiB drive. The device configuration for a 64MiB drive will thus include:

LowCyl = 0
HighCyl = 5957
BlocksPerTrack = 11

Intuition Requester on Workbench Boot

In case you get an Intuition requester when Workbench loads, more precisely, whilst executing S:startup-sequence, that says to close all windows then your S:startup-sequence may be printing something to the shell.

All patches and commands in S:startup-sequence are usually ran with a QUIET parameter (or by redirecting output to NIL: via >NIL:) so they do not print out messages or else the Intuition requester will pop-up when Workbench loads before the last EndCli instruction.

Solve Issues with Drives not Mounting on Boot

Workbench automatically mounts drives on boot if the corresponding mount file icons in DEVS:DOSDrivers/ have an entry in their tool-types set as ACTIVATE=1 (or MOUNT=1 for Workbench 2.0). The drives are mounted sequentially via the startup sequence:

C:Mount DEVS:DOSDrivers/~(#?.info)

such that if mounting one drive fails, then the rest may be skipped. The Amiga can be rebooted without a startup-sequence in order to attempt and mount each drive manually to find out which of the mount files in DEVS:DOSDrivers/ fails to mount.

Getting Adaptec SCSI to Mount Devices on Workbench Startup

The aic78xx.device driver from AmiNET contains few instructions on how to set up the Adaptec SCSI cards. Essentially, the device file aic78xx.device has to be copied to DEVS: and then the executable AicSCSI has to be copied over to C:. Following the documentation, AicSCSI has then to be run from either startup-sequence or user-startup. Unfortunately, that is insufficient since startup-sequence will mount any devices found under DEVS:DOSDrivers such that, at best, C:AicSCSI should be ran before C:Mount Devs:DOSDrivers/~(#?.info).

Users have reported that just having a mount list in DEVS:DOSDrivers will not allow the Amiga to boot, getting stuck at the C:Mount Devs:DOSDrivers/~(#?.info) line. Similarly, adding C:AicSCSI before C:Mount Devs:DOSDrivers/~(#?.info) will also prevent the Amiga to boot.

The issue appears to be related to the Mediator not being properly initialized when the aic78xx.device or the AicSCSI binary get loaded - either by the mount line or by directly loading AicSCSI.

The solution is to re-arrange some lines in startup-sequence, placing C:Mount Devs:DOSDrivers/~(#?.info) after C:LoadMonDrvs. In other words, the correct sequence of commands should be:

C:Mount Devs:DOSDrivers/~(#?.info)

and should allow the Amiga to boot and to mount devices when Workbench boots up.

Resolving Issues with Mediator Sound Mixer

The mixer application provided on the MM CD by Elbox crashes the Amiga right from the startup sequence. Officially, Elbox recommends a third party application such as GhostMix to manage the sound card. Unfortunately, regardless what application is used, the mixer just does not want to remember the settings and restore them on boot.

For instance, GhostMix' documentation mentions the install procedure where GhostMixer should be ran (mind that GhostMixer is a Magic User Interface (MUI) application and needs MUI to be installed) to save the settings, then GMStart is supposed to be copied into C: and called from S:startup-sequence. Regrettably, that does not work and GMStart will just bomb out with GMStart Error and some undecypherable characters hinting to an outright corrupt binary.

To work around all these issues, create the directory ENVARC:Mediator/Mixer:

makedir ENVARC:Mediator/Mixer

and only then load up the mixer application (ex, GhostMixer), make the necessary settings and save. In case you are using GhostMix, you can delete C:GMStart since the settings will be restored on reboot.

Ultimately, if all else fails, TaskiMixer seems to work best:

Simply unpack the archive, copy the icon into Prefs/ and TsiMixerInit to C:. Then edit S:user-startup and add the line C:TskiMixerInit at the very end.

Create a (Workbench) Boot Disk

The following command installs a bootsector:

install DF0:

to a diskette inserted in DF0: and it is sufficient to make the Amiga boot to a CLI.

The following commands create the C: command directory and the S: startup directory necessary to get Workbench running:

makedir DF0:s
makedir DF0:c

The LoadWB command from C: must be copied into C::

copy C:LoadWB to DF0:c/

Finally a startup sequence file is created in DF0:s/startup-sequence containing the following commands:


The diskette is now bootable and will load Workbench on startup.

Fixing Hyperion Quake 2 Spin / Turn Issues

Hyperion Quake 2 seems to be incompatible with the "Joystick monitoring" feature of BlitzBlank such that if BlitzBlank is running when Quake 2 is ran, the whole screen / view will spin around as if the turn left or turn right key is being held down. The result is an unplayable mess with a lot of headaches to debug what the culprit may be: clues would indicate some mouse wheel conflicts since "turn left" and "turn right" are by default bound to "mouse wheel up" and "mouse wheel down", after remapping the turn keys further hints are provided by some random error messages shown in-game by Quake stating that some "joy" button is not mapped indicating that some joystick / joypad signal is being generated and picked up by Quake. Diabling FreeWheel, or MultimediaKeyboardMM does not seem to fix the issue and, as it turns out, the joystick monitoring feature of BlitzBlank is somehow generating signals on its own.

The easiest fix is to simply disable the "Joystick-Check" feature of BlitzBlank from BlitzBlankPrefs.

Complete MUI Repack with GlowIcons

The following file contains a Magic User Interface (MUI) distribution with all the available plugins for MUI bundled in.

To use this package, simply replace the old MUI folder with the folder from this bundle and make sure that the S:startup-sequence file contains the MUI section:

if exists "Sys:System/MUI"
   assign MUI: "Sys:System/MUI"
   if exists MUI:Libs
      assign add LIBS: MUI:Libs
   if exists MUI:Locale
      assign add LOCALE: MUI:Locale
   version >nil: exec.library 39
   if not warn
      if exists MUI:Docs
         if exists HELP:dummy ; do not remove
         endif                ; this entry!
         assign add HELP: MUI:Docs

The top-level directory contains a directory named 020+ wherein lies a patch created by RedSkull @ Digital Corruption that patches muimaster.library for 020 or better processors.

The Libs/ sub-directory contains the libraries:

  • date.library
  • imagepool.library
  • mysticview.library
  • vlab.library

that are not part of the standard MUI distribution and are supporting libraries for the various MUI classes that have been bundled. Since the standard MUI assign (from the snippet in the "Installing" section extends the LIBS: directory with MUI:Libs/ then moving these libraries is not necessary and they can be left where they are.

The Libs/ as well as the Libs/mui sub-directories contain duplicated files for various processors. This bundle by default uses the standard 000 files but in case you benefit from a 020 or better processor, feel free to use a file manager and replace the corresponding files by their counterparts. For instance, for a 020 CPU or better, the Libs/mui/ImageDB.mcc file would be replaced by Libs/mui/ImageDB_68020.mcc.

Getting Public Screens to Work on Picasso96

When using RTG graphics with Picasso96, depending on the configuration, the public screens may not work at all such that any program that needs to render onto a separate public screen other than the Workbench screen will be simply inaccessible.

To get public screens working properly on Picasso96 when using RTG graphics, the monitor file has to be edited and the following Picasso96 tooltypes set:

  • DisplayChain=YES - this allows the Amiga signal to be passed through,
  • FakeNativeModes=YES - this allows software that uses public screens to render properly

Even though certain programs may experience issues with screen promotion, an utility such as ModePro will allow the user to promote public screens without the use of the fake native modes built into Picasso96.

Making Elbox FastATA work alongside AmigaOS 3.2

When upgrading to AmigaOS 3.2, the following issues concerning the Elbox FastATA controller are to be observed when the Amiga boots:

  • LoadResident is attempting to patch scsi.device but scsi.device might have been already patched and made resident by the Elbox FastATA driver (ATA3.driver) such that LoadResident has to be run with the DOWNGRADE switch or LoadResident will fail patching scsi.device and skip the rest of the patches.
  • SetPatch fights over scsi.device with the Elbox FastATA driver (ATA3.driver) because SetPatch wants to apply the LED patch, such that SetPatch must be run with the NODRIVELEDPATCH parameter,
  • ATA3.driver can be run after SetPatch and made resident or not

Thus, a working configuration snippet from S:startup-sequence would end up looking like the following (just the sequence and the switches are important):

C:Version exec.library version 47 >NIL:
If Warn
  C:LoadModule L:System-Startup ROMUPDATE DOWNGRADE
If Exists C:ATA3.driver
  C:ATA3.driver QUIET

For good measure, force delete the DEVS:A1200/scsi.device such that the default OS 3.2 scsi.device file does not exist at all:

delete force SYS:Devs/A1200/scsi.device

In case a revert is desired, the SYS:Devs/A1200/scsi.device file can be found on the modules disk of the OS 3.2 distribution.

Get the Full Path to a Directory or File

The NameFromLock AmigaOS function will obtain a fully qualified path to a directory or file:

lock = Lock(file, ACCESS_READ);
path = NameFromLock(lock, buffer, PATH_MAX);
fprintf(stdout, "%s\n", path);

where file can be the relative (or absolute) path to a file or directory.

Speeding Up Quake 1

Quake uses a pak0.pak inside the ID1 directory that contains some of the more basic models, sounds and maps. Cosmos built an alternate pak0.pak made to speed up Quake considerably by removing, updating or fixing some the more demanding assets.

The pak0.pak file just has to be replaced by the new pak0.pak file provided from the archive. In case a version of quake is used that does not use pak0.pak files such as QuakeWOS the PAK file can still be used. The contents of the ID1 folder inside the quake folder must be overwritten with the files from the unpacked pak0.pak file.

Blizzard PPC RAM Settings

The following RAM settings should be made in the BlizzardPPC BIOS (hold ESC on bootup to access the BlizzardPPC BIOS) in order to ensure a stable system:

  • Free Config
  • 68k No Read Waitstate
  • 68k No Write Waitstate
  • 68k PreCharge
  • PPC Read Waitstate
  • PPC Write Waitstate
  • PPC PreCharge

Getting Games to Work and Warp3D Compatibility

The following games manifest various issues ranging from a "white screen", "black screen", unexplained lag to outright crashing from the get-go:

Game Problem
Payback White screen using hardware render or crashing at some point during the game.
The Feeble Files Laggy
Wipeout2027 Laggy and crashes after some time.
Warp3D Demos Gears demos crash after some time.

The solution is to use the Warp3D V4.0 library instead of the most recent Warp3D V5.1.

Fix Quake 1 Error

When starting Quake 1, if Quake crashes and the following error is displayed:

I_Error: Hunk_Alloc: failed on 1544814608bytes

attempt to delete the ID1/glquake folder and restart the game.


fuss/amiga.txt · Last modified: 2022/04/19 09:28 (external edit)

Access website using Tor Access website using i2p Wizardry and Steamworks PGP Key

For the copyright, license, warranty and privacy terms for the usage of this website please see the license, privacy, copyright and the plagiarism pages.