flowchart TB
KB["Keyboard
ROM 028E"] --> PL
PL["Player engine
80D3 / 8D9A"]
AN["Ant engine
8BD1"]
GR["Grenade
entity 7"]
PL <--> CITY
AN <--> CITY
GR <--> CITY
PL -.->|"position"| AN
PL -->|"throw"| GR
GR -->|"sleep = 255"| AN
AN -->|"bite"| MSG
CITY[("City map
C000 · 16 KB")]
CITY --> CULL["Cull → window
B180 · 672 B"]
CULL --> BLK["Stamp blocks"]
ENT[("Entities
B480 · 8 × 16 B")] --> SPR["Blit sprites"]
PL --> ENT
AN --> ENT
BLK --> BUF
SPR --> BUF
BUF[("Buffer
A000 · 4 KB")] -->|"LDIR"| SCR["Screen
4000"]
MSG["Message printer
8E02"] --> SCR
VAR[("Score & ammo
B420")] -->|"code 7E"| MSG
GR --> VAR