OK, well I’ve just started developing code for the Ubicom (Scenix) SX28 PIC chip, and I ran into problems.
Firstly, what I’m using…
SASM assembler from the Ubicom site (currently V1.48)
PICALLW v0.13c to program the chip
I’m using these tools because, I don’t have SX-key, MPLAB is good, but the simulator doesn’t handle the IREAD instruction.
My initial problems were that PICALLW whinged about the addresses SASM created for the ID string. If you don’t have an ID string, SASM still generates the code for one. So there’s no getting away from the problem.
Then there’s the FUSE and FUSEX addresses. PICALLW whinged about these too.
So I wrote a program called SASM_FIX that takes the output .HEX file and alters it so that PICALLW is happy. What it actually does if keep a track of the highest RAM address used, and puts the ID data there.
As for the FUSE and FUSEX, it simply alters the address to one which PICALLW is happy with, and recalculates the checksum.
So far so good. Then one day I needed a simulator/tracer to see what the code was doing. SXSIM (V1.11) to the rescue. The only problem was, SXSIM didn’t like the format of the .LST file generated by SASM. So, I hacked my SASM_FIX program to tweak the .LST file too.
So I present to you SASM_FIX.EXE (12k) V1.05
I use it in a batch file such
as A.BAT
sasm_fix
%1