My five cents is that the interpreter was machine code, written in assembly language. The portable game-file is DAT/SCK/SACA/SAGA. The data file is produced with an authoring system that could be from propriatory to ScottKit.
It is well known that Scott Adams’ first two games were written in BASIC, as the source code was published in SoftSide, Byte and The Captain 80 Book of BASIC Adventures.
Just going by memory, this consisted of two programs, one to write the data file (an early version of the SACA format that we’ve been discussing) and an interpreter to read and execute that data file.
The commercial versions were more sophisticated. He used in-house tools to write the data file. The interpreters for each platform were no doubt written in assembly language. He has written about this in articles in Creative Computing, and possibly SoftSide, where he wrote a regular column for a year or so.
Regarding machine language vs assembly language, ultimately, everything runs in machine language, but you write in assembly language and assemble it to machine code OR you write it in a high-level language such as C, Pascal, FORTRAN et al and compile it into machine code, sometimes using intermediate steps to compile to object code then link all the modules to create an executable.
Regarding The Hobbit, this was not written in assembly language, but written using an in-house authoring system called ‘Inglish’ which was written by Philip Mitchell with input from Veronika Megler.
The trick is, there are multiple versions of the early Howarth games. He first wrote more verbose versions in assembly, then later “ported” them (with a lot of rewriting to fit the constraints of the system) to the Scott Adams database format.
Derailing my own topic…
Here’s something on the internet:
This had presented a huge challenge even when Megler was still on the project:
The Hobbit was a tough game to test. Unlike the other games of the time, it was written in assembler, not BASIC, and we would find bugs in the assembly and linking programs.
Source: » The Hobbit The Digital Antiquarian
One of the comments quotes from a further document:
However, his thinking was not well suited to what was possible to develop in Assembler in the space and time available, so, according to what Phil told me at the time, none of his design was used – although I suspect that being exposed to his thinking helped Phil crystallize what eventually became Inglish.
Source: http://veronikamegler.com/BDCH_2014_Megler_The_Hobbit_v1.1.pdf
Yes, that’s basically what I was saying, but I was keeping it brief. Stuart Ritchie was writing stuff in assembly language, but it was found to be unusable, so they converted to Inglish, which was itself probably written in assembly language, as most authoring languages were in those days.
It seems a bit beside the point to discuss which language interpreters and authoring systems were written in. Inform 6 is written in C, but the Ifwiki page for Curses does not say that C is the authoring system, it says Inform. And even if Inform had been written in hand-coded machine code, we would still say that the authoring system is Inform.
I agree. It was all in response to the fact that a couple of wiki pages claim their games were written in machine code. I just want to know exactly what to put in the Authoring system and Format fields for the “Scott Adams” games. Inform games on the wiki do have Inform 6 or 7, and Z-code or Glulx, in those fields, rather than mentioning C.
Correct. The authoring system for the Scott Adams games could be listed as “proprietary”, as you suggested earlier, except for those non-commercial ones that are known to be written with another authoring system, such as the Bruce Hansen games, but the authoring system used for most of these is unknown.
Does the authoring system for these games really matter? I think not. It’s only the file format that really matters and even this was obfuscated on many of the early platforms. For example, I used an Atari 800 to play my Scott Adams games and these loaded from cassette. The disk versions did not use the disk operating system, so you couldn’t see the individual data files, as there weren’t any.
Regarding Inform 6, the “authoring system” is actually a text editor. The source code is written in Inform 6 (the language) and includes other Inform 6 files (the library) and is compiled by the Inform 6 compiler. It’s only the compiler that’s written in C. This is no different to any high-level language. The compiler creates a story file in Z-code and the story file is run by an interpreter. The interpreter can be written in anything, usually C, but it could be assembly language (for old 8- and 16-bit interpreters), Java, Javascript or anything else that the interpreter author chooses to use.
Thank you all. Over the next couple of days I’ll try to sort out these pages, then report back ![]()
Looking forward to it, thanks.
Yes, keep up the good work!
Sorry for under-delivering! I’ll add a bookmark on the forum…