<
From version < 27.1 >
edited by nuggs
on 2021/03/04 22:12
To version < 28.1 >
edited by nuggs
on 2021/03/04 22:40
>
Change comment: DLLS.tab + BSS

Summary

Details

Page properties
Content
... ... @@ -58,6 +58,26 @@
58 58  
59 59  DLLs may only reference other DLLs that they load themselves, or ones that are loaded by the base executable during startup. The latter are made accessible through global variables which have an entry in the DLLSIMPORTTAB.
60 60  
61 +== DLL Table ==
62 +
63 +The DLLS.tab describes the start and end offsets of each DLL within the DLLS.bin, but also the BSS size. It begins with a 16-byte header describing the 4 DLL banks.
64 +
65 +(% border="0" %)
66 +|=Offset|=Size|=Description
67 +|0x00|4|Bank 0 (engine) last index
68 +|0x04|4|Bank 1 (modgfx) last index
69 +|0x08|4|Unused
70 +|0x0C|4|Bank 2 (projgfx) last index
71 +
72 +The rest of the file is an array of the following, for each DLL.
73 +
74 +(% border="0" %)
75 +|=Offset|=Size|=Description
76 +|0x00|4|Start offset
77 +|0x04|4|BSS segment size
78 +
79 +The end offset is calculated using the next DLL's start offset.
80 +
61 61  = DLLs =
62 62  
63 63  Below is a table of the DLLs for each bank and their use.