A92: fargo 2.x header and relocation table structure


[Next][Index][Thread]

A92: fargo 2.x header and relocation table structure




Who can help me ? :o)
I'm trying to learn the structure of a fargo 2.x program:

I've found that the header is something like this :

$00.w length of the file-2
$02.b -> $00 indicates the start of a string.
$03.b -> I think that's fargo's version number.
$04 -> a string that is 'EXE APPL\0' for a prgm and 'DLL APPL\0' for a
librairy
$0D.b -> relocation usage count
$0E.w -> ? relative pointer to ...
$10.w -> ? relative pointer to ...
$12.w -> relative pointer to a word that is the number of librairies
linked to the program
$14.w -> ? relative pointer to ...
$16.w -> relative pointer to _comment

$1A -> first opcode of the program

 Then at the end of the assembly code (after _comment) I think a nop
($4E71) is added if the relocation
table is not on a long word or something like this...
 Finaly, from the end of the program (reverse memory order) there is
$DC000000E5E419E800E412E9
-> that is a tokenization that makes the Ti-92 write Prgm EndPrgm when
edited in the TIOS program editor.

At the end of the source there are linked librairies names (terminated
by 0 if length<8)
The relocation table is just before these names but I think it's coded
or compressed.

That's all I know about it. So if u know a little more about the
relocation table or if u can fill in the blanks in
 the header structure please! please! help me !!!!!! :o)
Thanks a lot.

                                                                Cyril
CATTIAUX alias LoVePaRaD

PS: my project is to make a 68000 2 pass assembler for the ti-92 and
this strucure is needed to do it.