Ilia Sharin
aa72007e48
Added ATA/ATAPI article - dramatic story as always
2026-06-02 23:48:29 -04:00
Ilia Sharin
b915524667
docs: Document CDFS architecture and handler ecosystem
...
- Add comprehensive cdfs.md covering ISO 9660, UDF, handlers, and hardware.
- Update relevant section indexes (07_dos, 10_devices, 02_boot_sequence) and root README.
- Expand scsi.md to link to the new CDFS coverage.
2026-06-02 22:38:38 -04:00
Ilia Sharin
36b2ea8af3
Fixed section numeration
2026-06-02 12:27:43 -04:00
Ilia Sharin
a1137ebfab
Since GitHub strips any embedded - we have to use separate files
2026-06-02 12:23:37 -04:00
Ilia Sharin
4746804d8c
HTML span colors replaced with embedded PNGs
2026-06-02 12:14:09 -04:00
Ilia Sharin
9b1e170439
kickstart-boot-diagnostics: HTML color swatches, 12-bit conversion table, fix dead link
...
- Replace emoji color squares with HTML <span> swatches using exact
Amiga 12-bit to 24-bit RGB conversion (nibble x 17)
- Add 12-bit to 24-bit Color Conversion reference section with nibble
lookup table, formula, and worked examples for all diagnostic colors
- Include AGA 24-bit color note (LOCT bypass, diagnostics use 12-bit)
- Remove emojis from Mermaid diagram node labels (incompatible)
- Fix dead Big Book of Amiga Hardware link -> wordpress.hertell.nu
- Add AmigaLove Boot Color Checklist as supplementary reference
2026-06-02 12:08:55 -04:00
Ilia Sharin
97b4cb26cc
Kickstart boot diagnostics article added
2026-06-02 11:57:54 -04:00
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
Ilia Sharin
a0fc3e05db
Restructure - dedicated for copper and blitter separate subfolders to have the room to expand
2026-05-31 13:52:45 -04:00
Ilia Sharin
616add20cf
Add Scoopex YouTube tutorial and Amiga Graphics Archive references to sprites.md
2026-05-13 18:23:00 -04:00
Ilia Sharin
f8f8d1c834
docs(amiga): add Tier 4 content — AHI, cross-compilation, RTG, demoscene section
...
- New: 11_libraries/ahi_programming.md — AHI retargetable audio API
- New: 13_toolchain/cross_compilation_guide.md — cross-compiling for Amiga
- New: 08_graphics/rtg_programming.md — RTG Picasso96/CyberGraphX programming
- New: 17_demoscene/ — full demoscene techniques section:
- copper_effects.md (6 techniques, 10 Pouet screenshots, antipatterns)
- sprite_techniques.md (5 techniques, antipatterns)
- pixel_tricks.md (5 techniques, antipatterns)
- 3d_rendering.md (fixed-point math, 4 techniques, antipatterns)
- timing_optimization.md (7 techniques, instruction timing tables)
- README.md (section index with Mermaid diagrams)
- images/ (10 authentic Amiga screenshots from Pouet.net)
- New: 05_reversing/games/ (4 copper-analysis screenshots)
- Updated: README index, TODO status (30/30 complete)
- Added external references: Pouet/Demozoo links, Scoopex YouTube
tutorial series, Amiga Graphics Archive, coppershade.org
2026-05-13 17:49:28 -04:00
Ilia Sharin
7e327e6640
docs: update TODO.md — Tiers 1-3 fully complete, 26/30 done (87%)
2026-05-13 12:14:23 -04:00
Ilia Sharin
27cad8128d
docs: expand final 3 Tier 3 articles + update all README indexes
...
Articles expanded:
- gadgets.md: 403→804 lines — 5 antipatterns, GadTools→BOOPSI migration,
form cookbook, historical timeline, modern analogies, 6 FAQ
- screens.md: 582→992 lines — decision guide, 5 antipatterns, screen
flipping/borderless/PAL-NTSC cookbooks, historical comparison, 7 FAQ
- custom_loaders_and_drm.md: 152→500 lines — bootblock structure,
6 DRM systems, 5 antipatterns, trackloader cookbook, cracking scene
history, modern analogies, 7 FAQ
README indexes updated in 6 sections to reflect expanded content.
2026-05-12 23:02:22 -04:00
Ilia Sharin
fa8ce16936
docs(amiga): fix README navigation indexes, add missing entries, and update Tier 3 statuses
2026-05-12 22:18:43 -04:00
Ilia Sharin
7960cbdf25
docs: minor updates to zorro_bus, game_reversing, expansion
2026-05-12 22:04:26 -04:00
Ilia Sharin
9f5d9de1ed
docs: expand 7 Tier 3 articles to Deep quality
...
- gcc_amiga.md: 101→606 lines — pipeline, Docker, platform builds, flags, antipatterns, FAQ
- trackdisk.md: 178→428 lines — MFM encoding, 16-command reference, antipatterns, FPGA impact
- console.md: 244→470 lines — decision guide, TUI/progress cookbooks, antipatterns, pitfalls
- layers.md: 224→739 lines — ClipRect engine, LVO API, backfill hooks, 4 antipatterns, optimization
- text_fonts.md: 215→708 lines — ColorFont, Compugraphic outlines, 3 cookbooks, 4 antipatterns
- windows.md: 370→778 lines — 5 antipatterns, decision guide, 3 cookbooks, modern analogies
- menus.md: 378→695 lines — render chain diagram, 5 antipatterns, lifecycle cookbook, 6 FAQ
2026-05-12 22:04:16 -04:00
Ilia Sharin
ab88118dc1
docs: change license from MIT to CC BY-SA 4.0
2026-05-12 20:42:01 -04:00
Stefan
ef65678203
Fixed frame again ( #2 )
...
* Fixed frame again
Correct vtable layout differences between GCC and StormC++.
* Fixed frame once again
2026-05-12 19:16:07 -04:00
Ilia Sharin
05e4c79762
Merge pull request #1 from polluks/patch-1
...
Fixed frame
2026-05-09 23:05:37 -04:00
Stefan
89a7bb6782
Fixed frame
2026-05-02 16:38:49 +02:00
Ilia Sharin
cdc18c4ae3
Bus and memory updates
2026-04-30 11:15:34 -04:00
Ilia Sharin
f11d9a2882
Video timings
2026-04-30 10:55:09 -04:00
Ilia Sharin
a83d89ce22
Sprites and DMA
2026-04-30 10:34:52 -04:00
Ilia Sharin
f19e3f16b5
Autoconfig and more details about expansion library
2026-04-30 09:00:24 -04:00
Ilia Sharin
b01763982e
More interesting hot stuff!
2026-04-29 23:18:55 -04:00
Ilia Sharin
0aafceb31e
More information. Especially about RE and AREXX automation
2026-04-29 21:42:28 -04:00
Ilia Sharin
05452c6c12
More information added
2026-04-27 18:34:07 -04:00
Ilia Sharin
a383d4c065
docs(amiga): Mermaid syntax fixes, 68040 FPU elaboration, Gayle trapezoid→quoted, gcc toolchain integration
2026-04-27 17:29:29 -04:00
Ilia Sharin
a59d8350b3
More content
2026-04-27 12:42:42 -04:00
Ilia Sharin
9b0dfbcf32
Timer content improved
2026-04-26 23:06:26 -04:00
Ilia Sharin
cb14c243b6
Views content update
2026-04-26 17:38:01 -04:00
Ilia Sharin
d977480a69
Audio article expanded
2026-04-26 17:14:39 -04:00
Ilia Sharin
371d3d551c
FPU dramatic story added
2026-04-26 16:29:28 -04:00
Ilia Sharin
9f82b35efd
Added diskfont details
2026-04-26 15:29:06 -04:00
Ilia Sharin
8133b3a6cb
More content added
2026-04-26 14:46:18 -04:00
Ilia Sharin
5fac29ccd5
collapse large C2P assembly listing with <details> toggle
2026-04-25 17:36:13 -04:00
Ilia Sharin
d514ccc4e8
rename 15_cpu_and_mmu → 15_fpu_mmu_cache; elaborate why 68040/060 instructions were removed with pros/cons tradeoff table; move Software That Uses the MMU catalog before FPGA/Emulation
2026-04-25 17:29:22 -04:00
Ilia Sharin
a0e21dc366
Chunky-2-Planar article improvements
2026-04-25 16:27:10 -04:00
Ilia Sharin
2eb8321d00
Minor fixes in layout and indexing
2026-04-25 14:58:33 -04:00
Ilia Sharin
a5b49d073f
Peripherals and models description improved and expanded
2026-04-25 14:51:45 -04:00
Ilia Sharin
94fb74680f
memory_types: add segue to address_space.md from memory type table
2026-04-25 14:15:57 -04:00
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
Ilia Sharin
26dfed8b44
docs(amiga): fix Quartz Composer typo and add hyperlink
2026-04-24 16:19:47 -04:00
Ilia Sharin
ea2869b8b9
docs(amiga): expand animation guide with GEL architecture, hardware foundation, and historical context
2026-04-24 16:16:21 -04:00
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
Ilia Sharin
0ded078134
Phase 1 continued: serial, input devices + README indexes
...
10_devices:
- serial.md: expanded with DB-25 pinout, custom chip UART registers,
baud rate calculation table, open/configure/read/write patterns,
serial debugging (KPrintF/Sushi)
- input.md: expanded with handler chain architecture diagram,
InputEvent struct, event classes table, qualifier bits, custom
handler with key remapping, event consumption/blocking,
synthetic event injection, Commodities Exchange
Updated indexes:
- 07_dos/README.md — enriched descriptions for all files
- 10_devices/README.md — enriched descriptions for all files
2026-04-23 20:28:03 -04:00
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
Ilia Sharin
aeaea88d75
03/exe_crunchers: expand architecture with full decrunch lifecycle
...
Replaced the brief 'key insight' paragraph with a comprehensive
two-phase execution model covering:
- Phase 1 (OS): what LoadSeg sees, how wrapper relocations are applied
- Phase 2 (stub): all 6 reconstruction steps with code examples:
1. Metadata block preserving original hunk count/sizes/memflags
2. Chip vs Fast RAM allocation (with IMPORTANT warning about
DMA-invisible Fast RAM for bitmap/audio data)
3. Decompression into separately allocated hunks
4. Relocation regeneration from embedded tables
5. BPTR segment chain construction (with C code)
6. Wrapper cleanup and JMP to original entry
- The segment list handoff problem (double-free hazard) and the
three solutions: pr_SegList patching, chain linking, in-place
2026-04-23 18:50:46 -04:00
Ilia Sharin
4593ff135a
03: new article — exe_crunchers.md (executable packers deep dive)
...
New comprehensive article on Amiga executable crunchers covering:
- Architecture: how crunched files remain valid HUNK executables
- Major crunchers: PowerPacker, Imploder, Shrinkler, ByteKiller,
Titanics, CrunchMania, PackFire, XPK framework
- PP20 format: efficiency table, decrunch info, decrunch colours
- Shrinkler internals: 1536-context adaptive probability model,
range coder, parity context flag, stack-based context table,
actual 68000 decompressor source from GitHub
- LZ77/LZSS vs context-modelling+range-coding algorithms
- Relocation handling: 3 strategies (compressed relocs, delta
table, merged single-hunk)
- Memory layout diagrams: before/during/after decompression
- Detection: magic signatures table, fake header warning,
Python scanner script
- Tools: xfdmaster modular architecture, Ancient C++ library,
debugger-based extraction (last resort)
- FPGA/emulation impact: timing, self-modifying code, cache
Based on web research: verified PP20 format spec, Shrinkler
source (askeksa/Shrinkler), Ancient library (temisu/ancient),
xfdmaster slave module architecture.
Updated indexes: 03/README.md, root README.md
2026-04-23 18:41:07 -04:00
Ilia Sharin
7df1f11f15
03/04: deep enrichment of loader/exec format and linking/libraries
...
Sections 03 and 04 augmented to bootcamp quality with targeted
enrichment based on content analysis (not just file size).
03_loader_and_exec_format:
- overlay_system.md: full rewrite — tree architecture diagram,
HUNK_OVERLAY binary format, overlay manager runtime internals,
worked binary example, linker support, modern alternatives
- hunk_relocation.md: full rewrite — visual before/after diagram,
patching algorithm with code, RELOC32SHORT and DREL32 formats,
PC-relative impact comparison table, self-referencing relocs,
error scenarios, Python reloc scanner tool
04_linking_and_libraries:
- library_structure.md: full rewrite — ASCII memory layout diagram,
JMP table encoding (why 6 bytes), MakeLibrary internals with both
function array formats, complete library creation example with
.fd file, checksum verification, lifecycle state diagram
- shared_libraries_runtime.md: full rewrite — OpenLibrary 4-step
resolution path, ramlib disk loader internals, disk search path,
version negotiation table (v33-v47), CloseLibrary/Expunge deep
dive, memory-low sweep, common pitfalls table
- register_conventions.md: full rewrite — FPU register map,
inter-library A6 save/restore pattern, small-data model with
__saveds keyword, varargs/TagItem pattern deep dive,
stack-based wrapper explanation, disassembly identification
Updated indexes:
- 03_loader_and_exec_format/README.md
- 04_linking_and_libraries/README.md
- Root README.md (sections 03 and 04)
2026-04-23 18:30:45 -04:00