kieranhj / pop-beeb

Prince of Persia port to BBC Master
46 stars 3 forks source link

Could use pucrunch to compress all sprite banks for loading #144

Closed kieranhj closed 6 years ago

kieranhj commented 6 years ago

As all the sprite banks are loaded into screen memory before copying up to SWRAM it would be quite easy to insert pucrunch here and decompress from screen into SWRAM. Should improve load times quite a bit.

Challenge comes with the build system as files need to be on both sides of the disc and some files are created using BeebAsm at assemble time whilst others are put together with bbcim.

kieranhj commented 6 years ago

Oh yeah, and currently the pucrunch unpack routine is in SWRAM itself (&168 bytes) so would need to find a home for that as it can't be paged out during unpacking!

kieranhj commented 6 years ago

Have done this in a branch (for all gfx data not code) and the entire game now fits in under 200KB. This raises the tantalising prospect of using a single sided disc, which would make life easier for folks using MMC.

Unfortunately we currently require significantly more than 31 files. Pondering some sort of WAD/PAK file approach but wanting something simple that I can drop in as a replacement rather than a full blown tool chain for now.

kieranhj commented 6 years ago

This has all been done. Now everything is compressed: screens, audio, sprites and code apart from the intial EXE. All on a single sided ssd. :)