New/changed functionality:
- Changed statusline (z1-z3) to show "99:999" or "12:34 PM" for 32 column screen, nothing for 20-22 column screen, "Sc: 99 Mv:999" for 40 column screen.
Optimizations:
- Slight optimizations in code for virtual memory optimization.
- Optimized statusline (z1-z3) so it doesn't print spaces where score/moves will be printed anyway.
- Turned subroutines into macros for performance in text.asm: convert_zchar_to_char, get_next_zchar, init_get_zchar, was_last_zchar.
- Optimized convert_zchar_to_char and translate_zscii_to_petscii.
- Reversed numbering of chars in a zchar triplet when decoding strings, so first char is # 2 and last char is # 0, as this makes for shorter, faster code.
Bugfixes:
- Fixed bug: On C128, if there was a page in the vmem cache, which belongs to the vmem block we decide to throw out, and the block was below $d000 in bank 1, the page index wasn't updated to reflect that the page became invalid, which could lead to the program crashing.
- 40 column screen was showing streaks of garbage during initial loading of game data, when launching game in 80 column mode on C128, if not caching to REU.