Changes for page DLL System
Last modified by nuggs on 2021/03/26 20:20
Change comment:
DLL list
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Hugo_Peters1 +XWiki.nuggs - Content
-
... ... @@ -79,7 +79,7 @@ 79 79 80 80 The end offset is calculated using the next DLL's start offset. 81 81 82 -= Loaded DLL t able=82 += Loaded DLL List = 83 83 84 84 The list at address {{code}}0x800A7D10{{/code}} describes which DLLs are currently loaded by the game, with {{code}}0x800A7D14{{/code}} being the number of currently loaded DLLs. 85 85 Each entry looks like this: ... ... @@ -87,10 +87,12 @@ 87 87 (% border="0" %) 88 88 |=Offset|=Size|=Description 89 89 |0x00|4|DLL ID 90 -|0x04|4| ? 1 ifDLL is loaded?91 -|0x08|4| AddresstoDLL92 -|0x0C|4| Addressto DLLdata section?90 +|0x04|4|Reference count 91 +|0x08|4|Pointer to exports table 92 +|0x0C|4|Pointer to end of DLL memory 93 93 94 +Once the reference count becomes zero the DLL is overwritten with {{code}}0x0007000D{{/code}} (break instructions) and is subsequently freed. This is presumably to assist debugging use-after-frees, but would only be useful until the memory is reallocated to something else. 95 + 94 94 = DLLs = 95 95 96 96 Below is a table of the DLLs for each bank and their use.