SadCom MultiEx: Difference between revisions
Jump to navigation
Jump to search
imported>Mr.Mouse mNo edit summary |
imported>Ikskoks No edit summary |
||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 61: | Line 61: | ||
// ---------------------------- | // ---------------------------- | ||
// MexCom - Recreation complete | // MexCom - Recreation complete | ||
</pre> | |||
| Line 86: | Line 86: | ||
Next T ; | Next T ; | ||
</pre> | </pre> | ||
=== Notes and Comments === | === Notes and Comments === | ||
| Line 98: | Line 97: | ||
* [[MultiEx Commander|MultiEx Commander]] | * [[MultiEx Commander|MultiEx Commander]] | ||
[[Category:File Format]] | |||
Latest revision as of 11:39, 21 January 2021
Choose archive extension:
SAD
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
// MexCom - Recreation of formats\SadCom MultiEx (DOS)\SAD.bms
// THIS IS AN AUTOMATED SPECIFICATION
// READ WITH CARE
// ----------------------------
// LEGEND
// ----------------------------
// ==> (Jump to offset)
// #DECLARE (Set variable to value)
// $$ CALCULATE (Calculate a new value)
// ** (Section that repeats itself on condition)
// // (Comment)
// uint32{4} (Unsigned 32-bit value, 4 bytes)
// uint16{2} (Unsigned 16-bit value, 2 bytes)
// ubyte{1} (Unsigned 8-bit value, 1 byte)
// char{n} (String value, n bytes in length
// ----------------------------
// Format Specification
FileID 'SadComLtdat'
#DECLARE FS = CURRENT OFFSET
$$ CALCULATE FS + 2
==>FS
uint32{4} FC
#DECLARE FS = CURRENT OFFSET
** Start Repeated entry (T) {FC}
$$ CALCULATE FS + 2
==>FS
char{254} Filename of resource (FN)
#DECLARE FSO = CURRENT OFFSET
uint32{4} FSI
#DECLARE FOO = CURRENT OFFSET
uint32{4} Offset of resource (FO)
#DECLARE FS = CURRENT OFFSET
// Resources have a name (FN), are located at FO and have a size of FSI
** End Repeated entry (T)
// ----------------------------
// MexCom - Recreation complete
MultiEx BMS
ImpType Standard ; IDString 0 SadComLtdat ; SavePos FS 0 ; Math FS += 2 ; GoTo FS 0 ; Get FC Long 0 ; SavePos FS 0 ; For T = 1 To FC ; Math FS += 2 ; GoTo FS 0 ; GetDString FN 254 0 ; SavePos FSO 0 ; Get FSI Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FS 0 ; Log FN FO FSI FOO FSO ; Next T ;
Notes and Comments
This can open and alter SadCom Ltd. (XeNTaX) SAD archives containing INI files for 16-bit MultiEx.EXE