Skip to content

Latest commit

 

History

History
209 lines (157 loc) · 6.14 KB

File metadata and controls

209 lines (157 loc) · 6.14 KB

Index

Concept-to-chapter mapping for Coding the Impossible. Boldface indicates the primary treatment; plain text indicates significant mention.


A

AABB collision detection --- Ch19, Ch21 ADL mode (eZ80 24-bit addressing) --- Ch15, Ch22 Agon Light 2 --- Ch01, Ch02, Ch11, Ch15, Ch18, Ch22 ApLib (compression) --- Ch14 Arpeggio (AY technique) --- Ch11 Asynchronous frame generation --- Ch12 Attribute area ($5800--$5AFF) --- Ch02, Ch08, Ch09, Ch10 Attribute clash --- Ch02, Ch08, Ch16 AY-3-8910 (PSG) --- Ch11, Ch12, Ch15, Ch21

B

Backface culling --- Ch05 Bank switching (128K) --- Ch15, Ch21 Beta Disk 128 --- Ch15, Ch20 Border colour profiling --- Ch01, Ch02, Ch03, Ch08, Ch18 Bresenham line drawing --- Ch04 Buzz-bass (AY technique) --- Ch11

C

Chaos zoomer --- Ch09, Ch12 Code generation (runtime) --- Ch03, Ch06, Ch07, Ch09 Compiled sprites --- Ch03, Ch16 Compression benchmark (10 compressors) --- Ch14 Contended memory --- Ch01, Ch04, Ch05, Ch15, Ch17, Ch22, Ch23 Cross-product (backface test) --- Ch05

D

Dark (X-Trade) --- Ch01, Ch04, Ch05, Ch06, Ch07, Ch10 Demoscene workflow --- Ch20 DeZog (VS Code debugger) --- Ch01, Ch23 Dice Legends (DenisGrachev) --- Ch03 Digital drums --- Ch12 Dirty rectangles --- Ch08, Ch16, Ch21 DivMMC --- Ch15, Ch20 Dotfield scroller --- Ch10 Double buffering --- Ch05, Ch08, Ch10, Ch12 DOWN_HL (screen pointer advance) --- Ch02, Ch16, Ch17, Ch23

E

Eager (demo, Introspec) --- Ch02, Ch03, Ch09, Ch10, Ch12 Edge detection (input) --- Ch18 Entity system (game architecture) --- Ch18, Ch19, Ch21 Envelope generator (AY) --- Ch11, Ch12 Exomizer (compression) --- Ch14 eZ80 CPU --- Ch01, Ch15, Ch22

F

Fixed-point arithmetic --- Ch04, Ch05, Ch18, Ch19 Fixed vs variable frame rate --- Ch18 FLASH bit (attribute) --- Ch02 Floating bus --- Ch15 Four-fold symmetry --- Ch09 Frame budget --- Ch01, Ch04, Ch05, Ch08, Ch10, Ch12, Ch16, Ch17, Ch18, Ch21

G

GABBA (demo, diver4d) --- Ch12 GLUF engine (DenisGrachev) --- Ch08 Gravity (platformer physics) --- Ch19

H

Hrust1 (compression) --- Ch14, Ch20 Hype (demoscene platform) --- Ch01, Ch06, Ch07, Ch08, Ch09, Ch12, Ch23

I

Illusion (demo, X-Trade) --- Ch01, Ch04, Ch05, Ch06, Ch07, Ch10, Ch23 IM2 interrupt --- Ch03, Ch05, Ch11, Ch12 Insertion sort (Z-sorting) --- Ch05 Interleaved screen layout --- Ch02, Ch07, Ch16, Ch17, Ch22 Introspec --- Ch01, Ch02, Ch03, Ch04, Ch05, Ch06, Ch07, Ch09, Ch10, Ch12, Ch15, Ch23

J

Jump table dispatch (state machine) --- Ch18

K

Kempston joystick --- Ch18 kWORK command (demo engine) --- Ch09, Ch12

L

LDI chain --- Ch03, Ch07, Ch09 LDPUSH (multicolor technique) --- Ch08 Line drawing (Dark's matrix method) --- Ch04 Lo-Fi Motion (demo) --- Ch20 Logarithmic division --- Ch04, Ch05 Lookup table --- Ch03, Ch04, Ch07, Ch09, Ch17, Ch19, Ch22 Luma Fusion (sync workflow) --- Ch12 LZ4 (compression) --- Ch14

M

Machine cycle (M-cycle) --- Ch01 Makefile (build system) --- Ch01, Ch20, Ch21 MegaLZ (compression) --- Ch14 Memory map (game) --- Ch21 Memory map (demo) --- Ch12, Ch20 Midpoint method (3D vertex derivation) --- Ch05 MinZ / mza (language + assembler) --- Ch23 Mixer register (AY R7) --- Ch11 MOS (Agon OS) --- Ch18, Ch22 Multicolor (attribute rewriting) --- Ch08

N

n1k-o (musician) --- Ch09, Ch12 NFO / file_id.diz --- Ch20 Noise generator (AY) --- Ch11 Antique Toy (companion demo) --- Ch23

O

Object pool (entity slots) --- Ch18, Ch19 Old Tower (game, DenisGrachev) --- Ch08 Ornament (AY modulation) --- Ch11

P

Page-aligned table --- Ch04, Ch06, Ch07, Ch09, Ch10 Painter's algorithm (Z-sorting) --- Ch05 Parabolic sine approximation --- Ch04, Ch05, Ch06, Ch09 Pentagon 128 --- Ch01, Ch04, Ch05, Ch08, Ch11, Ch15, Ch16, Ch17, Ch18, Ch19, Ch20, Ch21, Ch22 Perspective projection --- Ch05 Plasma effect --- Ch01, Ch02, Ch09, Ch12, Ch13 Port $7FFD (paging) --- Ch08, Ch12, Ch15, Ch21 Port $FE (border/keyboard) --- Ch01, Ch02, Ch11, Ch18 Pro Tracker 3 / .pt3 format --- Ch11, Ch12 PUSH trick (stack output) --- Ch03, Ch07, Ch08, Ch10, Ch16

R

RET-chaining --- Ch03 Ring buffer (frame buffer) --- Ch12 Ringo engine (DenisGrachev) --- Ch08 Rotation matrix (sequential axis) --- Ch04, Ch05 Rotozoomer --- Ch07, Ch09, Ch23

S

Scanline timing --- Ch01, Ch08, Ch15, Ch17 Scorpion ZS-256 --- Ch04, Ch11, Ch15, Ch20 Scripting engine (demo) --- Ch09, Ch12, Ch20 Self-modifying code (SMC) --- Ch03, Ch06, Ch07, Ch09, Ch10, Ch13, Ch16, Ch17, Ch22, Ch23 Shadow screen --- Ch08, Ch10, Ch15, Ch21 Shift-and-add multiply --- Ch04, Ch05 Size-coding --- Ch13 sjasmplus (assembler) --- Ch01, Ch14, Ch20, Ch21, Ch23 Skip tables (sphere geometry) --- Ch06 Sound effects (procedural) --- Ch11 Spectrum Expert (magazine) --- Ch01, Ch04, Ch05, Ch06, Ch10, Ch11 Sphere effect (texture-mapped) --- Ch06 Split counters (screen traversal) --- Ch02 Sprites (six rendering methods) --- Ch16 Square-table multiply --- Ch04, Ch05, Ch07 State machine (game states) --- Ch18, Ch21

T

T-states --- see Timing & Performance in Glossary Tilemap collision --- Ch19 TR-DOS --- Ch15, Ch20 Tunnel effect (attribute-based) --- Ch09, Ch12, Ch13 TurboSound (2×AY) --- Ch11, Ch15, Ch20

U

ULA --- Ch01, Ch02, Ch08, Ch15 Unrolled loops --- Ch02, Ch03, Ch07, Ch10, Ch16, Ch17

V

VDP (Agon video processor) --- Ch02, Ch11, Ch15, Ch18, Ch22 Virtual processor (bytecode) --- Ch05 Vortex Tracker II --- Ch11, Ch12

W

WAYHACK (demo, Robus) --- Ch12

X

X-Trade (demo group) --- Ch01, Ch04, Ch05, Ch06, Ch07, Ch10

Z

Z80 threading (IM2-based) --- Ch12 Zapilator --- Ch09 ZX Spectrum Next --- Ch11, Ch15 ZX0 (compression) --- Ch14, Ch20


For definitions, see glossary.md. For chapter contents, see book-outline.md.