As mentioned in the "Original SCI syntax" thread, disks of AGI releases sometimes contain remnants of internal data.
Below are some fragments of the original AGI specs. Missing parts are marked as "@@@".
I have now verified that the AGI spec fragments came from the original LSL1, disk 1. The exact fragments that HWM posted appear in that order on the disk. The interesting bit is that they all appear in the second half of a cluster. For 720K disks, the cluster size is 2 sectors, i.e. 1024 bytes. So in every case where the AGI spec fragments appear, the cluster offset of the start of the AGI spec fragment is 0x200 (512). And in the cases where the "slack space" starts before the beginning of the second sector in the cluster, the slack in the first sector is always unrelated to the AGI fragment that appears in the second sector of the cluster, for example:
Cluster# 81: EOF, appears after the end of: _LL.BAT
0020 20 20 20 20 20 20 10 00 00 00 00 .....
0030 00 00 00 00 00 00 0F 50 EA 0E 80 19 00 00 00 00 .......P........
0040 47 52 41 46 20 20 20 20 4F 20 20 00 00 00 00 00 GRAF O .....
0050 00 00 00 00 00 00 43 45 9C 0E 95 19 1C 03 00 00 ......CE........
0060 43 50 43 20 20 20 20 20 4F 20 20 00 00 00 00 00 CPC O .....
0070 00 00 00 00 00 00 F7 72 D9 0E 96 19 02 02 00 00 .......r........
0080 52 45 4C 4F 43 20 20 20 4F 20 20 00 00 00 00 00 RELOC O .....
0090 00 00 00 00 00 00 22 71 0E 0D 97 19 BA 01 00 00 ......"q........
00A0 53 54 41 54 55 53 20 20 4F 20 20 00 00 00 00 00 STATUS O .....
00B0 00 00 00 00 00 00 F2 84 39 0D 98 19 50 02 00 00 ........9...P...
00C0 4C 4F 41 44 50 52 4F 47 4F 20 20 00 00 00 00 00 LOADPROGO .....
00D0 00 00 00 00 00 00 E5 85 33 0B 99 19 F0 03 00 00 ........3.......
00E0 44 49 52 20 20 20 20 20 4F 20 20 00 00 00 00 00 DIR O .....
00F0 00 00 00 00 00 00 E6 85 33 0B 9A 19 CE 01 00 00 ........3.......
0100 57 52 54 42 4F 4F 54 20 4F 20 20 00 00 00 00 00 WRTBOOT O .....
0110 00 00 00 00 00 00 E8 85 33 0B 9B 19 0D 04 00 00 ........3.......
0120 44 4F 53 4C 4F 41 44 20 4F 20 20 00 00 00 00 00 DOSLOAD O .....
0130 00 00 00 00 00 00 FC 40 DE 0E 9C 19 10 04 00 00 .......@........
0140 42 4F 4F 54 20 20 20 20 53 20 20 00 00 00 00 00 BOOT S .....
0150 00 00 00 00 00 00 19 52 3E 0D 9D 19 96 1D 00 00 .......R>.......
0160 43 4F 4C 4F 52 20 20 20 53 20 20 00 00 00 00 00 COLOR S .....
0170 00 00 00 00 00 00 D0 85 33 0B A6 19 BE 01 00 00 ........3.......
0180 52 45 41 44 44 49 53 4B 4F 20 20 00 00 00 00 00 READDISKO .....
0190 00 00 00 00 00 00 EC 85 33 0B A9 19 0B 01 00 00 ........3.......
01A0 4D 45 53 53 41 47 45 20 53 20 20 00 00 00 00 00 MESSAGE S .....
01B0 00 00 00 00 00 00 21 71 90 0E AA 19 83 10 00 00 ......!q........
01C0 4C 4F 41 44 20 20 20 20 53 20 20 00 00 00 00 00 LOAD S .....
01D0 00 00 00 00 00 00 3C 52 3E 0D AD 19 34 17 00 00 ......<R>...4...
01E0 4C 4F 41 44 50 52 4F 47 53 20 20 00 00 00 00 00 LOADPROGS .....
01F0 00 00 00 00 00 00 D7 85 33 0B B1 19 AB 14 00 00 ........3.......
0200 73 20 69 73 20 64 6F 6E 65 20 62 79 0D 0A 09 61 s is done by...a
0210 6E 69 6D 61 74 65 2E 6F 62 6A 28 29 2E 0D 0A 0D nimate.obj()....
0220 0A 65 6E 64 2E 6F 66 2E 6C 6F 6F 70 28 4F 42 4A .end.of.loop(OBJ
0230 45 43 54 2C 20 46 4C 41 47 29 0D 0A 09 52 65 73 ECT, FLAG)...Res
0240 65 74 20 74 68 65 20 66 6C 61 67 2E 20 20 49 6E et the flag. In
0250 63 72 65 6D 65 6E 74 20 74 68 65 20 63 65 6C 09 crement the cel.
0260 6E 75 6D 62 65 72 20 61 74 20 65 61 63 68 20 61 number at each a
0270 6E 69 6D 61 74 69 6F 6E 20 63 79 63 6C 65 2E 0D nimation cycle..
0280 0A 09 57 68 65 6E 20 74 68 65 20 6C 61 73 74 20 ..When the last
0290 63 65 6C 20 6F 66 20 74 68 65 20 6C 6F 6F 70 20 cel of the loop
02A0 69 73 20 72 65 61 63 68 65 64 2C 20 73 74 6F 70 is reached, stop
02B0 20 63 79 63 6C 69 6E 67 20 61 6E 64 20 73 65 74 cycling and set
02C0 20 74 68 65 20 66 6C 61 67 2E 0D 0A 0D 0A 72 65 the flag.....re
02D0 76 65 72 73 65 2E 63 79 63 6C 65 28 4F 42 4A 45 verse.cycle(OBJE
02E0 43 54 29 0D 0A 09 43 79 63 6C 65 20 74 68 65 20 CT)...Cycle the
02F0 6F 62 6A 65 63 74 20 66 72 6F 6D 20 74 68 65 20 object from the
0300 63 75 72 72 65 6E 74 20 63 65 6C 20 6E 75 6D 62 current cel numb
0310 65 72 20 74 6F 20 63 65 6C 20 30 2E 20 20 57 68 er to cel 0. Wh
0320 65 6E 20 63 65 6C 20 30 0D 0A 09 69 73 20 72 65 en cel 0...is re
0330 61 63 68 65 64 2C 20 73 74 61 72 74 20 61 67 61 ached, start aga
0340 69 6E 20 61 74 20 74 68 65 20 6C 61 73 74 20 63 in at the last c
0350 65 6C 20 6F 66 20 74 68 65 20 63 75 72 72 65 6E el of the curren
0360 74 20 6C 6F 6F 70 2E 0D 0A 09 0D 0A 72 65 76 65 t loop......reve
0370 72 73 65 2E 6C 6F 6F 70 28 4F 42 4A 45 43 54 2C rse.loop(OBJECT,
0380 20 46 4C 41 47 29 0D 0A 09 52 65 73 65 74 20 74 FLAG)...Reset t
0390 68 65 20 66 6C 61 67 2E 20 20 44 65 63 72 65 6D he flag. Decrem
03A0 65 6E 74 20 74 68 65 20 63 65 6C 20 6E 75 6D 62 ent the cel numb
03B0 65 72 20 61 74 20 65 61 63 68 20 61 6E 69 6D 61 er at each anima
03C0 74 69 6F 6E 20 63 79 63 6C 65 2E 0D 0A 09 57 68 tion cycle....Wh
03D0 65 6E 09 63 65 6C 20 30 20 69 73 20 72 65 61 63 en.cel 0 is reac
03E0 68 65 64 2C 20 73 74 6F 70 20 63 79 63 6C 69 6E hed, stop cyclin
03F0 67 20 61 6E 64 20 73 65 74 20 74 68 65 20 66 6C g and set the fl
These observations appear to confirm what was claimed regarding slack space, i.e. that the final sector used by a file is filled to the end of that sector with "ram slack", and any remaining sectors in the same cluster are filled with "drive slack" (i.e. deleted file content already on the disk). In the case of the second type of slack, I still have a feeling that it wasn't actually on the floppy disk, but was instead "drive slack" on the hard disk from which it was copied, and that a flaw in the copy tool copied the "file slack" (both "ram" and "drive" slack) along with the file, up to the end of the last cluster used by the file, on to the floppy.
One thing that I find very strange is that all the literature in the computer forensics domain claim that "ram slack" is the result of randomly selected RAM contents. It implies that DOS somehow randomly chose what part of RAM to "fill" the rest of the sector with. I've even found references that implied that DOS had to do this in order to function properly. I find both of those suggestions very difficult to believe. Most of us here are programmers, so we can imagine that randomly selecting memory contents to "pad" the rest of a sector with is actually an overhead to the file writing process rather than an unavoidable necessity. It seems far more likely that DOS's memory buffers dealt with sectors as a whole and that the final sector was simply written out as a sector-sized chunk from the memory buffer and that if the last part happened to have data from an earlier read file, then that would be written out with the final sector. It is possible that this additional "slack" was described as being random, simply because anything could be in the memory buffer from earlier reads, and that perhaps through assumptions made by people reading that, it became described as "randomly selected" memory contents. I actually find it quite worrying that the computer forensics literature on this is often coming out of the legal domain and what they are stating seems to be a misunderstanding of what is probably happening. I'm considering running a few tests using DOS 3.2 and DOS 3.3 on a couple of PC emulators to see if I can reproduce the generation of slack space, in an attempt to understand what was happening.
I was also planning to send a few questions Tim Patterson's way to see what his thoughts on this are. He wrote the original version of DOS. It may be that the whole slack space thing was introduced after his time, but I'm fairly sure it was there by DOS 3. All of the Sierra original disk examples I've seen are on floppy disks that were formatted with either version 3.2 or 3.3, and one that was formatted by Norton Utilities (which gives no indication about the DOS version).
What does all this have to do with AGI and SCI? It's the process of understanding how slack originated. I'm hoping that we might be able to find more original SCI source code on original game disks. We've already found fragments of BRIEF macros, which we know that they used. One of the macros even appears to be one of their custom BRIEF macros. So if this can appear in the slack space of a file's final cluster, and AGI specs, then it is certainly possible that SCI source code could appear in there.
As a final note, I read a few days ago on another site somebody asking the question of whether CDROMs from the DOS and earlier Windows days also suffered from slack space. It's quite possible I suppose. It is worth checking out.