1987 · Ocean

About this page

This minisite was contributed by air, unorig. It’s agent-generated and needs a human editor. Clone https://github.com/gamesexplained/gamesexplained and follow kit/START.md to curate games/c64/platoon with me to Gold.

The copy studied

The PAL disk, both sides. Side 1 holds the first section (OVL1); side 2 holds the three section programs O1, O2 and O3 and their loaders LAY1 to LAY3. Each program is read from memory at the moment its loader hands over to it.

Original game credits

The roles below are from the game's title screen and credits.

Site contributors

Other places to love this game

Sources

  1. Wikipedia, Platoon (1987 video game), seen through a web search on 15 October 2026: Zzap!64's 94% for the Commodore 64 version.

Research record

The write-up, facts and symbol map are available under CC BY-SA 4.0; code is under MIT. The game image itself is not hosted here.

Version, coverage and tools
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 15 wrong, so between 16 and 37 % of the listing’s comments are likely wrong. How listings are checked
Build analysedPAL disk, side 1 OVL1 at its hand-over to $0400
Copyagent-draft
Toolshost: Linux x86_64 (Ubuntu 24.04 container), emulator: release v3.13.2, v3.13.2-linux-x86_64-gui.zip, disassembler: regenerator2000 0.9.20, publication: Python 3; symbols_export.py and listing.py
Modelclaude-opus-5-5[1m]
Kit version0.0.165

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-5[1m]Looked the game up online (its manual, reviews or wiki pages) before reading its code.
Annotationclaude-opus-5-5[1m]Wrote the listing’s comments.
Sample 1claude-opus-5-5[1m]15 of 60 comments wrong, so between 16 and 37 % of the listing is likely wrong. All 15 were then corrected.
Annotationclaude-opus-5-5[1m]Wrote the listing’s comments. 100 % of the program is described, in 3,358 comments.
the last section's unused routines typed as code and described, among them a game of Space Invaders; load 3's attack pictures at $B200 described where an exclusion had called them an old end screen; leftovers excluded with the reason

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

What the game does, and how it was checked

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:

  • Web search result summaries, read 7 October 2026. The session's network refused every page fetch (C64-Wiki, Lemon64 and Wikipedia all answered 403), so these are second-hand. The summaries quote the C64-Wiki page (c64-wiki.com), a Commodore User review (everygamegoing.com) and Wikipedia's page on the game. Used for plain claims only; anything else is from the game's own screens and text.
  • The game's own screens: loading screen, title and credits, high scores, the jungle with its status panel, the CHOOSE YOUR MAN panel (reference/).
  • The game's own messages, found by the string sweep (parts/load1/facts.md).

Features

FeatureStatusWhere
Six sections after the film, loaded in pairs from tape: the jungle and the village, the tunnels and the bunker, a second jungle and the foxholedifferson disk: load1 the jungle and village, load3 the tunnels and the dugout, load4 the jungle maze and Barnes's bunker; load2 is a second copy of the first section on side 2 (facts.md)
Jungle: find the explosives and blow up the bridge so the patrol cannot followtracedmessages YOU HAVE FOUND THE EXPLOSIVES, SET THE EXPLOSIVES ON THE BRIDGE, WELL DONE ! THE BRIDGE HAS BLOWN UP, YOU SHOULD HAVE DESTROYED THE BRIDGE in the table at $C7FD; the code that shows them not yet read
Village: search the huts for a torch and a map, and find the trapdoor to the tunnelstracedmessages for each find and YOU MUST FIND A MAP AND A TORCH, DO YOU WISH TO GO DOWN [Y/N] at $C7FD; the Y and N keys are tested at $B019 and $B023
Two huts hold booby trapstracedmessage WATCH OUT FOR THE VIET CONG BOOBY TRAP at $C7FD
Shooting unarmed villagers lowers moraletracedmessage YOU SHOULD NOT KILL INNOCENT VILLAGERS for a figure of kind 5 (load1 $1F06); a morale change of its own was not found in the hit code $2D4B
Tunnels: find the flares and the compass for later sectionstracedload3: room objects $19D1; the exit needs both ($0C89) and leads to the dugout
The platoon is five men, effectively five liveslivethe CHOOSE YOUR MAN panel lists 001 to 005, each with an ammunition and a grenade row (reference/choose-your-man.png)
Morale falls with each hittraced$BD56: three points, four below 43; MORALE bar and HITS in the status panel (reference/play-jungle.png)
Status panel: ammunition, morale, score, hits, the current manlivereference/play-jungle.png
Joystick: left and right walk, down ducks, up or up diagonally jumps, fire shootstraced$0D30, $0F17, $0FAA, $0EA7, $0DE2, $123C; port 2 is read into $0306 at $0D3D; walking right was seen live, the rest not tested
Push up inside a hut to search ittracedup at a hut door marks the contact ($0DE2), and $CC8D shows what the place holds
Up and down pass through gaps in the bushestracedladders and climbs: $293F, $2A72 move the map three rows
SPACE throws a hand grenadetraced$14B9 tests SPACE and calls $BD31, which takes one from the count at $BD55 and blanks its icon in the panel; one press in the jungle snapshot changed nothing visible, not followed up
F1 to F7 switch between the mentraced$080A tests F1, F3, F5 and F7 and calls $BFB8 for each
Turn the disk over after the first loadtracedmessage TURN THE DISK OVER TO SIDE B and PRESS FIRE TO LOAD NEXT SECTION at $C7FD; load of LAY2 at $3DDE
Ten best scores, with name entrylivethe table shows after the title (reference/high-scores.png); ENTER YOUR NAME at $A9F4; the starting table at $FEFE

Beyond the documentation

FeatureStatusWhere
Holding Z, A, C, H and 1 together makes the collision test of the soldier against a list of other figures return at once; N undoes itlive (the byte), open (the effect)$07B5 writes $60 over $2BC8, $EA back with N. Live on 7 October 2026: $2BC8 went from $EA to $60 with the five keys held. What the skipped check leads to ($2CB7) is not read yet, so $2BC8 is the only test of being caught or shot by the enemy, so neither can kill him; traps and the bridge still can (discoveries.html)
P sets a flag, G clears ittraced$1E55 writes 1 or 0 to $0C85; while set the main loop skips the play routines: a pause
RUN/STOP leaves playtraced$0893 jumps to $A709 with RUN/STOP held: the game-over path
The opening line THE FIRST CASUALTY OF WAR IS INNOCENCEtracedthe film's tagline, in the messages at $A9F4 with ENTERING THE COMBAT ZONE
NTSC v1.1 only: keys 0, 9, 8 and 7 move the soldier to fixed places in the junglelive$0832 in the NTSC build; not in the PAL build (orientation.md, "The three versions")
A complete game of Space Invaders that nothing startsliveload4 $28E2: three shields, four rows of six invaders, one shot and falling bombs; started by setting the program counter on 22 October 2026 (reference/hidden-invaders.png, discoveries.html)
The search finds ordinary things tootracedA SACK OF FLOUR, A STOOL, A TABLE, A POT OF RICE, A POT OF WATER, RUBBISH, PROVISIONS, EMPTY at $C7FD

Open questions

  • What opens the CHOOSE YOUR MAN panel when no man is lost: twice it opened by itself about eight seconds into the jungle. $BFB8 opens it on a lost man.
Memory footprint

Every byte of the C64's 64 KB, one pixel each, 512 to a row. Lit pixels are code, graphics, level data, sound, text, tables and variables; dim areas are screen and working memory.

This game is in 4 parts, and the map is of one of them: Jungle and village. The Source tab has the listing of each part that has one.

Each part of the game has its own symbol map and listing: Jungle and village, symbols.json and listing.json; Jungle and village from side 2 (O1), symbols.json and listing.json; Tunnels and the dugout (O2), symbols.json and listing.json; The jungle and Barnes's bunker (O3), symbols.json and listing.json.