Kings Quest

K.J. Does anyone know where I can get Kings Quest(1-5 any)? Or is it even legal to have it if I don't already own a copy?

Thanks in advance,
K.J.
Sami_Tervo abandonware sites.. no it's not legal to have it(or is it? :)..damn sierra
K.J. I thought that it probably wasn't legal. Oh well, I'll just have to look on eBay for a legal one(unless Sierra has released the Kings Quest games into the public domain. Anyone know?).

K.J.
AGI1122 Sierra would never release their games into the public domain. You would have greater chances of being abducted by aliens than to find it in public domain.
sonneveld actually, if you go to the site www.back2roots.org, you can find the Amiga versions of the games there.  You can either run them with an Amiga emulator or use a program called ADFOpus, extract the files and then run them using NAGI or Sarien (I don't think AGIL has packed object support yet)

- Nick
RaDIaT1oN What is the difference (packed object)?

If these Amiga games are legit, then it's worth my time get AGIL to support them.
df
What is the difference (packed object)?
If these Amiga games are legit, then it's worth my time get AGIL to support them.


well they are legit in that they were made by Sierra. They are not legit in that they are warez tho.. well abandonware if you really beleive in it.

The amiga stuff is interesting since its the only AGI format that has a slight difference in layout to all the other formats. One of the files has a differnt alignment in its structures, yet other mac (68k) and atari-st (68k) didnt have this alignment.

sonneveld I was under the impression Sierra gave permission for back2roots to distribute the Amiga version.. Probably because they weren't planning on releasing any Amiga collection packs any time soon.

- Nick
RaDIaT1oN Downloading and using games from Back to the Roots is legal, they have a license, but redistribution is not legal.  I actually read this on their page.

I have got the object code working in AGIL, just if it's amiga change some threes to fours.
How can I find out which version of the original AGI these games used? (Without an amiga?)

Nick, You said earlier that I should consider using NAGI's standard.ini file to recognise the games.  Looking at it, it would not be that hard, but your CRC code is obviously different to mine, and I cant figure out what yours does, but nothing I do gives those numbers... can you help me (code or explanation)?
RaDIaT1oN More:
The amiga version of Kings Quest 3 (2.15 I think) appears to be an AGI 3 game. (The file formats are.) but the filenames are "dirs", and "vol.*"  are all amiga AGI 3 games like this?  (I'm busy downloading KQ4 now...)

Also for Amiga game support does VAR[20] need to be set to something other than zero?  I mean does the game logic ever check this, or does it not matter?
df for crc'ing games, i think we all do the same thing? if not, we should, to keep the crc's across interpreters. sarien has a fairly sizable list, but we dont really include fan games, they change too much all the time. i think nick includes fan games in his list?

as for var[20], there was some contention, i dont think there is really a machine variable. i know we dont set it in sarien and the games work ok. i think agispecs is wrong in listing it as a machine variable, i'm, sure its for another purpose. (its been a while since i looked into this....)
sonneveld
as for var[20], there was some contention, i dont think there is really a machine variable. i know we dont set it in sarien and the games work ok. i think agispecs is wrong in listing it as a machine variable, i'm, sure its for another purpose. (its been a while since i looked into this....)


In regards to the machine code, I don't know if amiga games bother to check it, but I know pc games check the difference between pcjr and pc when it's setting the keys.  I actually made a list, a while ago, of all the different systems and what the vars were set as.

It's not complete, and I didn't thoroughly check each system, but I think it proves that var 20 is a system variable.

20 - system type
0 = pc
1 = pcjr
2 = tandy
4 = ??
5 = amiga
7 = apple ii gs
8 = ps2 with MCGA?
?? = mac
?? = apple ii
0xFF = uninitialised

22 - sound generator (probably number of channels)
1 = pc
3 = tandy/ amiga / apple iigs

26 - monitor type
0 = apple iigs
0-1 = cga types
2 = hercules
3 = ega / amiga (16 colours)
sonneveld
I have got the object code working in AGIL, just if it's amiga change some threes to fours.
How can I find out which version of the original AGI these games used? (Without an amiga?)

The amiga version of Kings Quest 3 (2.15 I think) appears to be an AGI 3 game. (The file formats are.) but the filenames are "dirs", and "vol.*"  are all amiga AGI 3 games like this?  (I'm busy downloading KQ4 now...)


all Amiga games have the funny packed object.  But there are v2 and v3 game difference.  v2 filenames are exactly the same as pc.  v3 are the version you've discovered. dirs and vol.*..  it doesn't have a gameid like the pc.

When NAGI loads the object file, it tries loading it as whatever it was defined in standard.ini.. but it checks the sizes and makes sure it doesn't go out of bounds.  If it does, then it tries the amiga packed version and encryption, and stuff like that.  at least until it finds a version that will load without errors.

You could only really detect 3-4 different versions of AGI game without having to go to the interpreter.  You've got your two main v2 and v3 distinctions.  Then there's versions in between.

v2.272 and earlier interpreters didn't encrypt the object file.  All later v2 games did.

v3.002.086 was used by Kings Quest 4 and had a funny version of setting the loops of moving sprites. So if your kq4 game's ego moon walks, that's an early v3 game.   All other v3 games didn't implement this funny loop setting.. but had another one that required a certain flag set (flag 20).

If you do try and run these games with an Amiga emulator.. just remember that pc version numbers and amiga version numbers differ.

- Nick
sonneveld
Nick, You said earlier that I should consider using NAGI's standard.ini file to recognise the games.  Looking at it, it would not be that hard, but your CRC code is obviously different to mine, and I cant figure out what yours does, but nothing I do gives those numbers... can you help me (code or explanation)?

for crc'ing games, i think we all do the same thing? if not, we should, to keep the crc's across interpreters. sarien has a fairly sizable list, but we dont really include fan games, they change too much all the time. i think nick includes fan games in his list?


NAGI uses the CRC32 algorithm.  It's the same for Winzip and ethernet apparently.  A good document on this can be found at:

ftp://ftp.rocksoft.com/papers/crc_v3.txt

After a whole bunch of technical explanations.. it gets to rolling your own table-driven generator...

It would be great if the interpreters could share checksums and save games however.

Does Sarien checksum the entire game or just the words.tok?  I can't remember.  I prefer to separately checksum all the files because it's handy.  For instance, there's a corrupted version of Kings Quest 4 around, and it only differs by one file.

NAGI has fan games in the list.. but most of the older games haven't changed for years.. so they're safe.  For other games that do change.. the plan was for them to include their own version of standard.ini.. which nagi would read (haven't implemented this yet) instead of the original standard.ini

- Nick
sonneveld Check out
http://members.dingoblue.net.au/~sonneveld/nagi/dl/

agi_crc.c and .h are the crc32 code I use.  It's just a big table with a small function tagged at the end.  Makes you think.. could use just replace that table with random numbers and get a another useful checksum generator?

the crc's should be the same as winzips so you can compare it with that program for a reference.

The original code in the Rocksoft CRC docs were public domain so I'll make the crc module public domain as well.  No implied warranties or guarantees though.  Credit would be nice or me or Rocksoft but I don't require it.

- Nick
df iirc, all i did in sarien was crc the main files each and add it to one crc. so i generate crc's for  works.tok, picdir, logdir, etc, then add it to get one number. its also not much of a crc :)