MECC’s The Oregon Trail for the Apple II (1985, version 1.4) as one self-contained
page, oregon85.html, that works on a phone. It is a port, not an emulator: the
game’s Applesoft BASIC was translated program by program, so every price,
probability, formula and message is the original’s, and the disks’ own pictures,
sprites and tunes are drawn and played the way an Apple II showed them. The
numbered questions are buttons; the hunting and rafting screens take touch as
well as keys; the journey is kept in the browser so a reload carries on where it
was, and the Oregon Top Ten and the tombstones you leave persist between games.
& HUNT command): six animals with their sizes, speeds and meat, the
obstacles that grow in each region, the eight-direction hunter, bullets that fly
until they hit something, and the 2,500-turn clock.| File | What it is |
|---|---|
oregon85_src.html |
the page: markup, styles and the interface script |
js/engine.js |
the Apple II side: hi-res screen, decoders, sprite blits, colour rules, tunes |
js/game.js |
the game, transliterated from the BASIC (line numbers in the comments) |
js/hunt.js |
the hunting screen |
js/raft.js |
the Columbia |
build.py |
inlines the scripts and data.json into oregon85.html |
tools/pack.py |
makes data.json from apple2/: pictures, image libraries, tunes, the variable table, the talk texts |
tools/pck.py, tools/ima.py |
decode the picture and image formats to PNG |
apple2/ |
the files from the disks the page uses |
src/ |
the Applesoft listings the port follows |
A .PCK is one 280×192 hi-res screen, run-length coded column by column. An
.IMA library is a count, an offset per image (bit 15 marks a raw image), then
each image as a width in 7-pixel bytes, a height, and its bytes — row by row for
raw images, column by column and coded like the screens otherwise. VAR.BIN is
the game’s saved Applesoft variable table (landmarks, distances, rivers, weather
codes, prices). MS*.BIN are the landmark tunes: pairs of note and duration.