1987 · Electric Dreams Software

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/explorer 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 75 comments had 8 wrong, so between 6 and 20 % of the listing’s comments are likely wrong. How listings are checked
Build analyseda freezer backup of Electric Dreams' 1987 disk release, the TOSEC image Explorer (1987)(Electric Dreams) from the Internet Archive (MD5 858dc180…672db); its code agrees byte for byte with Triad's crack of the same release
Copyagent-draft
Toolsemulator: release v3.14.0, v3.14.0-linux-x86_64-gui.zip (VICE x64sc, PAL), disassembler: regenerator2000 0.9.20, host: Linux x86_64, Ubuntu 24.04.5 cloud container, four cores, no display, python: 3.13.17, node: 22.22.0
Modelclaude-opus-5-5
Kit version0.0.277

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 538 comments.
Sample 1claude-opus-5-58 of 75 comments wrong, so between 6 and 20 % of the listing is likely wrong. All 8 were then corrected.
60 of 494 hand-written comments and 15 of 43 generated; two of the eight were corrected between the draw and the check
Port checkclaude-opus-5-5Checked a page’s port or widget against the game and corrected 3 comments it showed wrong.
the ground view, drawn on the page by the game's own drawing code from the listing's bytes and compared with the game in the emulator at the same place, which corrected divide_8 at $10E8 and the random seed's comments at $002B and $10FF

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
A jet pack: U goes up about a thousand feet, again for another thousand; D comes downconfirmedU on the ground takes off to height 8 (take_off $1728); in the air U goes from 8 to 9, the map cells twice as far apart (go_up $2879), D from 9 to 8 and at 8 lands (go_down $28A4). Live: the game's own landing after the opening pass
Above the planet the stick moves north, south, east and west, whatever the compass saysconfirmedfly_loop $2847: 8 east, 7 north, 6 south, 5 west, each scrolling the map one cell; joy_codes $0BE5 turns the stick into those keys
"Watch landing on the trees: they're pointed"liveland $28DE: open ground (kinds 4, 6 and 8) is safe, jungle (0, 2) and water a crash (crash $2C03). Live: the opening landing came down on water, the screen went black on white and shook, 500 came off the energy and the destination prompt followed (reference/crash.png, reference/crash-prompt.png)
On the ground the stick forward walks along the compass bearing; fire or any key stopsconfirmedground_loop $14F9 and walk_loop $152B; 7 (stick up) walks, any other key stops
Left and right alter the bearing; back turns aboutlive8 turns right and 5 left two steps of 64 (turn_right $1578, turn_left $1584), 6 turns 32 (turn_about $1590). Live: 8 took the heading from 16 to 14 and the compass from 0 to 10
A compasslivedraw_compass $0FF8: three digits at the top right of the ground view. It reads about 1 % short of the true angle: west reads 267
Object sonar: a sounding gives a bearing and a distance by the echo's delay, and "out of range" past a civilised walkliveecho_nearest $19A8: a ping, then the nearest fragment; within 1,279 units the echo comes back after a quarter of the distance in interrupts. Live: "178 degrees / Out of range" for a fragment 1,344 units away a little east of south (reference/sonar-echo.png)
Nine radio beacons, popped down anywherelivedrop_beacon $1B9C, pick_up_beacon $1BD8, the records at beacons $21DD; "Carried:012345678" loses a digit for each beacon down. Live: D dropped beacon 0 and drew it (reference/beacon-dropped.png)
A radio direction finder: bearing and range to the beacons, for triangulationlivefix_beacons $1BFD, "Fix 3 nearest": the three nearest beacons down, each with its distance (east plus north) and bearing. Live, with beacons poked 1,000 north, 200 west and 640 south, and 480 east and 320 north: "1000m. 1 degrees", "840m. 252 degrees", "800m. 56 degrees". The second should read 197: see bearing_of in Beyond the documentation
Nine anti-grav drones send bits of the craft to beaconslivesend_to_beacon $1A53: the fragment in the explorer's cell takes the chosen beacon's position, for 1,000 energy, if the beacon is down and less than 16,384 units away. Live: fragment 2, poked onto the explorer's cell, moved to beacon 0's position and the energy fell by 1,000
A laser pulse gun, fired in weapons modeliveweapons $2350, fire_laser $2437: the sight moves with 5, 8, 7 and 6, F (or fire) shoots, 500 energy a shot. Live: a bug was hit with one shot and weapons mode ended (reference/laser.png)
One or two robotic bugs; kill themlivemaybe_new_bug $1436: never more than one at a time; it appears more often as the score rises and traps the explorer in weapons mode until it is hit. Live, with the score poked to 250 (reference/bug.png)
Swirling patches of colour in the jungle invite you to enter, and take you to any place you namelivescenery_doorway $1183, doorway_prompt $0D32, name_destination $0E23. Live: a doorway one cell away, "Enter doorway", E, the name HOME, arrival at 48,356 east and 48,609 north (reference/doorway.png, reference/destination-prompt.png)
Watch your energy: if it gets too low things go wrongdiffersNothing tests the energy until it would go below zero (energy_spend $22F7): then "Energy gone", the energy is set to 2,000 and the destination prompt comes up (energy_gone $231A). Four instructions read the energy, and none compares it with a threshold
"There's a way of restoring it"differsThe doorway works out an energy change, (letters in the name − 8) × 512 less a quarter of the distance travelled, so a long name to a near place would add energy; both branches after the sum jump past the store at $0F42, and the trip leaves the energy as it was. Live: HOME cost nothing beyond the 15 every view costs. The crash and running out are the only other writes, and both take energy away or reset it
Break or space brings up the menu; the first letter of a word chooses itlivemenu $1899: any key on the ground but the moves; O, B, W and X, then E, S, D, P and F in the menus below (reference/menu.png, reference/menu-objects.png, reference/menu-beacons.png)
Forty billion mappable locations, nine of them holding fragmentsdiffersPositions are two 16-bit numbers, 65,536 × 65,536, about 4.3 billion places, which wrap round at the edges; the explorer steps 16 units at a time. Nine fragments (fragments $2213), eight at the same places in every game and one 160 east and 144 north of the start

Beyond the documentation

Found in the code, not in the manual.

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.