amiga-bootcamp/10_devices
Ilia Sharin c4522ef2ed Add memory types article, expand blitter cookbook, update cross-references
New articles:
- 01_hardware/common/memory_types.md: comprehensive Chip/Fast/Slow RAM reference
  with DMA accessibility matrix, per-model configurations (A500-A4000),
  accelerator memory expansion (classic + modern), adaptive software behavior,
  pitfalls with impact analysis, FPGA/emulation notes
- AGENTS.md: documentation standards and methodology guidelines

Blitter programming (08_graphics/blitter_programming.md):
- Rewrote minterm truth table with narrative explanation and worked  example
- Added 7 advanced use cases with assembly/C code: shifted BOB, hardware scroll,
  area fill polygon, interleaved bitplane BOBs, double-buffered game loop,
  GUI window drag, tile map renderer
- Added Good/Bad Patterns section with 5 named antipatterns
- Added Practical Limitations table (10 constraints with workarounds)
- Expanded Common Minterms table with Description and Real-World Use Case columns

Cross-reference updates:
- Root README: added memory types to coverage, quick start, section index
- 01_hardware/README: updated common/ folder description
- address_space.md: linked to memory_types.md and chip_ram_expansion.md
- memory_management.md (exec): linked to hardware memory types reference
- bitmap.md, sprites.md, animation.md, audio.md: linked to memory_types.md
  explaining DMA Chip RAM requirement for each subsystem
- chip_ram_expansion.md: linked to comprehensive memory types article
2026-04-25 14:12:46 -04:00
..
audio.md Add memory types article, expand blitter cookbook, update cross-references 2026-04-25 14:12:46 -04:00
console.md Expand documentation suite: 30+ articles enriched with diagrams, code examples, and hardware details 2026-04-23 21:37:26 -04:00
gameport.md Expand documentation suite: 30+ articles enriched with diagrams, code examples, and hardware details 2026-04-23 21:37:26 -04:00
input.md Phase 1 continued: serial, input devices + README indexes 2026-04-23 20:28:03 -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 Expand documentation suite: 30+ articles enriched with diagrams, code examples, and hardware details 2026-04-23 21:37:26 -04:00
README.md Expand documentation suite: 30+ articles enriched with diagrams, code examples, and hardware details 2026-04-23 21:37:26 -04:00
scsi.md Expand documentation suite: 30+ articles enriched with diagrams, code examples, and hardware details 2026-04-23 21:37:26 -04:00
serial.md Phase 1 continued: serial, input devices + README indexes 2026-04-23 20:28:03 -04:00
timer.md Expand documentation suite: 30+ articles enriched with diagrams, code examples, and hardware details 2026-04-23 21:37:26 -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

Amiga devices are shared libraries with an exec I/O request interface. They provide standardised access to hardware peripherals via OpenDevice/CloseDevice and DoIO/SendIO patterns.

Section Index

File Description
trackdisk.md Floppy disk DMA: MFM encoding, track format, disk geometry, track caching, direct HW access
scsi.md Hard disk/CD-ROM I/O: per-model interfaces, Gayle bandwidth limits, native vs vendor drivers, HD_SCSICMD, CD-ROM commands, TD64/NSD 64-bit
serial.md UART/RS-232: CIA registers, baud rate calculation, serial debugging (KPrintF)
parallel.md Centronics parallel port: CIA-A Port B mapping, hardware pinout, direct register access
timer.md CIA timers, E-clock, VBlank: delays, ReadEClock, periodic patterns, signal multiplexing, resource exhaustion
audio.md 4-channel DMA audio: hardware registers, priority allocation, double-buffering, modulation
keyboard.md CIA-A serial handshake, raw key codes, key matrix, reset sequence, FPGA protocol notes
gameport.md Joystick/mouse port: quadrature decoding, XOR state, fire buttons, controller types
input.md Input handler chain: priority dispatch, event classes, key remapping, Commodities Exchange
console.md Text terminal I/O: ANSI escape sequences, cursor/colour control, raw key events, CON:/RAW: handlers