Skip to content

Releases: johanberntsson/ozmoo

Release 2: REU support, .d81 support, bugfixes

05 Jun 07:19
Compare
Choose a tag to compare

Features

  • REU support: All the game data that would normally be retrieved from disk as needed can be cached in an REU instead. This also allows a user with a single disk drive and an REU to play a game built for a dual drive system.
  • Added support for building a game to a 1581 disk image (d81), typically to be used with an emulator, or a real C64 with a 1581 drive or an SD2IEC.
  • Changed MORE prompt to not cover any text.
  • Added character mappings using the C64's graphics characters to show (approximations of) the regular ASCII characters that are part of ZSCII but not PETSCII.
  • Added easily usable mappings and fonts for games in Swedish and German
  • Ozmoo now shows a cursor while waiting for the user to press a key. This makes a cursor appear when filling in the form in Bureaucracy, where it was dearly missed.
  • Upper window now auto-expands in z3, z5 and z8, if a game prints outside its limits. This makes a lot of not-so-well-behaved games work a lot better, with menus etc.
  • Text in upper window is now truncated at right border instead of overflowing into the next line. This makes games which don't expect such a narrow screen work better.
  • Text in upper window can be printed outside the left border. The text doesn't show, but the cursor moves as it should. This makes quote boxes and the like written for wider screens look as good as they can.
  • Handling of upper window has been bugfixed and improved in many ways to work as best practice states.
  • z3 programs can now split off an upper window without it being confused with the z3 statusline.

Optimizations

  • Improved algorithm for which virtual memory block is swapped out when space is needed. This means fewer blocks typically need to be loaded during a game session.
  • Faster code to convert between PETSCII and ZSCII, which speeds up all printing and player input
  • Removed superfluous parsing of dictionaries
  • Fixed bug which made the vmem quick index (a list of the six last used block in virtual memory) useless
  • Fixed bug in make.rb which made it preload some memory blocks even when explicitly asked not to. This made PREOPT less efficient.
  • Fixed bug which made make.rb use more disk blocks than necessary for story data. The bugfix allows for slightly larger games to be built with Ozmoo in modes S1 and D2.
  • Fixed bug which caused make.rb to fail when building a game over a certain size in mode D2, forcing the user to use D3 instead when D2 should be enough.

Bugfixes

  • Bug in @throw, which was rendering @catch/@throw useless
  • Removed extra linebreak when printing text that ended in last column.
  • Bug in PREOPT mode
  • Bug in timed input
  • Bug in @get_cursor which made it return rows and columns starting with 0,0 instead of 1,1 as the standard states
  • Bug which would sometimes crash dictionary search when searching for a word not in the dictionary
  • Bug in @restart which made it not work after the game had been saved or restored to a disk in the same drive as the boot disk.
  • Bugs in make.rb where the program would not signal failure properly in many cases.
  • Bug which caused some extra letters to be printed on the line below the statusline in many games.

Other improvements

  • Updated documentation
  • Changed screen dimension units in header to characters rather than pixels. This works well with more games.
  • Updated to latest version of Exomizer (3.0.2)

Release 1

27 Dec 23:45
Compare
Choose a tag to compare

Ozmoo is now ready for production use. A few minor features are missing, like output to printer and the ability to save and restore arbitrary parts of memory, and chances are they won't be added.