amiga-bootcamp/08_graphics
Ilia Sharin 2283178f09 Add Copper ISA Complete Reference Manual
New file: 08_graphics/copper/copper_reference.md
- Full instruction set reference with opcode encoding table
- Bit-level encoding for MOVE, WAIT, SKIP (7-bit masks)
- Beam position encoding: V counter (8-bit), H counter (7-bit)
- Copper control registers (COP1LC, COP2LC, COPJMP, COPCON, DMACON)
- Copper list structure, dual lists, SKIP-based double buffering
- DMA timing budget calculations per scanline
- Register reference for all copper-writable targets
- OCS/ECS/AGA differences (AGA 24-bit color via BPLCON3 LOCT)
- Programming models: bare metal, OS-friendly UCopList, self-modifying
- Common patterns: rainbow, split screen, status bar, sprite mux
- Debugging: 8 common pitfalls with symptoms and fixes
- Mermaid fetch-execute cycle diagram

Updated files:
- 08_graphics/README.md: add copper_reference.md to index
- 08_graphics/copper/copper.md: cross-reference link, fix MOVE/WAIT
  encoding, fix UCopList CMOVE syntax
- 08_graphics/copper/copper_programming.md: cross-reference link, fix
  horizontal resolution (2 color clocks, not 4)
2026-06-01 14:39:43 -04:00
..
blitter Restructure - dedicated for copper and blitter separate subfolders to have the room to expand 2026-05-31 13:52:45 -04:00
copper Add Copper ISA Complete Reference Manual 2026-06-01 14:39:43 -04:00
animation.md More content added 2026-04-26 14:46:18 -04:00
bitmap.md Restructure - dedicated for copper and blitter separate subfolders to have the room to expand 2026-05-31 13:52:45 -04:00
blitter.md docs(amiga): complete AmigaOS 3.1/3.2 developer reference — 172 files across 17 sections 2026-04-23 12:17:35 -04:00
blitter_programming.md docs(amiga): add Tier 4 content — AHI, cross-compilation, RTG, demoscene section 2026-05-13 17:49:28 -04:00
copper.md More content added 2026-04-26 14:46:18 -04:00
copper_programming.md docs(amiga): add Tier 4 content — AHI, cross-compilation, RTG, demoscene section 2026-05-13 17:49:28 -04:00
display_modes.md Restructure - dedicated for copper and blitter separate subfolders to have the room to expand 2026-05-31 13:52:45 -04:00
gfx_base.md Restructure - dedicated for copper and blitter separate subfolders to have the room to expand 2026-05-31 13:52:45 -04:00
ham_ehb_modes.md More content added 2026-04-26 14:46:18 -04:00
pixel_conversion.md More content added 2026-04-26 14:46:18 -04:00
rastport.md Restructure - dedicated for copper and blitter separate subfolders to have the room to expand 2026-05-31 13:52:45 -04:00
README.md Add Copper ISA Complete Reference Manual 2026-06-01 14:39:43 -04:00
rtg_programming.md docs(amiga): add Tier 4 content — AHI, cross-compilation, RTG, demoscene section 2026-05-13 17:49:28 -04:00
sprites.md Add Scoopex YouTube tutorial and Amiga Graphics Archive references to sprites.md 2026-05-13 18:23:00 -04:00
text_fonts.md Restructure - dedicated for copper and blitter separate subfolders to have the room to expand 2026-05-31 13:52:45 -04:00
views.md Restructure - dedicated for copper and blitter separate subfolders to have the room to expand 2026-05-31 13:52:45 -04:00

← Home

Graphics Subsystem — Overview

The Amiga graphics system is built on custom DMA-driven hardware (Agnus/Alice + Denise/Lisa) managed through graphics.library. It supports planar bitmaps, hardware sprites, a Copper display coprocessor, and a Blitter for fast 2D operations. Three chipset generations (OCS → ECS → AGA) expanded resolution, color depth, and bandwidth.

Section Index

File Description
gfx_base.md GfxBase structure, chipset detection (OCS/ECS/AGA), PAL/NTSC, display pipeline (MakeVPort/MrgCop/LoadView), blitter queue
bitmap.md BitMap structure, planar layout, allocation
display_modes.md Full chipset comparison, ModeID selection flowchart, CRT vs flat-panel, interlace/progressive tradeoffs, named antipatterns, FPGA/MiSTer impact, historical context, modern analogies, FAQ
ham_ehb_modes.md HAM6/HAM8 encoding pipeline, EHB half-brite, fringing, palette programming, FPGA decoder logic
copper.md Copper coprocessor, instruction format, UCopList
copper_programming.md Copper deep dive: architecture, copper list construction, gradient and raster effects
copper_reference.md Copper ISA complete reference: full encoding, control registers, timing, register map, debugging
blitter.md Blitter DMA engine, minterms, BltBitMap
blitter_programming.md Blitter deep dive: minterms, cookie-cut masking, line draw, fill mode
sprites.md Hardware sprites: DMA engine, data format, attached 15-color sprites, multiplexing, AGA enhancements, priority control
rastport.md RastPort drawing context: draw modes, patterns, layer clipping, text pipeline, blitter minterms
views.md View + ViewPort pipeline: 3-stage Mermaid diagram, ViewPort chaining (split screens), ColorMap/LoadRGB4, named antipatterns, Copper vs Views decision flowchart, modern GPU analogies
text_fonts.md TextFont bitmap layout, baseline rendering, algorithmic styles, AvailFonts, ColorTextFont, Compugraphic outlines, font scaling, 3 cookbooks, 4 antipatterns, 6 FAQ
pixel_conversion.md Chunky ↔ Planar conversion deep dive: naive, merge/butterfly (Kalms), Copper Chunky, Akiko hardware, Blitter-assisted, RTG bypass, SoA/AoS theory, GPU swizzle modern parallels
animation.md GEL system deep dive: BOBs, VSprites, AnimObs, hardware foundation (Blitter/Copper/Sprite interaction), collision detection, double buffering, performance tuning
rtg_programming.md Retargetable Graphics (CyberGraphX/Picasso96): LockBitMapTags VRAM access, pixel formats, double buffering, bus bandwidth, 16-card catalog, 5 antipatterns, dirty-rect optimization, modern analogies, 6 FAQ