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