Skip to content

Release 11

Choose a tag to compare

@fredrikr fredrikr released this 08 Aug 20:16
· 315 commits to master since this release

New/changed features:

  • New scrollback buffer available on MEGA65, C64 with REU and C128 with REU. Enabled by default on MEGA65. Enable with -sb or -sb:1. Disable with -sb:0.
  • When restarting a game with sound (MEGA65 only) Ozmoo detects that the sounds have already been loaded, making restart a lot faster.
  • Player can now switch to darkmode by pressing F1 on the splash screen.
  • New option -rd to reserve the entire directory track, i.e. don't store any story data there, typically to allow for directory art.
  • Option -re (check for runtime errors) is now enabled by default for MEGA65.
  • New make.rb syntax for runtime errors: -re or -re:1 to turn it on. -re:0 to turn it off.
  • New make.rb syntax for slow mode: -sl or -sl:1 to turn it on. -sl:0 to turn it off.
  • Option -dd (disable darkmode) has been replaced by -dm or -dm:1 to enable darkmode or -dm:0 to disable it. Darkmode is still enabled by default, except for the game Beyond Zork, where it doesn't work well.
  • New make.rb syntax for command history: -ch or -ch:1 to enable it, using the default buffer size. -ch:0 to disable it.
  • Command history is now enabled by default on MEGA65.
  • Changed MEGA65 version to store entire zcode file as one file instead of one file for dynmem and one for statmem
  • The MEGA65 version now has no config information stored on disk. This, together with the zcode file being stored in a regular file, means that you can copy a game by just copying the files on the disk. However, the zcode file is stored with an optimized interleave pattern which yields the best loading times when loading from a real floppy - if you make a file copy, you lose that. Copying a floppy image / floppy to a floppy image / floppy with the BACKUP command on the MEGA65 retains the interleave pattern.
  • Ozmoo used to hope an REU was big enough to hold the game data. It can now use any REU size - it calculates the size and figures out what fits. The REU can be used to cache game data and/or scrollback buffer.
  • Fixed PRINTSPEED mode which was broken. It now prints the # of instructions executed per second, twice per second.
  • Indentation on splash screen is now rounded up instead of down (looks better)
  • Documented MEGA65 specifics in tech report.
  • Documented source files for sound support in tech report.
  • Fixed minor problems in tech report.
  • Renamed source code file names file_name.* to file-name.* to be more similar to other source files.
  • Made MEGA65 builds use the actual boot file file name when restarting instead of "*" (all other targets already did).

Optimizations:

  • Faster way to jump to instruction code
  • Made restart code less different for different targets, and shorter for Plus/4 and C128.
  • Optimized multiplication for input interrupt intervals, thus removing the last use of the generic 16-bit unsigned multiplication routine.
  • Removed the generic 16-bit unsigned multiplication routine mult16

Bugfixes:

  • Fixed bug: Cursor wasn't showing during save/restore if a blinking cursor was used and it was off when save/restore started.
  • Fixed bug: Extension was included in disk title.
  • Fixed bug: Ozmoo would ask player to insert Boot/Story disk when restarting, even if it was already in the boot device.
  • Fixed bug: Ozmoo would ask player to reinsert Boot/Story disk after save/restore, even though the Boot/Story disk isn't needed.
  • Fixed bug: Ozmoo put the computer in a weird state after Quit, if a custom font was used.
  • Fixed bug: Restart on MEGA65 only worked if game was loaded from device 8.
  • Fixed bug: Save always chose 8 as default save device on MEGA65 - now it chooses the boot device.
  • Don't print irrelevant info on dynmem blocks and vmem blocks for MEGA65 in make.rb.
  • Default colours were not written to header on MEGA65.
  • Incorrect colours were retrieved from the header when the game asked to set background or foreground colours to default.
  • make.rb failed to autostart game (-s option) if the story file had a space character in it.
  • Fixed bad handling of left and right cursor keys in history mode.