home *** CD-ROM | disk | FTP | other *** search
- Format of 89 and 92+ ASM files
- ------------------------------
-
- Sorry this file is not very well explained yet.
-
-
- Offset Size Desc
- --------------------
- $0 4 Bsr to the loader code
- $4 4 68k ASM Signature "68kP" or "68kL"
- $8 2 Reloc count
- $A 2 offset to _comment
- $C 2 offset to _main
- $E 2 offset to _exit
- $10 2 compatibility and special flags
- bit 0 - runs on 92+
- bit 1 - runs on 89
- bit 14 - used internally by DoorsOS. If set, the file is temporarily unarchived
- bit 15 - TI-89 emulation (force 89 screen size on 92+)
- $12 2 handle of BSS block ; when program is in use
- $14 2 offset to BSS table
- $16 2 offset to export table
- $18 2 offset to Extra RAM table
- $1A 2+NA Import Table
- NA 2+NA ROM Table
- NA 2+NA RAM Table
- NA 2+NA Relocation table
- NA 4+NA BSS Table
- NA 2+NA Export Table
-
-
- Format of Import Table
- 1st word: nb of libs used
- Then is the libs name list: each lib name is 10 bytes:
- 8 chars + a word at the end
-
- Then, for each lib is a lib reloc table:
-
- 1st word: nb of functions used in this lib - 1 (for the dbra)
- Then, for each function is a table:
- 1st word: index of the library function used
- Then is a null terminated list of offsets (words).
-
-
- Format of ROM Table
- 1st word: if null, there is no ROM call.
- Then is a reloc table which is like a lib reloc table.
-
- Format of extra RAM address table
- 1st word: if null, there are no extra RAM addresses
- Then there are pairs of words. The first word is the address on the
- 89 and the second word is the address on the 92+. The list is
- terminated by a null word.
-
- Format of RAM table
- 1st word: if null, there are no RAM address/value references
- Next word: nb of RAM addresses/values used - 1 (for the dbra)
- Then, for each address/value is a table:
- 1st word: index of the RAM address/value used
- Then is a null terminated list of offsets (words).
- RAM address/value index is this:
- Bit 0-13: RAM address number. If bit 14 is not set, they are as follows:
-
- Bit 14: Set if an "extra" RAM address (not defined by the kernel).
- The address is stored in the extra RAM address table.
- Bit 15: Set if reference is word, clear if reference is dword
-
- Format of BSS Table
- 1st Long Word: size of the BSS block to allocate.
- Then is a null terminated list of offsets (words)
-
- Format of Export Table
- 1st word : nb of functions exported
- Then is a null terminated list of offsets (words)
-
- Format of relocation Table
- This is a null terminated list of offsets (words).