Revelations From Exploring Disk Images Created for Archiving

General technical information about Sierra & classic games. Please do not ask game support questions here unless it directly relates to an existing thread.
Post Reply
User avatar
Collector
Grand Poobah
Posts: 12013
Joined: Wed Oct 08, 2008 12:57 am
Location: Sierraland
Contact:

Revelations From Exploring Disk Images Created for Archiving

Post by Collector »

Exploring the disk images created for our digital archival project has been revealing some undisclosed information about the Sierra game development and disk production process. From the Space Quest II disk comes this fragment:

Code: Select all

ark (atoi (substr button_text (+ (rindex button_text ";") 1))))
					(_dialog_esc)
					(returns TRUE)
				)
		)
	)
)
A bit of Googling reveals this is from a BRIEF macro. And here is the actual code:

Code: Select all

(macro _bookmark_action
	(
		(int	event_type)
		(string	button_text)
		(get_parm 0 event_type)
		(switch event_type
			DIALOG_MOVE_MENU
				(
					(get_parm 2 button_text)
					(if (index button_text ";")
						(returns TRUE)
					;else
						(returns FALSE)
					)
				)
			DIALOG_PICK_MENU
			NULL
			DIALOG_F10
				(
					(get_parm 2 button_text)
					(= _bookmark (atoi (substr button_text (+ (rindex button_text ";") 1))))
					(_dialog_esc)
					(returns TRUE)
				)
		)
	)
)
http://koti.mbnet.fi/juhal87/juhallebac ... S/DIALOG.M
Lance Ewing wrote:I've found some more data at the end of another partially used cluster that is further evidence of it having previously had BRIEF macros on it. The data appears to be two and a bit directory entries, which I think is suggesting that this cluster was previously used as a subdirectory that stored entries for BRIEF macros. The partial macro text for the BUFFERS.M file would have been one file in that sub-directory, and these two and a bit directory entries are suggesting that the sub-directory also contained RESTORE.M, RESTORE.CM and ROUTINES.CM. The size of the ROUTINES.CM file (according to the directory entry data) exactly matches the size of the file as shown in the following guy's copy of BRIEF here:

http://koti.mbnet.fi/juhal87/juhallebac ... BR/MACROS/

The above appears to be version 2.1 of BRIEF from about 1988.

For the other 2 files in the sub-directory directory entry data, the sizes do not exactly match the 2.1 versions, but they are very close in size (18215 vs 18318 in one case, 4004 vs 4054 in the other). Given the sizes are slightly larger, and given that SQ3 came out in 1989, I'm tempted to suggest that the version of BRIEF that the files related to might have been slightly newer that 2.1, but for all intents and purposes, I think we can say that the above URL linking to a copy of BRIEF that some guy has kindly placed there for all to view on the Internet is roughly what would have been in use at the time that the first SCI games were coming out. And I think it's quite likely that Sierra were using that editor.

I've done a bit of reading on BRIEF and it was apparently "the" programmer's editor of the 80s. It was very popular for developers building DOS apps at that time.

http://en.wikipedia.org/wiki/Brief_%28text_editor%29

One of the things it had was a LISP-like macro language, which all of those .M macro files are written in. The .CM files I think are the compiled versions, and I read someone online that its compiled to a bytecode of some sort. I wonder to what degree this LISP-like macro language influenced Jeff when he designed the SCI language. Sierra may have been using BRIEF pre-SCI, i.e. in the AGI days, and given that BRIEF is a reconfigurable editor (done via change the macros), then they were probably quite used to writing in that type of language prior to using SCI.

I'm guessing that the name of the partial sub-directory I found on the SQ3 disk was called MACROS, as shown in the above install of BRIEF. And if the macros were on the disk, chances are that a lot of the other files for BRIEF were also on there. I might be able to find evidence for this but as yet I have only been looking for recognisable text and not binary data."
According to an ex-Sierra employee that Lance contacted:
"Not surprising to find traces of Brief considering it was the editor of choice of ALL programmers at Sierra until it was obsoleted by the move to Windows.
This exploration is even revealing the names of some of the original development tools:
From KQ4 and LSL2 there is a PE.EXE mentioned, a SC.EXE and a MESSAGES.EXE. I think these might have been some of their tools, perhap PE for Picture Editor and SC for Script Compiler.
Lance Ewing wrote: I had some interesting comments from the ex-Sierra employee regarding the directory entry tables I'm finding. He confirmed that SC.EXE was the name of the script compiler tool, but he claims that MESSAGES.EXE was a message compiler that wasn't used until about 1992, perhaps initially with QFG3. I think he might be remembering incorrectly though because this directory entry table has a date on it of Sept 1988 against MESSAGES.EXE and that makes sense given that LSL2 was released in 1988. Perhaps there was an earlier version of MESSAGES.EXE that was an earlier incarnation of what he recalls.
01000010 01111001 01110100 01100101 00100000 01101101 01100101 00100001

Image
User avatar
Expack3
Sierra Obsessed
Posts: 169
Joined: Wed Apr 25, 2012 7:58 pm
Gender: Not Specified

Re: Revelations From Exploring Disk Images Created for Archi

Post by Expack3 »

How were these BRIEF macros discovered? Were they previously-unreadable files which were exposed by the low-level reads?
You like manuals. You like manuals. You love them. You cannot resist manuals.
Your gameplay experience is meaningless without manuals.
User avatar
Collector
Grand Poobah
Posts: 12013
Joined: Wed Oct 08, 2008 12:57 am
Location: Sierraland
Contact:

Re: Revelations From Exploring Disk Images Created for Archi

Post by Collector »

These were stings within fragments found in the images from the original disks.
01000010 01111001 01110100 01100101 00100000 01101101 01100101 00100001

Image
Alistair
Noob
Posts: 4
Joined: Tue Oct 29, 2013 1:03 am
Gender: Not Specified

Re: Revelations From Exploring Disk Images Created for Archi

Post by Alistair »

Thanks for continuing to unearth these interesting fragments Drew. This one is a wee bit obscure but maybe could be useful in the future?
User avatar
Collector
Grand Poobah
Posts: 12013
Joined: Wed Oct 08, 2008 12:57 am
Location: Sierraland
Contact:

Re: Revelations From Exploring Disk Images Created for Archi

Post by Collector »

It does seem to reveal something of the process they used for production. Anyone that wants to see what the Sierra Developers used for scripting these games you can find BRIEF here http://www.oldskool.org/guides/texteditors. I have not tried it, but it should run OK in DOSBox. It is interesting to note that the BRIEF macro language was LISP like, just as the SCI scripting language was.

It also appears that they used FastBack for a backup utility.

And this from KQ1SCI:

Code: Select all

kq1.SC             14141 12-Sep-1990 13:38:58 [cluster=5810]
RM270.SC           24553 03-Oct-1990 09:25:40 [cluster=8035]
RM360.SC           33038 12-Sep-1990 13:42:16 [cluster=5735]
RM450.SC           16780 25-Sep-1990 09:13:34 [cluster=5340]
RM898.SC            2748 12-Sep-1990 09:43:04 [cluster=5639]
RM260.SC           50661 07-Sep-1990 14:50:46 [cluster=5682]
RM340.SC            2178 07-Sep-1990 14:52:08 [cluster=5709]
RM370.SC           16338 07-Sep-1990 15:03:22 [cluster=5863]
RM250.SC           41033 01-Oct-1990 18:20:58 [cluster=8050]
RM200.SC           27202 01-Oct-1990 15:22:16 [cluster=1791]
The original SCI scripts had the ".SC" extension just as SCI Studio/Companion uses. I suspect that Brian must have determined this when he was REing SCI for SCI Studio.

A tool to facilitate this exploration is in development. It is starting to be an exciting time for AGI/SCI again with a number of new tools for our digital archival project and for AGI/SCI game development.
01000010 01111001 01110100 01100101 00100000 01101101 01100101 00100001

Image
Post Reply

Return to “Sierra Game Tech Info”