Difference between revisions of "Talk:SND (AdLib)"

From Video Game Music Preservation Foundation Wiki
Jump to: navigation, search
m
 
Line 1: Line 1:
 
The fields labelled '''WORD''' should probably be changed to some other data type.  A "word" is the machine's native bit size, so under 16-bit DOS a word is 16-bits long, under 32-bit operating systems like those since Win95 a word is 32-bits long, and under modern 64-bit systems a word is 64-bits long.  On Intel CPUs a word is also little-endian, but many other systems are big-endian so a word there will have the bytes in the opposite order (BB AA instead of AA BB).  So when you see a data type that's a word, you have to research all the possible systems the game might run on and then find out which system was used to create the files, and only then do you have a rough idea what that data type might be!  On the ModdingWiki I have used terms like '''UINT16LE''' for unsigned 16-bit little-endian integer to avoid any confusion, others use shorter terms like U16LE, but it might be a good idea to adopt some sort of naming convention to remove any confusion in the long run! -- [[User:Malvineous|Malvineous]] ([[User talk:Malvineous|talk]]) 13:08, 24 January 2015 (UTC)
 
The fields labelled '''WORD''' should probably be changed to some other data type.  A "word" is the machine's native bit size, so under 16-bit DOS a word is 16-bits long, under 32-bit operating systems like those since Win95 a word is 32-bits long, and under modern 64-bit systems a word is 64-bits long.  On Intel CPUs a word is also little-endian, but many other systems are big-endian so a word there will have the bytes in the opposite order (BB AA instead of AA BB).  So when you see a data type that's a word, you have to research all the possible systems the game might run on and then find out which system was used to create the files, and only then do you have a rough idea what that data type might be!  On the ModdingWiki I have used terms like '''UINT16LE''' for unsigned 16-bit little-endian integer to avoid any confusion, others use shorter terms like U16LE, but it might be a good idea to adopt some sort of naming convention to remove any confusion in the long run! -- [[User:Malvineous|Malvineous]] ([[User talk:Malvineous|talk]]) 13:08, 24 January 2015 (UTC)
: Good idea, thanks! And about relationship of BNK and SND, BNK was released in 1987, not in 1989. --[[User:Binarymaster|binarymaster]] ([[User talk:Binarymaster|talk]]) 13:43, 24 January 2015 (UTC)
+
: Good idea, thanks! And about relationship of BNK and SND, [[BNK]] was released in 1987 with the first version of [[AdLib Visual Composer]], not in 1989. --[[User:Binarymaster|binarymaster]] ([[User talk:Binarymaster|talk]]) 13:43, 24 January 2015 (UTC)

Latest revision as of 08:43, 24 January 2015

The fields labelled WORD should probably be changed to some other data type. A "word" is the machine's native bit size, so under 16-bit DOS a word is 16-bits long, under 32-bit operating systems like those since Win95 a word is 32-bits long, and under modern 64-bit systems a word is 64-bits long. On Intel CPUs a word is also little-endian, but many other systems are big-endian so a word there will have the bytes in the opposite order (BB AA instead of AA BB). So when you see a data type that's a word, you have to research all the possible systems the game might run on and then find out which system was used to create the files, and only then do you have a rough idea what that data type might be! On the ModdingWiki I have used terms like UINT16LE for unsigned 16-bit little-endian integer to avoid any confusion, others use shorter terms like U16LE, but it might be a good idea to adopt some sort of naming convention to remove any confusion in the long run! -- Malvineous (talk) 13:08, 24 January 2015 (UTC)

Good idea, thanks! And about relationship of BNK and SND, BNK was released in 1987 with the first version of AdLib Visual Composer, not in 1989. --binarymaster (talk) 13:43, 24 January 2015 (UTC)