1985 · Mastertronic

About this page

This minisite was contributed by air. It’s agent-generated and needs a human editor. Clone https://github.com/gamesexplained/gamesexplained and follow kit/START.md to curate games/c64/kane 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 14 wrong, so between 14 and 35 % of the listing’s comments are likely wrong. How listings are checked
Build analysedMastertronic cassette, 1985 (Ultimate Tape Archive Kane.tap, SHA-256 d6c066a6cdc3380026ace9cd5ecd7c4af98cf90851fb48b3b23777b328c48093)
Copyagent-draft
Toolsemulator: release v3.13.2, v3.13.2-linux-x86_64-gui.zip, disassembler: regenerator2000 0.9.20, host: Linux x86_64 (Ubuntu 24.04.5, cloud container)
Modelclaude-opus-5-5[1m]
Kit version0.0.236

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. 100 % of the program is described, in 645 comments.
Sample 1claude-opus-5-5[1m]14 of 60 comments wrong, so between 14 and 35 % of the listing is likely wrong. All 14 were then corrected.
60 comments drawn from 643, checked by a fresh agent against the code; one more doubtful and left as it was; about 60 others that shared the wrong ones' beliefs were corrected with them
Port checkclaude-opus-5-5[1m]Checked a page’s port or widget against the game and corrected 4 comments it showed wrong.
the pictures, courses, samples, tune, effects, score counting and bonuses, by test_pictures.js, test_samples.js, test_music.js and test_score.js

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
Title screen: "Press Fire To Start", "F1 For Practice", "F7 For Score Table", "Previous Score", and a credits line that changes (design and programming John Darnell; graphics J. Darnell, N. Baikaloff, J. Porch; a Mastertronic presentation)livetitle_screen $3250, credit_line $3E6B
Practice: F1 asks "LEVEL 1 2 OR 3 ?", then offers F1 bow and arrow, F3 horse ride 1, F5 shoot out, F7 horse ride 2livepractice_menu $336C
Score table on F7 ("Hall of Fame and Worth", initials and score)liveshow_hall_of_fame $3C9D, fame_entries $8C74
Joystick in port 2 only (inlay)confirmed: every stage reads CIA 1 port A, $DC00$35FD, irq_ride_control $2A25
Stage 1, the canyon: shoot migrating ducks with a bow and arrow; the stick moves an aiming cross, fire shoots (wiki)liveduck_loop $1950
Ten arrows at the start (wiki); the status line shows ten arrow marks between "Birdies Killed" and "Birdies Home"livestart_ducks $11D1, draw_arrows $1E31
A hit duck gives the arrow back; one arrow through two ducks gives two (wiki, review)confirmed for the arrow given back, up to ten; traced for two ducks: each duck that touches the arrow is hit and gives an arrow back, and the arrow stays where it is while a hit duck falls; two ducks on one arrow not tried livemove_duck $1BC3, move_arrow $1B5C
A peace token (a life) for every few ducks: three on level 1, four on level 2, five on level 3 (wiki)confirmedstart_ducks $11D1, move_duck $1BC3
The arrow flies faster the steeper it is shot (wiki hint)confirmed: the step is the distance to the sight over 8 when the sight is less than 112 pixels to the archer's left, over 16 when it is furtherduck_loop $1950
The stage ends when the arrows run out (review)confirmed, and also when 39 ducks have got home$1AEF
Stage 2, ride to Kane: ride against a time limit ("Time Remaining 1.58 Minutes", "Distance To Go 4.00 Miles" shown), fire jumps bushes and stones; a mistimed jump costs a token (inlay, wiki, review)live for the ride and its status lines; confirmed for the token lost at a fallride1_step $2333, $23C2
Stage 3, the shootout in Kane: gunmen hide at windows, doors, roofs and wagons; shoot them all (wiki: twelve; the status line shows "Bad Guys Killed" and "Bad Guys Left"); the stick moves the Marshall and his sightlive: twelve from sixteen hiding places, four at a time at most$35FA, gunmen_appear $3E77, places $9169
Reload by running off the screen to the right (inlay)confirmed: past x 383 the bullets go back to sixwalk_right $38B4
Standing still makes the gunmen's shots more accurate (inlay)differs: the aim closes in while he stands, and while he walks a gunman's shot does nothing at all (live)gunmen_aim $8A61, gunman_fires $8AF2
Stage 4, the train: ride after the train and overtake its coaches to stop it; two coaches on level 1, seven on level 2, eleven on level 3 (wiki); a collision costs a token; no time limit (review)differs on level 1: three coaches, then seven and eleven; confirmed for the rest: the track loops and there is no clockstart_ride $1F3B, train_step $228B
After the train, the game goes back to the ducks one level higher (wiki)confirmedride_loop $209E
Losing every token ends the game (review)confirmed: game over and the title, with the hall of fame check$22FC, marshall_dies $8BC5
An ending text after the last level ("So war with the Wagari Indians was finally ended ...")liveending_text $8CAC
Music: the William Tell Overture at the start and in both riding stages; a drum beat in the canyon (review)differs: the tune plays on the title, ride 1 and the ending; the train has hoofbeats instead. The drum is confirmed, its writes held against the game's code by test_music.jsstart_ride $1F3B, drum_sound $92C9
Sampled sounds: a screech when a duck is hit, and a cry when the Marshall dies (review; Zzap!64 praised them, per Wikipedia)confirmed: five sounds, one recording of a cry used for a duck, a gunman and the Marshall, the whinny, and a man's voice saying "Well done" at the ending (heard by the contributor)play_hit $9337, $935B, $9349
RESTORE or a reset restarts the game (the CBM80 signature at $8004)differs: a reset restarts it (live), RESTORE does nothing (the NMI vector points at an RTI)start_stage $3163, nmi_ignore $3162

Beyond the documentation

Found in the code, not in the manual. The Discoveries tab shows each one.

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.