johanberntsson / ozmoo

A Z-machine interpreter for the Commodore 64 and similar computers
GNU General Public License v2.0
117 stars 19 forks source link

Optional fast loader integration for Ozmoo when used with REU #72

Open root42 opened 4 days ago

root42 commented 4 days ago

Yesterday we started playing Sherlock using Ozmoo on the C64. Using an Action Replay 6, load times are quite bearable, but since Sherlock is quite complex it has to load A LOT. This slows down playing experience. Instead I now opted to use my REU to cache the game in memory, which eliminates all load times (on my 256K REU), but takes about 5 minutes to load the game into memory at startup. Would it be possible to optionally build Ozmoo with an integrated fast loader for this exact purpose? I can't plug in the REU and AR6 at the same time to achieve the same result.

fredrikr commented 4 days ago

We did look for solutions to do fastloading several years ago. We found it hard to figure out how to do it properly ourselves, and no one else stepped up to help. Existing solutions tend to support file load only, and that doesn't help, as game data is stored in raw disk sectors.

Loading from SD2IEC is a bit faster, as it eliminates seek times and read times, it's just transmission of data that takes time.

I think JiffyDOS also speeds up block reads, and should be compatible with Ozmoo.

root42 commented 4 days ago

Yeah, I was fearing that a JiffyDOS mod might be in order. I do like the optionality of Action Replay. You can simply unplug it and don't need to hardware mod any device. I will try and check out some of the software based fastloaders...

root42 commented 4 days ago

Well, it seems all the usual software fastloaders that you load before a game don't work. They don't accelerate loading stuff after the program's start.

fredrikr commented 4 days ago

Very few fastloaders can speed up raw block reads. They usually speed up LOAD operations only, or LOAD and SAVE.