Skip to content

EasyFlash Infocom images

Commodore It turns out that EasyFlash support was a hell of a lot easier than I thought it would be, and it is very fast.

I am reluctant to implement saving games to flash; there's not enough free memory to include EasyAPI for all three official interpreter versions (three pages needed? Really?) and I do not want to bang on the hardware directly.

I have combined the games into three EasyFlash images, roughly sorted by type or genre.

The first v3 image contains:

  • Zork I
  • Zork II
  • Zork III
  • Enchanter
  • Sorcerer
  • Spellbreaker
  • Deadline
  • Witness
  • Suspect

  • (i.e., the Zork double-trilogy and the murder mystery trilogy)

    The second v3 image contains:

  • Planetfall
  • Stationfall
  • Starcross
  • Suspended
  • Hitchhiker's Guide To The Galaxy
  • Leather Goddesses of Phobos
  • Seastalker
  • Wishbringer

  • (i.e., the science-fiction games, although "Seastalker" and "Wishbringer" sort of stretch that definition)

    The third v3 image contains:

  • Ballyhoo
  • Cutthroats
  • Hollywood Hijinx
  • Infidel
  • Lurking Horror
  • Moonmist
  • Plundered Hearts

  • (i.e., everything else v3)

    The v4 image contains:

  • Nord and Bert
  • Bureaucracy
  • Trinity
  • AMFV


  • There are no real functional changes between the standalone images I made last night and these images -- they're just consolidated, with a very simple pre-game selection menu.

    They can be downloaded at:

    Infocom-v3-1.bin.xz
    Infocom-v3-2.bin.xz
    Infocom-v3-3.bin.xz
    Infocom-v4-1.bin.xz
    Infocom-v5-1.bin.xz
    Infocom-v5-1.bin.xz

    Saving game files to EasyFlash will not be implemented, at least not by me. Here's why:

    The EAPI requires three pages. With careful pruning, I think I can free up enough memory between the end of the interpreter and the beginning of the resident data to accomodate that. I'd remove the printer transcript routine (which I suspect wouldn't be missed), relocate the story selection menu to ROM (where it should be anyway), and a couple of other optimizations.

    The self-imposed constraint that I'm working with here is that there will be one executable per version that handles all hardware cases -- uIEC-only, uIEC/REU, uIEC/GeoRAM, uIEC/EasyFlash, EasyFlash-only. This is to make my life easier, as I was having a hell of a time keeping things straight when everything was selectively #ifdef'ed for specific hardware.

    I believe that I can bump up the resident start address a page or two. I've tested this with the v3 interpreter with no apparent ill effects, and I don't believe that there are any v3 story files floating around that even come close to hitting the $D000 cutoff. I haven't tried this with v4 or v5 yet.

    The second bullet point is a bit more troublesome. The save files are essentially a memory dump of the entire Z-machine state. That's 52 blocks for v3 (so 13k), 66 blocks for v5 (so 16k), and a whopping 131 blocks for v4 (so 32k). Setting aside three to five extra banks per game for savefiles is doable but would permit fewer story files per image.

    I honestly think it's better/safer to keep the EasyFlash as a read-only REU substitute, keeping save game functionality on the serial bus. This project started as a way to play Infocom games on the uIEC (with the nice side-effect of removing the need for RAM expansion); since the EasyFlash and the GeoRAM share identical paging schemes, read-only EasyFlash support was easy. Writing save game files to EasyFlash will significantly shorten the lifespan of the EasyFlash and severely reduce the number of games per image. Sorry.

    Trackbacks

    No Trackbacks

    Comments

    Display comments as Linear | Threaded

    No comments

    Add Comment

    Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
    Standard emoticons like :-) and ;-) are converted to images.
    E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
    To leave a comment you must approve it via e-mail, which will be sent to your address after submission.
    BBCode format allowed
    Form options