amiga-bootcamp/14_references/error_codes.md
Ilia Sharin f61c26b542 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

3.4 KiB

← Home · References

Error Codes — Complete Reference

DOS Error Codes

Full reference in error_handling.md. Summary of the most commonly encountered:

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 — DOS error handling patterns