A C64 Game - Step 73
Nothing new code wise this time, but something necessary: Packing.
The normal file now hits the 40Kb mark, and it's slowly getting too big to simply load. Remember the memory layout?
There is free memory from 2048 to 49151. Above that address the Basic and Kernal are overlayed over RAM. And both are active by default when loading.
Here comes Exomizer to the rescue. It's a cross plattform packer tool targetting old computers with little memory. It compiles code parts, unpacks them to specific memory locations and even takes care of the ROM/RAM settings. Terrific!
In the .zip file there's the executable and a changed .c64 project file. In C64 Studio you'll now find a new build config "Default Crunched". This builds the file as normal and as a post build step calls Exomizer:
$(BuildTargetPath)/exomizer sfx 2064 $(BuildTargetFilename) -t64 -n -o $(BuildTargetPath)/gamecrunched.bin
..and copies over to the original output file name:
copy $(BuildTargetPath)\gamecrunched.bin $(BuildTargetPath)\jmain.prg /Y
The latter step allows us to still debug through the code as usual, since C64 Studio starts the file with the name given in the !to directive.
Previous Step Next Step