I wanted to say that you're both doing amazing work. I'm really impressed.
I was wondering if either of you saw my blog post about a week ago where I covered the discovery of Sierra's original AGI interpreter source code on a SQ2 game disk? It went a bit viral on Hacker News, reaching the top spot for a while.
https://lanceewing.github.io/blog/sierr ... -disk.html
It isn't exactly new news, as it was previously discussed on the sciprogramming.com forums back in 2016, but it occurred to me that not many people know of its existence, despite potentially thousands of people unknowingly having it. So in the interests of preservation, and spreading the word, I thought I'd put it into a github repo:
https://github.com/lanceewing/agi
In the past 24 hours, I added the file AGI.MAP, which is the Memory Map file extracted from the same SQ2 game disk. The version of the disk was missing the first few pages of the document, but after identifying it as a PLINK86 Memory Map output file, and playing around a bit with PLINK86 in dosbox, I was able to deduce what the other pages contained, so was able to reconstruct it. It is now a complete Memory Map file of the AGI.EXE as output from PLINK86 when they ran it on the 7th October 1987. As far as I can tell, it is roughly version 2.900 of the Interpreter, which isn't actually a known version from any game disk, but since the 7th October 1987 predates the known 2.903 version of AGI by a couple of weeks, I suspect it is at least very similar to version 2.903 or might be ever so slightly earlier.
The repo contains roughly 83% of the original AGI interpreter source code, and given its close proximity on the disk to the Memory Map output file, I think the source code must date to the same period. I had originally stated that the SQ2 disk had 70% of the source on it, and another 5% was found on a KQ3 disk. I have since reevaluated the percentage, taking into account the actual sizes of the modules, and ignoring bits that were linked in from libraries (such as PLINK's OVERLAY.LIB, and a couple of modules from the compiler's libraries), I eventually arrived at that 83% figure.
Anyway, long story short, I thought I would point you both in the direction of the repo as it will no doubt be a valuable source of information for the development of your Commander X16 AGI interpreters. The comments in the code, and the original names of the functions, should hopefully both be very useful.