mirror of
https://github.com/alfishe/amiga-bootcamp.git
synced 2026-06-12 16:16:28 +00:00
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.
93 lines
3.4 KiB
Markdown
93 lines
3.4 KiB
Markdown
[← Home](../README.md) · [References](README.md)
|
|
|
|
# Error Codes — Complete Reference
|
|
|
|
## DOS Error Codes
|
|
|
|
Full reference in [error_handling.md](../07_dos/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](../07_dos/error_handling.md) — DOS error handling patterns
|