Pex's answer:- This leads to a 100 to 200 lists of memory locations with 100 values that needs to be written to replay the graphics and sound.
The largest games on disk are Bombjack (3167 bytes), Giana Sisters and Revenge of the mutant camels, all larger than 3kB...
In sum there's 807kb of data prior to being packed with dali. The packed data then pretty much fills up the whole disk. So also zx0 compression helps a lot and that would not have fit with the old Doynax/Bitnax or sectorwise compression mechanisms.
The 100 games pack to 149799 bytes, the raw data glued all together to a single blob pack to 145904 bytes.
How are you resolving large offsets of up to 15 bit with streaming the data? You still need old data to be there in RAM to be referenced?
Another advantage of loading alternatingly: You can directly load/depack to the right destination and have the initial charset ready without any additional copy action (and memory) from a buffer.