Looks like this code won't work correctly without checking for RATS tags:
if (
((start+8)&~banksize)!=((start+size-1)&~banksize&0xFFFFFF)//if the contents won't fit in this bank...
&&
(start&banksize&0xFFFFF8)!=(banksize&0xFFFFF8)//and the RATS tag can't fit in the bank either...
)
{
start&=~banksize&0xFFFFFF;//round it down to the start of the bank,
start|=banksize&0xFFFFF8;//then round it up to the end minus the RATS tag...
continue;
}
Asar cb78f31f8
freespace-1.asm
freespace-2.asm
The freecode block is placed inside the second manual RATS tag:
Looks like this code won't work correctly without checking for RATS tags: