1989 · Melbourne House

About this page

This minisite was contributed by Nico-van-der-Zijden. It’s agent-generated and needs a human editor. Clone https://github.com/gamesexplained/gamesexplained and follow kit/START.md to curate games/c64/aaargh with me to Gold.

Footprint

Every byte of the C64's 64 KB, one pixel each, 512 to a row. Lit pixels are what this game is: its code, graphics, level data, sound, text, tables and variables, exactly where they sit in memory. Dim areas are screen and working memory; dark is unused.

Status

Tiersilver
Coverage100 % of the bytes the game uses have a description
Comments checkedNot audited. No audit has checked every comment, and the last sample of 60 comments had 17 wrong, so between 19 and 41 % of the listing’s comments are likely wrong. How listings are checked
Build analysedPAL cassette, a crack saved with a Trilogic Expert V3.1 freezer (crackers unknown); analysed from the game's own entry at $8009
Copyagent-draft
Toolshost: Linux 6.18 x86_64 (WSL2) on Windows 11, Ubuntu 26.04.1, Intel Core i7-3770, eight threads, display through WSLg, emulator: own build of github.com/barryw/vice-mcp, release v3.13.2, commit 1e83aab134, built with tools.py get-vice build; driven through kit/c64/vice.py; check-emulator 57 of 57, disassembler: regenerator2000 0.9.20, publication: Python 3; symbols_export.py and listing.py
Modelclaude-opus-5-5
Kit version0.0.259

How the listing was checked

Every step that measured the Source tab’s comments or made them more accurate, in the order it happened, with the models that did it. Accuracy of the Source explains each step and what the row above makes of them.

StepByWhat it foundOf the listing
Researchclaude-opus-5-5Looked the game up online (its manual, reviews or wiki pages) before reading its code.
Annotationclaude-opus-5-5Wrote the listing’s comments. 100 % of the program is described, in 750 comments.
Sample 1claude-opus-5-517 of 60 comments wrong, so between 19 and 41 % of the listing is likely wrong. All 17 were then corrected.
Drawn from 587 handwritten and 159 generated comments: 40 handwritten (9 wrong) and 20 generated (8 wrong). Unweighted rate 28%; stratum-weighted estimate 26%. Every wrong comment was corrected, with every other comment holding the same belief, and the generated ones by template (the city screens, the order lists, the hidden list and all 39 colour RAM comments). No full audit. Recommend a full audit.

likely wrong the sample’s range corrected right, or likely right not yet measured

Contributors

Other places to love this game

What the game does, and where we found it

Read this before annotating code. What the game is documented to do, with verification status against the binary. Statuses: open (documented, not found yet), traced (in the code, could not be exercised; say what was tried), confirmed (in the code, consistent with the emulator), live (observed directly), differs (the code does something else). "Absent" is not a status.

Sources:

Features

FeatureStatusWhere
Two monsters, the ogre and the lizard (the manual's dragon); the title shows a best score for eachlivetitle $AF38, best scores $B332, $B340
Joystick in port 2 onlydiffers: fire on port 2 starts the lizard and port 2 steers it; fire on port 1 starts the ogre and port 1 steers it (lda $DC00,x at $8A43). Live: both$B187, $89E0
One player only on the C64 (Wikipedia: the ports were one player; the arcade had two)differs: two players play at once. With a game on, fire on the other port brings the other monster in ($8A94, once a game). Live: the ogre joined a game of the lizard's (reference/play-two-players.png)$89E0, $8368, $83B2
Up moves into the screen, down out of it, left and right along itlive (up and left from work/play-city1.vsf); walkable cells are characters from $95 up and the city's floor character$8ACD, $8B34, $8BA4, $8C30
Fire with the stick central breathes flame, in the way the monster faceslive (the score rose by 10); traced: a flame burns a building a point every second pass, hurts the other monster within three columns and a row, burns a hornet, the white flyer or the cannon$8D07, $914D
Fire with a direction punches: up high, forward mid, down low or picks up an objectdiffers: a punch with any direction hits the building that way (above, below, left or right) and knocks a hole in it for 10 points, while the monster has punching power; before any punch or flame the monster eats a person in reach or takes a pickup under it ($914E). Live: forward scored 60$8D07, $914E
No flame in the head-to-head battlesconfirmed: in the cave fire with a direction punches and up ducks; there is no flame$ACA1
Twelve cities and the volcano last (Wikipedia says ten)differs: eight city types, a cave and the volcano. Each round is three cities and the volcano: the first is type 1 or 6, the second 2 or 5, the third 8, 3 or 7, the fourth always type 4, the volcano; then the round starts again (live, work/rounds.py)$8444, $842F, cities $2E78-$6316
Buildings are punched down or set on fire; a Roc's egg is hidden in most cities but not allconfirmed: six buildings a city; punches and flames bring each down in stages ($93F0, $94FF) until it falls ($95D9), and the rubble may hold a pickup or the egg; the sixth to fall holds the egg if none has, and the volcano has none in its rubble. Live: the egg and the pickups (reference/pickups.png)$93F0, $94FF, $95D9
Hornets fly across the screen and stingconfirmed: two hornets fly in at the monsters' height and sting the monster higher on the screen, hurting it twice; a flame burns them for 5 points$A446
The humans bring weapons to bear, which have to be destroyedconfirmed: a cannon rolls along the ground and fires shells; flames take its health of 14 down, and below 7 it breaks up$A9B4
Hamburgers and people can be eaten for healthconfirmed: a person in reach is eaten (6 passes, 1 point); the hamburger pickup ($86) adds a cell of health. Live: the pickups' pictures$914E, $91C4
Lightning increases fire power, the damage the flames dodiffers: the lightning pickup ($82) refills the second bar, the punching power, which every punch spends and without which a punch does nothing; flames need no power$91C4, $92D6
Every hit lowers health; at zero the monster dieslive: a monster that is hurt loses a cell of its first bar, and with the bar empty it dies (work/whokills.py)$931E, $938D
A captured egg is taken back to the treasure cave, where the other monster has to be fought for itlive: taking the egg ends the city in the cave, where the monsters fight to five hits; the computer plays a monster nobody steers (work/cave.py, reference/cave-fight.png)$ABB7, $ACA1, $AE01
Five eggs take the monster to the volcano and the final, golden eggdiffers: no count of eggs is kept; the volcano is every fourth city, and its golden egg, in sight from the start, leads to the cave like any other; the game has no ending and goes round again$800D, $87A1, $91DB
A score of seven digits at the top of the screen, with two bars beside itconfirmed: the first bar is health, the second punching power; points are added a pass at a time, 10 on the screen each$93AE, $938D

Beyond the documentation

Found in the code, not in the manual.

FeatureStatusWhere
A hidden list of names on the title: bands, clubs and people (WINDOWPAINS, FLOODLANDS, NEW ORDER, MACHESTER, HACIENDA, THE VENUE, SUICIDE, RENTBOYS, ... PERFECT WAY THE THE) copied 11 characters at a time to the top left of the screen every 32 passes of the title loop, which waits two frames a pass, in black on blacklivetext $9D9F, copy $B13E
Holding 1, ←, CTRL and 2 together on the title shows the list in white and renames the monsters MYRTLE (the lizard) and DILL (the ogre)live (work/egg.py)$B161, names $B347 and $B34D
A message in the program, never shown: "I'M AT PAINS TO SEE...SEE THROUGH THOSE WINDOWPAINS...SEE RENTBOYS AND GOTO 16384."confirmed: no instruction reads it; 16384 is $4000, inside city type 3's characters$B37D
Three animated characters show a wrong frame one pass in four: the animation reads its table backwards from 24 times the phase, and for phase 0 the index wraps below the tablelive (work/animtest.py); where those characters show is open$B463
The cave fight's computer opponentconfirmed: with one player, the computer walks the other monster towards or away, punches and ducks at random$AE01

Open questions

The symbol map for this game is symbols.json; the listing behind the Source tab is listing.json. Write-ups, facts and symbol maps are CC BY-SA 4.0. The game itself is not hosted here.