amiga-bootcamp/10_devices
Ilia Sharin da9e7d3b63 Phase 1: enrich 07_dos and 10_devices (highest FPGA priority)
07_dos:
- file_io.md: 108→240+ lines — buffered I/O (FRead/FWrite/SetVBuf),
  access mode comparison, FileHandle struct with offsets, standard
  handles, Printf %ld warning, FileInfoBlock, practical patterns
  (copy file, get size, load to RAM), error code table
- filesystem.md: 91→270+ lines — full disk geometry (ADF/HDF),
  all 8 DOS\x filesystem IDs, root block byte-level layout, file
  header layout with reverse-order pointer quirk, OFS vs FFS data
  blocks with efficiency numbers, bitmap blocks, extension blocks,
  checksum algorithm, Python ADF reader
- locks_examine.md: 113→270+ lines — lock semantics diagram, FileLock
  struct with handler discovery, ExAll bulk scan, practical patterns
  (atomic write, path resolution, volume info), 4 antipatterns
  (leaked locks, exclusive too long, unchecked IoErr, DupLock),
  pattern matching

10_devices:
- audio.md: 73→240+ lines — hardware architecture diagram, channel
  registers with offsets, period/frequency table, priority allocation,
  double-buffering, audio interrupts, AM/PM modulation, direct HW
- timer.md: 80→230+ lines — CIA timer hardware, all 5 units with
  decision flowchart, non-blocking delays, signal-based waiting,
  time arithmetic, ReadEClock, periodic game loop pattern, pitfalls
- trackdisk.md: 82→210+ lines — MFM encoding, track format, disk
  geometry, read/write/motor, change notification, track caching,
  direct hardware access, FPGA timing implications
- keyboard.md: 58→220+ lines — CIA-A serial handshake protocol with
  sequence diagram, bit rotation quirk, complete key code map,
  key matrix bitmap, reset sequence, FPGA notes
2026-04-23 20:23:50 -04:00
..
audio.md Phase 1: enrich 07_dos and 10_devices (highest FPGA priority) 2026-04-23 20:23:50 -04:00
console.md docs(amiga): complete AmigaOS 3.1/3.2 developer reference — 172 files across 17 sections 2026-04-23 12:17:35 -04:00
gameport.md docs(amiga): complete AmigaOS 3.1/3.2 developer reference — 172 files across 17 sections 2026-04-23 12:17:35 -04:00
input.md docs(amiga): make cross-references clickable markdown links 2026-04-23 12:24:21 -04:00
keyboard.md Phase 1: enrich 07_dos and 10_devices (highest FPGA priority) 2026-04-23 20:23:50 -04:00
parallel.md docs(amiga): complete AmigaOS 3.1/3.2 developer reference — 172 files across 17 sections 2026-04-23 12:17:35 -04:00
README.md docs(amiga): complete AmigaOS 3.1/3.2 developer reference — 172 files across 17 sections 2026-04-23 12:17:35 -04:00
scsi.md docs(amiga): complete AmigaOS 3.1/3.2 developer reference — 172 files across 17 sections 2026-04-23 12:17:35 -04:00
serial.md docs(amiga): complete AmigaOS 3.1/3.2 developer reference — 172 files across 17 sections 2026-04-23 12:17:35 -04:00
timer.md Phase 1: enrich 07_dos and 10_devices (highest FPGA priority) 2026-04-23 20:23:50 -04:00
trackdisk.md Phase 1: enrich 07_dos and 10_devices (highest FPGA priority) 2026-04-23 20:23:50 -04:00

← Home

Devices — Overview

Section Index

File Description
trackdisk.md trackdisk.device — floppy I/O
scsi.md scsi.device / 2nd.scsi.device — hard disk I/O
serial.md serial.device — RS-232
parallel.md parallel.device — Centronics
timer.md timer.device — timing and delays
audio.md audio.device — DMA audio channels
keyboard.md keyboard.device — keyboard events
gameport.md gameport.device — joystick/mouse
input.md input.device — event merging
console.md console.device — text terminal I/O