_____Of Kings Quest III and volume numbers
_____A DBC (division of WBN) production
by Ar Zimrathon of Idea Systems 612/888-IDEA
also call the Tower 612/420-7811 HST 80mgs
Thanks to Mr. Five (sometimes known as Mr. Jive -- see second version) for
sending me King's Quest III and thanks to the Unicorn for fucking it up before
it got here -- resulting in this file
[If your Kings Quest III works you don't have to bother with this file]
Sometimes there is a problem when you unpack Kings Quest III and other wares
that rely on volume numbers to work properly... A lot of people have unpacked
it incorrectly and then repacked it with-out checking it out... this time they
got burned since each side of kq3 needs to be formatted to the volume of its
corresponding side (side 4 needs to have a volume number of 4.) [one way it
gets screwed is if you didn't have your packer reformat the disk beforing
unpacking...the ware would have the old volume number] For now I'll just tell
you how to correct your DDDeluxe files...if you REALLY need to know how to do it
for other packers leave me mail on the Tower or Idea Systems.
...Ok, with DDDeluxe Louis Roy decided to encode the volume number (don't ask me
why.) To fix it, boot up Block Warden (if you don't have it, get it) and
[F]ollow the file to be corrected (you'll have to do this any number of times
depending on how ever many sides are screwed.) You'll see the text "LouisRoy"
at the beginning... First, look at the two following bytes following the name,
if there are two @'s there ("LouisRoy@@"), skip this next section in brackets.
[if the next two bytes ARE hex $00 and $00, then change these two two bytes to
$40 and $40...this will make it compatible with version 4.2, making it possible
to format to different volumes.] Next, look at the two bytes that follow the two
@'s (the $40's) and simply replace these two bytes with their appropriate values
as found in the following chart. Finally, >SAVE IT< and unpack the corrected
code with version 4.2<<<<
Side# Two bytes
----- ---------
1 00 08
2 00 04
3 00 0C
4 00 02
5 00 0A
6 00 06
7 00 0E
8 00 01
9 00 09
10 00 05
If you really don't care how it works you can stop reading... Below is the
technical shit...
...Ok, this is how you figure out the hex version of volume you want: take the
desired volume number, convert it to an 8 digit binary number, split that number
into two nibbles (split the 8 digits into two groups of four digits each.) Take
each of those groups of 4 digits and flip them (like a 1010 becomes 0101.) Then
you take those digits and zero fill to the right for the left digit and zero
fill to the left for the right digit (if the converted groups were 0101 and 1011
they would become 01010000 and 00001011.) Take these final two binary numbers
and convert them to hex, and voila, there's your DDDeluxe encoded volume number.
In case you didn't follow that I'll go through a number... Say you wanted to
convert a file to volume number 76...
1. decimal to binary: 76=01001100
2. binary to 2 nibbles: 01001100=0100 and 1100
3. flip the nibbles: 0100=0010 and 1100=0011
4. zero fill the nibbles:0010=00100000 and 0011=00000011
5. convert numbers to hex:00100000=$20 and 00000011=$03
6. replace two bytes after the $40's to $20 and $03
{{NOTE: if by the time you read this there is a more recent version of DDDeluxe
than 4.2, then this file MAY not apply to you}}
-END-
#