I put up Mark Howell’s (v2.0) up on Gitlab at David Griffith / zip · GitLab as a sort of live study. My intent for this is to study how it paged zcode from disk so I can reintroduce it to Frotz. When Stefan Jokisch rewrote Zip to create Frotz, at least prior to version 2.32, he made Frotz store the entirety of a zcode file in RAM. This sped things up at the cost of using more RAM. I’m trying to bring back disk-paging as an option for older machines, particularly ones with very limited RAM.
You might want to look at Zip Infinity (my old Mac Port). I remember doing a bunch of things which increased the efficiency of the swapping, so I could use it on floppy-based Mac Plus machines. I’m not sure if the source is on the IF-archive, if not I do still have it.
I see just the binaries on the IF Archive.
OK, I’ve forked your repo and added a zipinfinity branch
Obviously there’s a ton of irrelevant changes, but the interesting ones are controlled by NEWCACHE and READ_PAGES in memory.c; mostly what they do is allow the initial load to do a contiguous read, which made a big difference with floppies.