docs(amiga): complete AmigaOS 3.1/3.2 developer reference — 172 files across 17 sections
Comprehensive technical documentation covering:
- Hardware: OCS/ECS/AGA custom chip registers, Copper & Blitter deep dives
- Boot sequence: cold boot through startup-sequence
- Binary format: HUNK executable spec, relocation, debug info
- Linking & ABI: .fd files, LVO tables, register calling conventions
- Exec kernel: tasks, interrupts, memory, signals, semaphores
- AmigaDOS: file I/O, FFS/OFS layout, CLI/Shell scripting
- Graphics: planar bitmaps, Copper programming, HAM/EHB modes
- Intuition: screens, windows, IDCMP, BOOPSI
- Devices: trackdisk, SCSI, serial, timer, audio, keyboard
- Libraries: utility, expansion, IFFParse, locale, ARexx
- Networking: bsdsocket API, SANA-II, TCP/IP stack comparison
- Toolchain: GCC, vasm/vlink, SAS/C, NDK, debugging
- Reverse engineering: IDA/Ghidra setup, compiler fingerprints, case studies
- CPU & MMU: 68040/060 emulation libs, PMMU, cache management
- Driver development: SANA-II, Picasso96/RTG, AHI audio
All files include breadcrumb navigation. No local paths or proprietary content.
2026-04-23 12:16:52 -04:00
|
|
|
[← Home](../README.md) · [References](README.md)
|
|
|
|
|
|
Expand documentation suite: 30+ articles enriched with diagrams, code examples, and hardware details
Graphics: text_fonts (bitmap layout, styles), sprites (DMA, multiplexing), gfx_base (chipset detection), rastport (draw modes, clipping), ham_ehb (mermaid fixes), display_modes (HAM palettes)
Devices: scsi (per-model interfaces, Gayle limits, CD-ROM, native vs vendor drivers), console (ANSI sequences, CON:/RAW:), parallel (CIA registers, pinout), timer (resource exhaustion), gameport (quadrature, XOR state)
Libraries: workbench (WBStartup, AppWindow/Icon/MenuItem), rexxsyslib (ARexx port hosting, command parsing), diskfont (font directory, colour fonts), keymap (rawkey codes, dead keys), locale (catalogue system, date formatting), layers (ClipRect, refresh types), utility (TagItem chains), icon (DiskObject, ToolTypes), iffparse (IFF structure, ByteRun1), expansion (Zorro AutoConfig)
Networking: tcp_ip_stacks (major rewrite - Amiga vs Unix architecture, SANA-II pipeline, PPP/SLIP dial-up, Ethernet cards, MiSTer), bsdsocket (pure API ref), sana2 (buffer hooks, driver requirements), protocols (all code examples). Deduplicated overlap between the three files.
Toolchain: debugging (Enforcer patterns, SnoopDOS, GDB remote, kprintf checklist), sasc (pragma encoding, __saveds idioms), stormc (NEW - StormC IDE, C++, PowerPC)
References: error_codes (DOS, Exec, trackdisk, Intuition error tables)
Driver development: rtg_driver (Native driver analysis, P96 tuning)
All 22 README indexes updated. Root README synced with stormc.md entry.
2026-04-23 21:37:26 -04:00
|
|
|
# Error Codes — Complete Reference
|
docs(amiga): complete AmigaOS 3.1/3.2 developer reference — 172 files across 17 sections
Comprehensive technical documentation covering:
- Hardware: OCS/ECS/AGA custom chip registers, Copper & Blitter deep dives
- Boot sequence: cold boot through startup-sequence
- Binary format: HUNK executable spec, relocation, debug info
- Linking & ABI: .fd files, LVO tables, register calling conventions
- Exec kernel: tasks, interrupts, memory, signals, semaphores
- AmigaDOS: file I/O, FFS/OFS layout, CLI/Shell scripting
- Graphics: planar bitmaps, Copper programming, HAM/EHB modes
- Intuition: screens, windows, IDCMP, BOOPSI
- Devices: trackdisk, SCSI, serial, timer, audio, keyboard
- Libraries: utility, expansion, IFFParse, locale, ARexx
- Networking: bsdsocket API, SANA-II, TCP/IP stack comparison
- Toolchain: GCC, vasm/vlink, SAS/C, NDK, debugging
- Reverse engineering: IDA/Ghidra setup, compiler fingerprints, case studies
- CPU & MMU: 68040/060 emulation libs, PMMU, cache management
- Driver development: SANA-II, Picasso96/RTG, AHI audio
All files include breadcrumb navigation. No local paths or proprietary content.
2026-04-23 12:16:52 -04:00
|
|
|
|
Expand documentation suite: 30+ articles enriched with diagrams, code examples, and hardware details
Graphics: text_fonts (bitmap layout, styles), sprites (DMA, multiplexing), gfx_base (chipset detection), rastport (draw modes, clipping), ham_ehb (mermaid fixes), display_modes (HAM palettes)
Devices: scsi (per-model interfaces, Gayle limits, CD-ROM, native vs vendor drivers), console (ANSI sequences, CON:/RAW:), parallel (CIA registers, pinout), timer (resource exhaustion), gameport (quadrature, XOR state)
Libraries: workbench (WBStartup, AppWindow/Icon/MenuItem), rexxsyslib (ARexx port hosting, command parsing), diskfont (font directory, colour fonts), keymap (rawkey codes, dead keys), locale (catalogue system, date formatting), layers (ClipRect, refresh types), utility (TagItem chains), icon (DiskObject, ToolTypes), iffparse (IFF structure, ByteRun1), expansion (Zorro AutoConfig)
Networking: tcp_ip_stacks (major rewrite - Amiga vs Unix architecture, SANA-II pipeline, PPP/SLIP dial-up, Ethernet cards, MiSTer), bsdsocket (pure API ref), sana2 (buffer hooks, driver requirements), protocols (all code examples). Deduplicated overlap between the three files.
Toolchain: debugging (Enforcer patterns, SnoopDOS, GDB remote, kprintf checklist), sasc (pragma encoding, __saveds idioms), stormc (NEW - StormC IDE, C++, PowerPC)
References: error_codes (DOS, Exec, trackdisk, Intuition error tables)
Driver development: rtg_driver (Native driver analysis, P96 tuning)
All 22 README indexes updated. Root README synced with stormc.md entry.
2026-04-23 21:37:26 -04:00
|
|
|
## DOS Error Codes
|
docs(amiga): complete AmigaOS 3.1/3.2 developer reference — 172 files across 17 sections
Comprehensive technical documentation covering:
- Hardware: OCS/ECS/AGA custom chip registers, Copper & Blitter deep dives
- Boot sequence: cold boot through startup-sequence
- Binary format: HUNK executable spec, relocation, debug info
- Linking & ABI: .fd files, LVO tables, register calling conventions
- Exec kernel: tasks, interrupts, memory, signals, semaphores
- AmigaDOS: file I/O, FFS/OFS layout, CLI/Shell scripting
- Graphics: planar bitmaps, Copper programming, HAM/EHB modes
- Intuition: screens, windows, IDCMP, BOOPSI
- Devices: trackdisk, SCSI, serial, timer, audio, keyboard
- Libraries: utility, expansion, IFFParse, locale, ARexx
- Networking: bsdsocket API, SANA-II, TCP/IP stack comparison
- Toolchain: GCC, vasm/vlink, SAS/C, NDK, debugging
- Reverse engineering: IDA/Ghidra setup, compiler fingerprints, case studies
- CPU & MMU: 68040/060 emulation libs, PMMU, cache management
- Driver development: SANA-II, Picasso96/RTG, AHI audio
All files include breadcrumb navigation. No local paths or proprietary content.
2026-04-23 12:16:52 -04:00
|
|
|
|
Expand documentation suite: 30+ articles enriched with diagrams, code examples, and hardware details
Graphics: text_fonts (bitmap layout, styles), sprites (DMA, multiplexing), gfx_base (chipset detection), rastport (draw modes, clipping), ham_ehb (mermaid fixes), display_modes (HAM palettes)
Devices: scsi (per-model interfaces, Gayle limits, CD-ROM, native vs vendor drivers), console (ANSI sequences, CON:/RAW:), parallel (CIA registers, pinout), timer (resource exhaustion), gameport (quadrature, XOR state)
Libraries: workbench (WBStartup, AppWindow/Icon/MenuItem), rexxsyslib (ARexx port hosting, command parsing), diskfont (font directory, colour fonts), keymap (rawkey codes, dead keys), locale (catalogue system, date formatting), layers (ClipRect, refresh types), utility (TagItem chains), icon (DiskObject, ToolTypes), iffparse (IFF structure, ByteRun1), expansion (Zorro AutoConfig)
Networking: tcp_ip_stacks (major rewrite - Amiga vs Unix architecture, SANA-II pipeline, PPP/SLIP dial-up, Ethernet cards, MiSTer), bsdsocket (pure API ref), sana2 (buffer hooks, driver requirements), protocols (all code examples). Deduplicated overlap between the three files.
Toolchain: debugging (Enforcer patterns, SnoopDOS, GDB remote, kprintf checklist), sasc (pragma encoding, __saveds idioms), stormc (NEW - StormC IDE, C++, PowerPC)
References: error_codes (DOS, Exec, trackdisk, Intuition error tables)
Driver development: rtg_driver (Native driver analysis, P96 tuning)
All 22 README indexes updated. Root README synced with stormc.md entry.
2026-04-23 21:37:26 -04:00
|
|
|
Full reference in [error_handling.md](../07_dos/error_handling.md). Summary of the most commonly encountered:
|
docs(amiga): complete AmigaOS 3.1/3.2 developer reference — 172 files across 17 sections
Comprehensive technical documentation covering:
- Hardware: OCS/ECS/AGA custom chip registers, Copper & Blitter deep dives
- Boot sequence: cold boot through startup-sequence
- Binary format: HUNK executable spec, relocation, debug info
- Linking & ABI: .fd files, LVO tables, register calling conventions
- Exec kernel: tasks, interrupts, memory, signals, semaphores
- AmigaDOS: file I/O, FFS/OFS layout, CLI/Shell scripting
- Graphics: planar bitmaps, Copper programming, HAM/EHB modes
- Intuition: screens, windows, IDCMP, BOOPSI
- Devices: trackdisk, SCSI, serial, timer, audio, keyboard
- Libraries: utility, expansion, IFFParse, locale, ARexx
- Networking: bsdsocket API, SANA-II, TCP/IP stack comparison
- Toolchain: GCC, vasm/vlink, SAS/C, NDK, debugging
- Reverse engineering: IDA/Ghidra setup, compiler fingerprints, case studies
- CPU & MMU: 68040/060 emulation libs, PMMU, cache management
- Driver development: SANA-II, Picasso96/RTG, AHI audio
All files include breadcrumb navigation. No local paths or proprietary content.
2026-04-23 12:16:52 -04:00
|
|
|
|
Expand documentation suite: 30+ articles enriched with diagrams, code examples, and hardware details
Graphics: text_fonts (bitmap layout, styles), sprites (DMA, multiplexing), gfx_base (chipset detection), rastport (draw modes, clipping), ham_ehb (mermaid fixes), display_modes (HAM palettes)
Devices: scsi (per-model interfaces, Gayle limits, CD-ROM, native vs vendor drivers), console (ANSI sequences, CON:/RAW:), parallel (CIA registers, pinout), timer (resource exhaustion), gameport (quadrature, XOR state)
Libraries: workbench (WBStartup, AppWindow/Icon/MenuItem), rexxsyslib (ARexx port hosting, command parsing), diskfont (font directory, colour fonts), keymap (rawkey codes, dead keys), locale (catalogue system, date formatting), layers (ClipRect, refresh types), utility (TagItem chains), icon (DiskObject, ToolTypes), iffparse (IFF structure, ByteRun1), expansion (Zorro AutoConfig)
Networking: tcp_ip_stacks (major rewrite - Amiga vs Unix architecture, SANA-II pipeline, PPP/SLIP dial-up, Ethernet cards, MiSTer), bsdsocket (pure API ref), sana2 (buffer hooks, driver requirements), protocols (all code examples). Deduplicated overlap between the three files.
Toolchain: debugging (Enforcer patterns, SnoopDOS, GDB remote, kprintf checklist), sasc (pragma encoding, __saveds idioms), stormc (NEW - StormC IDE, C++, PowerPC)
References: error_codes (DOS, Exec, trackdisk, Intuition error tables)
Driver development: rtg_driver (Native driver analysis, P96 tuning)
All 22 README indexes updated. Root README synced with stormc.md entry.
2026-04-23 21:37:26 -04:00
|
|
|
| Code | Constant | Description |
|
|
|
|
|
|---|---|---|
|
|
|
|
|
| 103 | `ERROR_INSUFFICIENT_FREE_STORE` | Out of memory |
|
|
|
|
|
| 114 | `ERROR_BAD_TEMPLATE` | Command-line template parse error |
|
|
|
|
|
| 121 | `ERROR_FILE_NOT_OBJECT` | Not a valid executable |
|
|
|
|
|
| 202 | `ERROR_OBJECT_IN_USE` | File/dir locked by another process |
|
|
|
|
|
| 203 | `ERROR_OBJECT_EXISTS` | File already exists (can't create) |
|
|
|
|
|
| 204 | `ERROR_DIR_NOT_FOUND` | Directory path not found |
|
|
|
|
|
| 205 | `ERROR_OBJECT_NOT_FOUND` | File not found |
|
|
|
|
|
| 209 | `ERROR_ACTION_NOT_KNOWN` | Packet type not supported by handler |
|
|
|
|
|
| 210 | `ERROR_INVALID_COMPONENT_NAME` | Illegal character in filename |
|
|
|
|
|
| 212 | `ERROR_OBJECT_WRONG_TYPE` | e.g., tried to Enter a file |
|
|
|
|
|
| 213 | `ERROR_DISK_NOT_VALIDATED` | Disk not yet validated after insert |
|
|
|
|
|
| 214 | `ERROR_DISK_WRITE_PROTECTED` | Write-protected media |
|
|
|
|
|
| 216 | `ERROR_DIRECTORY_NOT_EMPTY` | Can't delete non-empty directory |
|
|
|
|
|
| 218 | `ERROR_DEVICE_NOT_MOUNTED` | Device/volume not mounted |
|
|
|
|
|
| 221 | `ERROR_DISK_FULL` | No free space |
|
|
|
|
|
| 222 | `ERROR_DELETE_PROTECTED` | File has delete protection |
|
|
|
|
|
| 223 | `ERROR_WRITE_PROTECTED` | File has write protection |
|
|
|
|
|
| 224 | `ERROR_READ_PROTECTED` | File has read protection |
|
|
|
|
|
| 225 | `ERROR_NOT_A_DOS_DISK` | Unrecognised disk format |
|
|
|
|
|
| 226 | `ERROR_NO_DISK` | No disk in drive |
|
|
|
|
|
| 232 | `ERROR_NO_MORE_ENTRIES` | End of directory scan (ExNext) |
|
|
|
|
|
| 233 | `ERROR_IS_SOFT_LINK` | Object is a soft link |
|
|
|
|
|
| 303 | `ERROR_BUFFER_OVERFLOW` | Buffer too small |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Exec Device Errors
|
|
|
|
|
|
|
|
|
|
Returned in `io_Error` field of IORequest:
|
|
|
|
|
|
|
|
|
|
| Code | Constant | Description |
|
|
|
|
|
|---|---|---|
|
|
|
|
|
| 0 | — | Success |
|
|
|
|
|
| -1 | `IOERR_OPENFAIL` | OpenDevice failed |
|
|
|
|
|
| -2 | `IOERR_ABORTED` | I/O request was AbortIO'd |
|
|
|
|
|
| -3 | `IOERR_NOCMD` | Command not supported by this device |
|
|
|
|
|
| -4 | `IOERR_BADLENGTH` | Invalid length parameter |
|
|
|
|
|
| -5 | `IOERR_BADADDRESS` | Invalid address parameter |
|
|
|
|
|
| -6 | `IOERR_UNITBUSY` | Unit is busy (exclusive access) |
|
|
|
|
|
| -7 | `IOERR_SELFTEST` | Hardware self-test failure |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Trackdisk / SCSI Errors
|
|
|
|
|
|
|
|
|
|
| Code | Constant | Description |
|
|
|
|
|
|---|---|---|
|
|
|
|
|
| 20 | `TDERR_NotSpecified` | General hardware error |
|
|
|
|
|
| 21 | `TDERR_NoSecHdr` | Sector header not found |
|
|
|
|
|
| 22 | `TDERR_BadSecPreamble` | Bad sector preamble |
|
|
|
|
|
| 23 | `TDERR_BadSecID` | Bad sector ID |
|
|
|
|
|
| 24 | `TDERR_BadHdrSum` | Header checksum error |
|
|
|
|
|
| 25 | `TDERR_BadSecSum` | Sector checksum error |
|
|
|
|
|
| 26 | `TDERR_TooFewSecs` | Too few sectors found |
|
|
|
|
|
| 27 | `TDERR_BadSecHdr` | Bad sector header |
|
|
|
|
|
| 28 | `TDERR_WriteProt` | Disk is write protected |
|
|
|
|
|
| 29 | `TDERR_DiskChanged` | Disk was changed |
|
|
|
|
|
| 30 | `TDERR_SeekError` | Seek error |
|
|
|
|
|
| 31 | `TDERR_NoMem` | Not enough memory |
|
|
|
|
|
| 32 | `TDERR_BadUnitNum` | Invalid unit number |
|
|
|
|
|
| 33 | `TDERR_BadDriveType` | Bad drive type |
|
|
|
|
|
| 34 | `TDERR_DriveInUse` | Drive in use |
|
|
|
|
|
| 35 | `TDERR_PostReset` | Post-reset error |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Intuition/Workbench Error Codes
|
|
|
|
|
|
|
|
|
|
| Value | Meaning |
|
|
|
|
|
|---|---|
|
|
|
|
|
| 0 | Success |
|
|
|
|
|
| 1 | Not enough memory |
|
|
|
|
|
| 2 | No chip memory |
|
|
|
|
|
| 3 | No free store |
|
|
|
|
|
| 4 | Screen too big |
|
|
|
|
|
| 5 | No screen |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## References
|
|
|
|
|
|
|
|
|
|
- NDK39: `dos/dos.h`, `exec/errors.h`, `devices/trackdisk.h`
|
|
|
|
|
- See: [error_handling.md](../07_dos/error_handling.md) — DOS error handling patterns
|