insert_compressed_rom_calls.hss 1.5 KB

123456789101112131415161718192021222324252627282930313233
  1. [Main]
  2. Title=__ld_insert_compressed_rom_calls
  3. See Also=insert_kernel_rom_calls: __ld_insert_kernel_rom_calls
  4. [Top]
  5. __ld_insert_compressed_rom_calls can be used to handle
  6. <A HREF="$$LINK(symbols_rom_call)">ROM calls</A>. It inserts references to
  7. ROM calls in a compressed format known from Fargo but specifically altered for
  8. TIGCC:
  9. <UL>
  10. <LI>If the program uses at least one ROM call...
  11. <UL>
  12. <LI>For each ROM call...
  13. <UL>
  14. <LI>Compressed <I>index</I> of the ROM call. The index is encoded as
  15. in <A HREF="$$LINK(insert_compressed_relocs)">__ld_insert_compressed_relocs</A>,
  16. with <I>offset</I> being the index of the ROM call for the first
  17. entry, and the difference of the index of this ROM call and the
  18. index of the previous one plus 1 for the following ones. The
  19. compressed index is considered part of the relocation table that
  20. follows, so nibble encoding can be used.</LI>
  21. <LI>A compressed relocation table for this ROM call. See
  22. <A HREF="$$LINK(insert_compressed_relocs)">__ld_insert_compressed_relocs</A>
  23. for the format used.
  24. The reference symbol used if there is no previous reloc (i.e. for
  25. the first reloc) is <CODE>__ld_compressed_rom_calls_ref</CODE>.
  26. </LI>
  27. </UL></LI>
  28. <LI><B>1 byte:</B> 0</LI>
  29. </UL></LI>
  30. </UL>
  31. For more information on processing ROM call relocation, see
  32. <A HREF="$$LINK(insert_kernel_rom_calls)">__ld_insert_kernel_rom_calls</A>.