01F7:0000:000C:3D76	emu_EntryPoint
01F7:016A:0001:6580	emu_Empty3	# Function does absolutely nothing
01F7:016B:0009:694B	emu_Exit	# (code)
01F7:017D:0006:2BD3	emu_Interrupt_Vector_Store	#
01F7:01C0:000A:F393	emu_Interrupt_Vector_Restore	#
01F7:0272:0007:7402	emu_Stderr_Write	# ()
01F7:027A:000E:2C9D	emu_Error_Abnormal_Termination	# ()
01F7:28DC:0009:EE56	emu_String_strncasecmp	# (string1_csip, string2_csip, n) Case insensitive compare up to n chars
01F7:02AC:000F:B26A	emu_Print_Error_Overlay	# ()
01F7:02C9:0001:6580	emu_Empty5	# Function does absolutely nothing
01F7:02F7:0007:3850	emu_Drive_Get_Default	# (drive_csip)
01F7:0309:000C:E723	emu_Drive_Set_Default	# (drive, num_drive_csip)
01F7:031F:0001:6580	emu_Empty4	# Function does absolutely nothing
01F7:0320:000D:74B7	emu_Terminate	# (error, ?, code)
01F7:0377:000D:81BB	emu_Terminate_Normal	# (code)
01F7:0386:0010:FC59	emu_Terminate_Error	# (code)
01F7:03B2:0017:7CBE	emu_Tools_MulCSIP_csip	# () dx:ax * cx:bx -> dx:ax
01F7:03C9:001C:11C7	emu_Tools_MemcopyCX	# (from_csip, to_csip) count in cx, no return
01F7:03E5:000F:055B	emu_Drive_Get_Curdir	# (drive, buffer_csip)
01F7:0402:0007:3E30	emu_Date_Get	# (result_csip)
01F7:0415:0007:3EF0	emu_Time_Get	# (result_csip)
01F7:0428:0010:87B4	emu_Drive_Get_Default_Wrapper	# ()
01F7:0442:0015:6A10	emu_Drive_Set_Default_Wrapper	# (drive)
01F7:0494:000D:EF57	emu_Drive_Get_Free_Space	# (drive, result_csip)
01F7:04BD:000A:984A	emu_Interrupt_Vector_Get	# (interrupt)
01F7:04CC:000E:D711	emu_Interrupt_Vector_Set	# (interrupt, pointer_csip)
01F7:04DD:0007:D823	emu_Tools_Divd_Wrapper	#
01F7:04E0:0004:E219	emu_Tools_Divd	# 32bit division type 0
01F7:04E7:0005:D2F2	emu_Tools_Divd2	# 32bit division type 1
01F7:058B:0018:D9CF	emu_Tools_Shld_Wrapper	# stupid wrapper
01F7:05ED:0013:E7F6	emu_Tools_AddCSIP_Wrapper	# stupid wrapper
01F7:05F0:0010:6415	emu_Tools_AddCSIP	# (dx:ax + cx:bx -> dx:ax, and makes dx as big as possible)
01F7:064D:0028:3537	emu_Tools_SubCSIP	# (dx:ax - cx:bx -> dx:ax, and makes ax as big as possible)
01F7:06C0:000B:9E93	emu_Device_Get_Info	# (file)
01F7:0773:001E:D7DA	emu_File_LowLevel_Seek	# (file, position32, method)
01F7:079C:0017:78BE	emu_Tools_MulCSIP_ip	# () dx:ax * cx:bx -> dx:ax
01F7:07B3:0021:4ED6	emu_Tools_Cmpd	# cmp(dx:ax, cx:bx)
01F7:07D4:0011:370E	emu_Tools_Var79E4_Init	# (value)
01F7:07E5:0011:F68B	emu_Tools_Var79E4_Update	# () variable_79E4 = 0x15A4E35 * variable_79E4 + 1, returns high word & 0x7FFF
01F7:080B:0016:8E7B	emu_File_LowLevel_Read	# (file, buffer_csip, buflen)
01F7:083A:0014:CDF5	emu_String_sscanf_callback	# (callback1_ip, callback2_ip, buffer_csip, format_csip, params_csip)
01F7:0EFB:0020:CAA8	emu_Tools_StoreSegments	# (csip) stores es, cs, ss and ds in "array" at csip
01F7:1097:0010:64C2	emu_String_tolower	# (c)
01F7:10C3:0010:64C2	emu_String_toupper	# (c)
01F7:10EF:000B:AF8B	emu_File_LowLevel_Delete	# (filename_csip)
01F7:111F:001A:B513	emu_String_Format	# (params_ip, format_csip, data_csip, callback_ip) data_csip depends on callback
01F7:114F:001A:962D	emu_String_Format_Callback	# (params_ip, format_csip, data_csip, callback_ip) only data_csip and callback_ip are used, data_csip depends on callback
01F7:207A:0014:31F0	emu_File_LowLevel_IOCtrl	# (file, function, buffer_csip, buflen)
01F7:21DE:000D:9231	emu_Tools_Realloc	# (block, size)
01F7:2252:0045:03CB	emu_String_ToInteger	# (string_csip)
01F7:22E8:0011:1764	emu_File_LowLevel_GSAttr	# (filename_csip, type, attribute)
01F7:23CC:0013:6B52	emu_File_LowLevel_Close_Wrapper	# (file) Manages closing of a file
01F7:23F4:000A:3443	emu_File_LowLevel_Close	# (file)
01F7:28B8:0024:83C9	emu_Tools_Memcopy	# (to_csip, from_csip, count)
01F7:2923:0024:671B	emu_Tools_Memset_Internal	# (csip, count, value)
01F7:2947:0014:02B8	emu_Tools_Memset	# (csip, value, count)
01F7:29D9:000E:7642	emu_File_LowLevel_Create	# (attributes, filename_csip)
01F7:29F4:000E:B8B9	emu_File_LowLevel_Truncate	# (file)
01F7:2A06:002A:9A90	emu_File_LowLevel_Open_Wrapper	# (filename_csip, flags1, flags2) Manages opening (creation, truncation) of a file
01F7:2B75:002A:45D8	emu_File_LowLevel_Open	# (filename_csip, mode)
01F7:2BC4:0019:3608	emu_String_printf	# (format_csip, param1, ...)
01F7:2DA4:001B:CF3B	emu_String_Format_Callback_2D4A	# (data_csip, count, from_csip) Write 'count' bytes from 'from_csip' buffer to a file, data_csip points to file infos
01F7:3354:0003:62AB	emu_File_LowLevel_Read_Wrapper	# (file, buffer_csip, buflen) Manages reading of a file
01F7:374D:001D:AA1B	emu_String_Format_Callback_374D	# (data_csip, count, from_csip) Move 'count' bytes from 'from_csip' buffer to a buffer, data_csip points to buffer csip
01F7:378D:0020:0F64	emu_String_sprintf	# (buf_csip, format_csip, param1, ...)
01F7:37AF:001F:03E8	emu_String_sprintf_params	# (buf_csip, format_csip, params_ip)
01F7:3803:001E:AAD4	emu_String_sscanf	# (buf_csip, format_csip, param1, ...)
01F7:384A:003F:AE43	emu_String_strcat	# (to_csip, from_csip)
01F7:3889:0033:4660	emu_String_strchr	# (csip, c)
01F7:38C6:0030:705A	emu_String_strcmp	# (string1_csip, string2_csip)
01F7:38F6:0029:8B99	emu_String_strcpy	# (to_csip, from_csip)
01F7:3964:0041:7552	emu_String_strcasecmp	# (string1_csip, string2_csip) Case insensitive compare
01F7:39A5:001F:1A5D	emu_String_strlen	# (string_csip)
01F7:39C4:0031:EE87	emu_String_strncpy	# (to_csip, from_csip, count)
01F7:3A8A:0018:E4EE	emu_String_strstr	# (string1_csip, string2_csip)
01F7:3CD5:000D:9D98	emu_String_strupr	# (csip)
01F7:42F4:0019:54E2	emu_File_LowLevel_Write_Wrapper	# (file, buffer_csip, buflen) Manages writing to a file
01F7:4445:0016:943B	emu_File_LowLevel_Write	# (file, buffer_csip, buflen)

0642:0481:0010:36A4	emu_InGame_Numpad_Move	# When moving with numpad ingame
0642:0559:0027:3560	emu_GUI_PaletteAnimate	# Animate the palette. Only works for some colours or something
0642:07BE:0058:A125	emu_Map_SelectNext	# Select next unit/structure on the screen
0642:0AD2:002A:8B98	emu_Sound_PlayDuneInit	# Play the DuneInit sound at startup

06F7:0402:0020:9091	emu_Map_DeviateArea	# (tile, radius) Try to deviate all units in an area

07D4:196B:0073:56C1	emu_Map_IsPositionInViewport	# (position, ??_csip, ??_csip), check if a position is inside the viewport

0AEC:0005:0010:9634	emu_GUI_Name	# (csip) Handles click on structure/unit name
0AEC:0FD8:0017:6202	emu_GUI_Cancel	# (csip) Handles click on "Cancel" button
0AEC:1181:001C:DFE4	emu_GUI_Picture	# (csip) Handles click on "Picture" button
0AEC:11F6:000F:2195	emu_GUI_RepairUpgrade	# (csip) Handles click on "Repair"/"Upgrade" button

0C10:00D2:000F:D61E	emu_Object_SetScriptVariable4	# (object_csip, value) sets the script->variables[4] of the given unit/structure (does more if object is a structure)
0C10:013D:0016:8C5C	emu_Object_IsScriptVariable4NotNull	# (object_csip) returns 1 if script->variables[4] != 0, else 0
0C10:0168:0014:CEB0	emu_Object_GetScriptVariable4	# (object_csip) returns the script->variables[4] of the given unit/structure
0C10:0247:000D:A5E6	emu_Object_ClearScriptVariable4	# (object_csip) clears the script->variables[4] of the given unit/structure (does more if object is a structure)

0C3A:076E:0027:991C	emu_Structure_ConnectWall	# (internal, tile), Connect surrounding walls
0C3A:092A:0013:A4A8	emu_Structure_UpdateMap	# (structure_csip), Update the map with the latest sprites to represent the structure
0C3A:2433:0042:DBC6	emu_Structure_RemoveFog	# (structure_csip), removes fog around structure if allied and valid position
0C3A:25EC:0011:E453	emu_Structure_IsUpgradable	# Check if a structure can be upgraded

10E4:0008:0048:5BD4	emu_GUI_Widget_DrawBorder2	# (x, y, width, height, state, ??) Draw the border of a widget
10E4:057F:0052:2B00	emu_GUI_Widget_DrawBorder	# (widgetID, state, unknown) Draw the border and background of a widget
10E4:2290:0012:78BD	emu_GUI_Update97E5	# () Sets variable_97E5 to the correct string for that structure

1423:07C5:0016:E9C2	emu_Unit_LaunchHouseMissle	# (position), launch the house missle
1423:0C74:0015:3419	emu_Structure_AI_PickNextToBuild	# (structure_csip), pick the next unit/structure to build

15C2:000B:000E:6322	emu_Script_ClearInfo	# (info_csip)
15C2:00AC:0015:2FBF	emu_Script_LoadFromFile	# (filename_csip, info_csip, functions_csip, text_csip)

167E:02D8:000C:4C9F	emu_Tools_Index_GetStructureOrUnit	# (encoded), gets the structure or unit corresponding to the given encoded index

1A34:3491:0032:AFF8	emu_Structure_GetLinkedUnit	# (structure_csip)

1DD7:0421:000E:5431	emu_Drivers_Load	# (name_csip), load a driver in the memory

217E:04F9:000E:346A	emu_Overlay_Load
217E:055F:0008:D2BC	emu_Overlay_LocateMemory
217E:05A9:001A:42B9	emu_Overlay_Load2
217E:0677:0009:9C4F	emu_Overlay_Activate
217E:0698:001E:EA6B	emu_Overlay_ReplaceWithJump
217E:073A:0003:5D1A	emu_Overlay_AddToLinkedList
217E:0758:0003:5D02	emu_Overlay_ReplaceReturnCSIP
217E:0764:0006:1247	emu_Overlay_ReplaceReturnCS
217E:07A6:000C:1B04	emu_Overlay_GetCodeSize
217E:07B2:0018:C2D5	emu_Overlay_GetTotalSize

22A6:07B3:0037:50B9	emu_GUI_DrawChar	# (char, x, y), draw a char on the screen
22A6:094D:000C:EC7D	emu_GUI_DrawLine	# (x1, y1, x2, y2, colour), draw a line
22A6:0D31:0015:A4C3	emu_GUI_DrawFilledRectangle	# (x1, y1, x2, y2, colour), draw a rectangle, filled

253D:00FA:0010:873D	emu_File_ReadLengthFile	# (filename_csip), read the whole file, where the first 2 bytes are the length of the file

256D:0004:001C:9F23	emu_Font_LoadFile	# (filename_csip), load a font file (based on file it opens)

261F:0008:0033:66ED	emu_Overlay_Interrupt

2756:050F:000B:0871	emu_Interrupt_CustomTimer
2756:0A81:0022:9F5C	emu_CustomTimer_AddHandler	# (handler_csip), returns handler index

2903:0158:001A:2931	emu_GUI_DrawSprite	# (??, sprite_csip, x, y, ??, ??, ??_csip, state) Draw a sprite

29A3:02DA:003B:81C9	emu_Mouse_InsideRegion
29A3:02BD:0018:A1B5	emu_Mouse_CallbackClear
29A3:0224:0009:AA5D	emu_Mouse_Init
29A3:0054:005C:47DC	emu_Mouse_EventHandler
29A3:00CD:0066:C700	emu_Mouse_HandleMovement
29A3:013F:002A:CFEE	emu_Mouse_CheckMovement
29A3:000C:0048:00FE	emu_Mouse_CheckButtons

29E8:0D47:0096:3777	emu_Input_Keyboard_EventHandler
29E8:0A4A:0040:5428	emu_Input_HandleInput
29E8:0643:0008:ED98	emu_Input_Keyboard_NextKey
29E8:0484:002B:0A28	emu_Input_Keyboard_Translate
29E8:0479:0009:A77A	emu_Input_Keyboard_HandleKeys2
29E8:026C:0015:3543	emu_Input_Keyboard_HandleKeys
29E8:073F:000E:6816	emu_Input_History_Clear
29E8:0A19:002A:2DE6	emu_Input_History_Add
29E8:04EB:0011:9CC8	emu_Input_Flags_ClearBits
29E8:04AF:003C:ECA0	emu_Input_Flags_SetBits

2BD1:0004:0001:6580	emu_Empty1	# Function does absolutely nothing
2BD1:0005:0001:6580	emu_Empty2	# Function does absolutely nothing

2BC0:0004:000F:950B	emu_Tools_Swapd	# LE <-> BE for 32bit values
2BC0:0013:000A:39BD	emu_Tools_Swapw	# LE <-> BE for 16bit values

AB00:0169:001D:2693	emu_DSP_Write	# (value)
AB00:0192:0019:263B	emu_DSP_Read	# ()
AB00:01B7:003B:56B4	emu_DSP_WriteAndWait	# (value)
AB00:023A:001B:A31C	emu_DSP_Reset	# ()
AB00:03A7:002E:9463	emu_DSP_SetTimeConst	# (timeconst, unused)
AB00:0402:006B:A66C	emu_DSP_InstallInterrupt	# (handler_csip)
AB00:0472:0062:026A	emu_DSP_UninstallInterrupt	# ()
AB00:050B:005F:C2DC	emu_DSP_SetDMA	# (unknown1, unknown2, unknown3)
AB00:0B73:0019:AD43	emu_DSP_GetInfo	# (unused, unknown_csip)
AB00:0C3F:006F:09A2	emu_DSP_TestPort # (unused, port, IRQ, DMA, unused)

AB01:0443:0017:B488	emu_MPU_SetPort	# (port)
AB01:045A:0022:EC86	emu_MPU_TestPort	# (unused, port, unused, unused, unused)
AB01:0C96:0019:A7D9	emu_MPU_GetInfo	# (unused, unknown_csip)
AB01:1FA8:0072:8B95	emu_MPU_Init	# (unused, port1, port2, port3, port4)

B495:00FE:0017:4E8B	emu_GUI_Production_Down	# (csip) Handles click on down arrow in production/purchase window
B495:01CB:0016:9CD0	emu_GUI_Production_Up	# (csip) Handles click on up arrow in production/purchase window
B495:0288:001F:5BC7	emu_GUI_Production_BuildThis	# (csip) Handles click on "Build This"/"Send Order" button in production/purchase window
B495:030B:001D:B90C	emu_GUI_Production_ResumeGame	# (csip) Handles click on "Resume game" button in production/purchase window
B495:0398:0011:7346	emu_GUI_Production_Upgrade	# (csip) Handles click on "Upgrade" button in production/purchase window
B495:03B9:0008:D80E	emu_GUI_Production_List	# (csip) Handles click on the list in production/purchase window
B495:03E4:0014:917E	emu_GUI_Purchase_Plus	# (csip) Handles click on the "+" button in purchase window
B495:0471:0014:897E	emu_GUI_Purchase_Minus	# (csip) Handles click on the "-" button in purchase window
B495:04D7:000E:C317	emu_GUI_Purchase_Invoice	# (csip) Handles click on the "Invoice" button in purchase window

B4B1:0000:0016:067A	emu_ChunkFile_LoadFile	# (filename_csip), load chunk file which start with FORM
B4B1:0082:0012:D287	emu_ChunkFile_Close	# (file), close the file
B4B1:0098:002A:CE8A	emu_ChunkFile_Seek	# (file, chunk_csip), seek to the requested chunk
B4B1:01CD:002A:CE8A	emu_ChunkFile_Read	# (file, chunk_csip, length32, buffer_csip), read the requested chunk

B4B8:0BC1:000C:1630	emu_Window_WidgetClick_Create	# (??) Create a widget click
B4B8:0ED9:001E:DC63	emu_Window_Widget_Allocate	# (??) Allocate memory for a widget
B4B8:16D3:0022:3C6A	emu_Gameloop_IntroMenu	# The intro and first menu main loop

B4BE:0000:000C:E7F4	emu_Gameloop_Intro	# Runs the intro

B4C1:0129:0028:FB8E	emu_Math_PercentToValue	# Makes a value between 0 and 255 to the max-value given
B4C1:0155:002A:AC43	emu_Math_ValueToPercent	# Makes two values in a percent between 0 and 255

B4CA:020F:0017:A939	emu_File_ReadChunkOrLengthFile	# (filename_csip, ??, ..), check if the file is a Chunk file or length file, and read it

B4CD:07F4:0013:6862	emu_Tile_RemoveFogInRadius	# (posx, posy, radius)

B4E0:0300:001B:4F41	emu_GUI_Mentat_List	# (csip) Handles events on list in Mentat window

B4E9:0345:0023:FA52	emu_GUI_Mentat	# (csip) Shows the Mentat window

B4F2:0000:000D:C9F0	emu_GameOptions_Load	# () Loads GameOptions from options.cfg
B4F2:0051:0012:A048	emu_GameOptions_Save	# () Saves GameOptions into options.cfg
B4F2:009C:002E:D76F	emu_GUI_Options	# (csip) Shows the Options window
B4F2:0387:000F:A3C2	emu_GUI_GameOptions	# (csip) Shows the Game Options window
B4F2:04B7:0015:5960	emu_GUI_SaveLoad_List	# Shows the Savegame list for loading or saving
B4F2:06AE:0035:32F1	emu_GUI_Save_AskName	# Shows the edit box to give the name of the savegame
B4F2:0855:0013:A7FD	emu_GUI_Option_CreateWindow	# (??) Draws a Options-type window to the screen
B4F2:1100:0019:B3DC	emu_GUI_YesNo	# (stringID) Shows a Yes/No window with the given question
B4F2:1181:000B:D4AD	emu_Load_SavegameCount	# () Counts amount of savegames on disk
B4F2:1303:0017:56DB	emu_GUI_String_Get_ByIndex	# (stringID) Special version of String_Get_ByIndex

B4FC:0000:0018:E5DC	emu_Ini_GetInteger
B4FC:03C8:002C:9251	emu_Ini_GetString

B503:0000:0016:B170	emu_GUI_ShowMap	# Shows the map and lets you select next mission
B503:1029:000F:8100	emu_CPS_LoadRegionClick	# Load the RGNCLK.CPS file and set some things for it

B511:0FB0:0028:02A0	emu_GUI_PickHouse	# Show pick house screens

B518:0000:0025:FC16	emu_GUI_ShowEndStats	# Show the stats at the end of the game
B518:0A91:000C:38F0	emu_GUI_HOF_ClearList	# (csip) Handles click on "Clear List" button in Hall of Fame window
B518:0B0D:000E:E283	emu_GUI_HOF_ResumeGame	# (csip) Handles click on "Resume Game" button in Hall of Fame window

B52A:0000:0019:1617	emu_WSA_LoadFile	# (filename_csip, ??, ??, ??, ??, ??, ??) Load a WSA file

B53B:005C:000F:A920	emu_File_Error	# Some handling of file errors

