I have added support of creation of 8xp files to Assemblex. To my surprise, it would only work in files with x size. I did find out that somewhere in the header the length of the program data and the length of the program data+x are written.
Code:
This is a .8xp file (assembly) that displays 6, it has an add a,l, and then displays HL, some bcalls, here is the data:
Code:
This file was generated by SPASM, so in the header it says SPASM made it, like in SourceCoder, Tokens or DevPack8x. What I need to understand is from where to where is what (size, program it was made by).
Code:
I found this at ticalc.org, but it doesn't seem very correct, according to files made with Brass/DevPack8x and SPASM. So, I need your help with the structure of the 8xp file (mainly size, name of program, and text header which means who made it).
Edit by Tanner: Added line breaks in the first code section
Code:
2A2A54493833462A1A0A0046696C652067656E6572617465
64206279205761626269745369676E00000000000000000000000
0000029000D0018000650524F4752414D00000018001600BB6DEF
40453E01C60526006FEF0745EF7249EF4045C9CE0B
This is a .8xp file (assembly) that displays 6, it has an add a,l, and then displays HL, some bcalls, here is the data:
Code:
EF40453E01C60526006FEF0745EF7249EF4045C9
This file was generated by SPASM, so in the header it says SPASM made it, like in SourceCoder, Tokens or DevPack8x. What I need to understand is from where to where is what (size, program it was made by).
Code:
All values are in decimal.
8XP File:
(1-11)Header (11 bytes): 42,42,84,73,56,51,70,42,26,10,0
(12-52)Comment (42 bytes): 42 bytes of ASCII, if the comment is <42 bytes then fill the rest of the space with 0s
(53)Comment Delimiter: 0
(54-55)Length of the Data Section (2 bytes): Length of the data section+19
(56-57)Random Stuff (2 bytes): 13,0
(58-59)Length of the Data Section (2 bytes): Length of the data section+2
(60)Protected (1 byte): 6 if yes, 5 if no
(61-68)Program Name (8 bytes): Program Name (in ASCII)-fill with 0s if <8 bytes
(69-70)More Random Stuff (2 bytes): 0,0
(71-72)Length of the Data Section (2 bytes): Length of the data section+2
(73-74)Length of the Data Section (2 bytes): Length of the data section
(75-?)Data Section (Varies): The program's data
Checksum: Checksum of 56 bytes to the byte before the checksum
For more info on calculating the checksum, see Peter's origional file.
I found this at ticalc.org, but it doesn't seem very correct, according to files made with Brass/DevPack8x and SPASM. So, I need your help with the structure of the 8xp file (mainly size, name of program, and text header which means who made it).
Edit by Tanner: Added line breaks in the first code section