MUD++ VM Object File Format ---- Header 4 bytes MAGIC 4 bytes lenght of code part (LCP) in memoryblocks (4bytes) 4 bytes length of constants block (LCB) Code part LCP bytes executable data for all functions Constants declaration table 4 bytes number of Constants (NoC) NoC * 8 bytes table of constants in format { vmtype type; u32 offset; } Relocation table 4 bytes number of Relocations (NoR) NoR * 4 bytes table of relocation offsets Constants LCB bytes constants, without delimeters (except \0 at end of string) but each is aligned to 4-byte boundary ----- All numbers are stored in machine dependent order (so mobj files may not be transferable). Offsets in Constants declaration table are given from beggining of Constants part (12 + LCP*4 + 4 + NoC * 8 + 4 + NoR * 4 from start of file)