Update released - Feb 2025 version!
After much testing and code comparison, the new Feb 2025 Release of Vezza is ready! Took way longer than expected to synchronize across all of the code bases, particularly making sure that all optimizations made it across all platforms - TRS-80 model 1, TRS-80 model 3, TRS-80 model 4, the CP/M versions (~18 platforms), the embedded versions (Spectrum tape, TEC-1G), and pushing into the Agon Light version (which has even more updates in progress). Lots of individual tweaks, and some major rethinks and rewrites have come together to accelerate game play.
The hardest part of rewriting in this update involved rewriting the dictionary search code. I ended up going back to the original jzip interpreter, written in C for Unix waaay back when. Jzip provided much of the logic that went into ZXZVM, the open source z80 source code that provided the base for this project. Going back to Jzip made sense as Jzip has an even longer history; and is highly tested and stable and still maintained. This research gave me the confidence that the streamlining and changes I was making to such a fundamental part of the game would work, helping me to make the dictionary searching for each word execute more efficiently.
EDIT: I should also add that a lot of time was spent re-organising the memory map to make the executable smaller. This involved rearranging where the setup (run once) code was stored inside the increasingly complex layout. Support across multiple versions means I needed to break up variable sized code and strings to sit inside variable sized gaps, while still compiling all the CP/M versions from the same interconnected set of source files. It needed quite a few manual checks to ensure that it all worked.
This all means that your favourite text adventures will all play even faster than before! The previous devlog showed the before and after cosmetic fix for line wrapping followed by a newline. That update is also now included in ALL versions. The Changelog summary is as follows:
; [+] Code optimisation for speed and size including ; init, bwdcopy, fwdcopy, tokenize, inibuf, find_word, next_token, llf ; [+] Rewrote all core code to assume auto-increment of ZPC ; to improve speed and size ; [+] Bugfix: handle auto wrapped line followed by immediate line feed ; [+] Additional space freed to allow for more game cache ; [+] Memory map reshuffled to reduce disk size.
If you need other CP/M versions, check out the list available at:
Updated pre-build images are attached to this post for easy download, along with some newly shared images for Speccy.
Files
Get Vezza
Vezza
More Infocom for 8 bit z80 retro consoles
Status | Released |
Category | Tool |
Author | sijnstra |
Tags | Amstrad CPC, infocom, interpreter, MSX, pcw, Text based, z80 |
More posts
- Update is in the works58 days ago
- Screenshots on actual hardwareJun 16, 2024
- Updates and bugfixes January 2024Jan 07, 2024
Leave a comment
Log in with itch.io to leave a comment.