A83: 83p file format
[Prev][Next][Index][Thread]
A83: 83p file format
Movax made me notice I'd made an error in the 83p file format. The word at
37-38 is 0b 00 instead of 0c 00. Sorry if someone wondered why his program
didn't work cause of that.
- Florent
83P file format
=================
by Florent Dhordain <flo.dh@usa.net>
Offset(hexa)
00- 07 "**TI83**"
08- 0B 0x1A, 0x0A, 0x00 (for the85-86 : 0C instead of 0A)
0C- 34 Comment
35- 36 file length - $39 = Size of all data in the .8?? file, from byte $37
to last byte before the checksum
; Var header part :
37- 38 variableheader length = 0B 00
39- 41 Variable Header
|--- 39-3A Length of data (word)
|--- 3B program type : 5 (6 for protected)
|--- 3C-43 program name (0-filled)
; Data part :
44-45 Length of data
46-47 Length of program
48-xxx Program data
xxx checksum (word)
Notes :
* All the length are one word, with Least Significant Byte first
* Length of program = the length of all the program data (incredible !)
* Length of data = length of program + 2 (cause it is length of the datablock,
which contains program length(2 bytes) + program data)
* Word at 35-36 = length of program + $11 (17)
* The checksum is one word, the sum of all the bytes from byte 37 to
the last byte before the checksum, modulo 2^16-1 to fit in one word
Thanks to :
Sami Khawam <sKhawam@bigfoot.com> for input about general .8?? files
(especially .83b), and for providing us (W)tran8x(32), of course !
Movax <movax@algonet.se> for telling me the variable header length was 0b 00