Skip to content

Release 5: C128 and Plus/4 targets, Beyond Zork mode, preload updates and bug fixes

Choose a tag to compare

@fredrikr fredrikr released this 18 Dec 23:07
· 639 commits to master since this release

New/changed features:

  • C128 support (both 40 and 80 column screens)
  • Plus/4 support (also C16 expanded to 64 KB RAM)
  • New build mode -71, producing 1571 disk images. Can only be used for target C128.
  • Disk drives with device# 8-15 can now be used.
  • All produced disk images get names starting with the platform name
  • Added a progress bar when loading data into REU or memory at game start.
  • Added re-use of game data in REU after a restart.
  • Question to use REU can now only be answered by Y or N (any other key would work like N before, making it easy to accidentally answer no).
  • Interpreter number can now be customized with -in:N in make.rb
  • Changed so C128 interpreter uses interpreter# 7 by default.
  • Changed format of output from preload optimization slightly to make more data fit on screen. This means old preload optimization files need to be modified to be used again.
  • Data to be read from disk when game starts in a game using preload optimization will now be read in the order it appears on disk, making load time shorter and causing less drive noise.
  • make.rb can optionally fill up with more vmem blocks to load when using preload optimization (commandline switch -cf).
  • Added option -b to not preload virtual memory blocks from disk when the game starts. This makes the interpreter a little smaller. Option is automatically enabled if make.rb is certain no preloading from disk will be needed anyway.
  • Cursor colour now defaults to special value 1, meaning "same as current foreground colour".
  • Cursor blink rate is now 1-99 where 1 is the fastest
  • New option -u to do less checks for runtime errors, making the interpreter a little smaller and faster
  • Commandline flag -r for make.rb to use reduced memory has been removed.
  • When game restarts, it now loads the file "story". This means restart won't work if you rename the file.
  • make.rb now prints a lot less, unless you use option -v (verbose).
  • make.rb detects if Beyond Zork is built and changes the interpreter number to say it's the Apple IIe interpreter, since this gives the best results on Ozmoo.
  • make.rb will now patch Beyond Zork story file before writing it to disk image(s) to make it work better on 40 column screen. Original story file is left untouched.
  • Darkmode support is automatically removed when building Beyond Zork, since it gets in the way of a built-in keyboard shortcut in the game, and the game restores the colours even if you change them.

Optimizations:

  • Increased vmem block age resolution by 1 bit, which should lead to better paging, espescially for z8 games which only had a five bit resolution.
  • Centralized code to pick a free vmem buffer.

Fixed bugs:

  • @Tokenise could use arbitrary value for parameter "flag" if it wasn't supplied.
  • @Tokenise didn't skip words the way it should if parameter "flag" was set (which stopped Beyond Zork from recognizing any commands).
  • Added support for terminating character array ($2e/$2f in the header)
  • Fixed bug with creating .d81 partition, which made it impossible to use build mode 81 for small games ( non-dynamic memory < ~10KB).
  • Cursor timing code was broken
  • Some characters could get a weird colour in the save slot listing.
  • Fixed line breaks in the wrong place in games which started buffering in window 0 while window 1 was selected, like AMFV.