You're right about Land 2. I didn't notice any other problems, though.
That last part of the challenge.chl file is, actually, important.
The original LandControlAll.txt has this:
In CHLEX's version the same part is this:
0x29A0 is the offset from the beginning of that last part to the string "scripts/land2.txt".
"scripts/land2.txt" isn't in the disassembled files at all.
So, CHLEX isn't perfect, it doesn't recognize the difference between a simple integer and an offset into that last part.
I doubt that CHASM supports such strings in the code.
It, probably, isn't perfect, either.
Disassembling and assembling the file doesn't damage those offsets, though, so simply duplicating the original file's last part into the new file would restore the lost data.
I made a simple program to do that.
You should be able to add your own strings at the end of that last part by using a HEX editor and correcting the size of that last part, which is 10855 (67 2A 00 00) by default, to use them in your own code by specifying offsets to them.
That last part of the challenge.chl file is, actually, important.
The original LandControlAll.txt has this:
Code:
load map "scripts/land2.txt"
Code:
pshi 0x29A0
sys 0x98
"scripts/land2.txt" isn't in the disassembled files at all.
So, CHLEX isn't perfect, it doesn't recognize the difference between a simple integer and an offset into that last part.
I doubt that CHASM supports such strings in the code.
It, probably, isn't perfect, either.
Disassembling and assembling the file doesn't damage those offsets, though, so simply duplicating the original file's last part into the new file would restore the lost data.
I made a simple program to do that.
You should be able to add your own strings at the end of that last part by using a HEX editor and correcting the size of that last part, which is 10855 (67 2A 00 00) by default, to use them in your own code by specifying offsets to them.