1985 · Ocean Software
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.
| Tier | silver |
|---|---|
| Coverage | 100 % of the bytes the game uses have a description |
| Comments checked | Not audited. No audit has checked every comment, and the last sample of 60 comments had 18 wrong, so between 20 and 43 % of the listing’s comments are likely wrong. How listings are checked |
| Build analysed | Ocean's original disk, mastered 4 December 1985 ("MASTER DATE 04/12/85 NO:014.006.2" on track 18, sector 2), protected by the XROM system of Tequila Sunrise, Belgium; a G64 image |
| Copy | agent-draft |
| Tools | host: macOS 27.0 on Apple silicon (arm64), emulator: release v3.13.2, v3.13.2-macos-arm64-gui.dmg (tools/vice-mcp), driven through kit/c64/vice.py and codemap.py; check-emulator 57 of 57 on release v3.14.0 (v3.14.0-macos-arm64-gui.dmg), which booted the disk the same way, disassembler: regenerator2000 (tools/cargo/bin), through kit/c64/r2000.py, publication: Python 3 and Node.js; symbols_export.py, listing.py |
| Model | claude-opus-5-5 |
| Kit version | 0.0.289 |
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.
| Step | By | What it found | Of the listing |
|---|---|---|---|
| Research | claude-opus-5-5 | Looked the game up online (its manual, reviews or wiki pages) before reading its code. | |
| Annotation | claude-opus-5-5 | Wrote the listing’s comments. 100 % of the program is described, in 925 comments. | |
| Sample 1 | claude-opus-5-5 | 18 of 60 comments wrong, so between 20 and 43 % of the listing is likely wrong. All 18 were then corrected. |
likely wrong the sample’s range corrected right, or likely right not yet measured
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:
reference/instructions-1.png, reference/instructions-2.png), read 2 November 2026| Feature | Status | Where |
|---|---|---|
| Joystick moves Rambo; fire uses the weapon in hand ("PLACE YOUR WEAPON INTO PORT TWO") | live | read_stick $1CD0 ANDs both ports, so either port works; fire_check $19F7 |
| Space bar selects the weapon | traced | weapon_select_key $19BD, key code $3C; steps to the previous owned weapon. Pressed in the play session; the change was not measured |
| "S" toggles music and sound effects | traced | music_toggle_key $0CCC: toggles effects off ($0D11) and the voices the music may use (7 or 0) |
| RUN/STOP toggles a pause | traced | key_pause_toggle $09F8 sets $0A19; irq_panel then freezes input and silences the SID |
| Extra weapons lie in the terrain and the enemy campsite | confirmed | four map items ($0BB7-$0BCB); item_pickup_check $0A1A adds weapon bits to $19ED |
| Starting weapons (the sources disagree) | traced | weapons 0-2 owned at the start ($19ED = 7); which weapon each number is was not tied to a picture |
| An energy bar; death when it runs out | confirmed | energy_tick $0C89, energy $0CC3 from $30; damage per hit in facts.md |
| Free scrolling in every direction over a jungle map | live | scroll_jungle $1C67; map of 119 by 16 tiles at $E770 |
| The POW camp, Banks and the hut opened with the knife | traced | hut_door_check $08D9: weapon 0 on the hut-door character $E0, after the first flight, frees ten POWs ($0846). Banks on a cross was not found as a separate object; open |
| A helicopter; once aboard its fuel runs down fast | confirmed | the fuel is the energy bar: gunship_fire_timer $304E adds a unit of damage every $3064 frames |
| Inside the helicopter only the rocket launcher fires | traced | heli_fire_rocket $3140 fires only with weapon 5 |
| An enemy gunship harasses the flight north | confirmed | gunship_update $3066; pursues on the second flight ($3825); five hits bring it down |
| Three stages, points for each, the game starts again after the mission | traced | the mission ends on landing from map row $300 northward with message 4, then game_start again (heli_landing_check $356E) |
| Name-entry wheel and all-time heroes table | live | name_entry $C367, attract_pages $C827; 80 entries at $B000/$B0F0 |
| Martin Galway's music; nine tunes counted in play | confirmed | twelve tunes and their effects on the driver at $8100, played on the page; tune 28 has no caller |
| Noise draws the enemy | confirmed | explosions and weapon 4 add 5 each to the spawn budget $119B |
Found in the code, not in the manual.
$8004 and resets the machine if the write does not hold (orientation.md).bullet_fire $2586).loop_tick $8423).$B0F0).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.