Here are some old notes I made, about Magnetic Scrolls and their approach to portability - I'd like to know more about this!
There is one passing mention on this forum, by Miles J:
Miles J. wrote:
Magnetic Scrolls adventures are actually written in some kind of 68000 subset, so when the C64 version runs 'The Pawn', 'The Guild of Thieves', 'Jinxter' etc it runs an emulator that basically emulates 68000 machine language (I'm not kidding).
Some quotes from Jimmy Maher's
QL Pawn post on The Digital Antiquarian:
Quote:
In their technical approach to game-writing as in so much else, they were determined to follow Infocom’s lead as much as possible. In lieu of Infocom’s famous DEC minicomputer, they built a network of four Apple IIs linked to a central hard drive. They used this to write in a subset of 68000 assembly language, which they named ELTHAM: “Extra Low-Tech Highly Ambiguous Metacode,” thus showing if nothing else that they had a sense of humor about the whole endeavor. A cross-compiler translated the ELTHAM code into a form suitable for running on the QL. Over long hours in the cramped office they applied all of the lessons they had learned as hobbyists and Infocom fanatics to an adventure-game engine with a complicated world model and a full-sentence parser the likes of which had never yet been seen from a British developer.
From commentator David Kinder:
Quote:
Digging through old emails, I have this from Paul Findley:
“Yeah, well I guess after all these years, the game is finally up. I confess. ELTHAM *was* 68K with our own extensions. We wrote 68K emulators for VAX, 6502 and 8086 and essentially dumped the 68K binaries into ELTHAM datafiles. Sometimes the datafiles were reversed for speed reasons (which made it harder to spot too!), but it was basically 68K. Of course, this also meant we could run native on 68K platforms, hence your friend’s observations re Amiga and it also explains the embedded 68K on the C64. It was a great idea which we kept secret for a long time.”
Elsewhere, "Stu" aka yakumo9275 writes:
Quote:
Major parts of the games were implemented with a tool called FRED. Mainly Fred was a data entry tool which was used to store the descriptions of objects, rooms and NPCs and describe the properties of each object (e.g. weight, movable, burnable, container,...). Each object had a 14 byte descriptor block. For The Pawn Fred 23 was used, the later games were done with Fred 23junior, which were both developed by Hugh Steers. In several games magazines (e.g. the german Happy Computer) FRED was incorrectly denoted as a "language".
[*] Eventually this game code was compiled into an intermediate code called ELTHAM (Extra Low Tech Highly Ambiguous Methodology or alternativly Extra Low Tech Highly Ambiguous Metacode).
[*] The ELTHAM code implemented a subset of the 68000 machine code. It was executed "natively" on ST, Amiga, QL, Macintosh and emulated on the other systems. The virtual machine used up to 64k. On 8 bit machines they used virtual memory mechanisms. On the C64 non-active pages were held on the floppy disc. Only "read-only" pages were swapped.
but this turns out to be quoted from
Magnetic Scrolls Fact Sheet (also
here.)
where we also see this 6502-relevant note:
Quote:
[*] The disc protection for the Atari ST (which could only be copied with ACopy 1.2p) was realized through a BBC Micro. The ST and the BBC used different floppy controllers. The copy protection relied on some special features of the BBC controller to write sector numbers > 0xF0. Those sectors could be read with the ST floppy controller, but normally it was impossible to write the format, because these sector numbers were treated as "magic". Though a BBC Micro should not have any problems with making copies of the discs.
Elsewhere, in "Magnetic: An interpreter for Magnetic Scrolls adventures" written by Niclas Karlsson:
Quote:
Magnetic Scrolls also released versions for at least the Apple II and Atari XL.
Found various places including
https://github.com/DavidKinder/MagneticThe first offering, "The Pawn" was in due course released on:
Amiga, Amstrad CPC, Amstrad PCW, Apple2, Archimedes, Atari ST, Atari XL/XE, Commodore 128/64, IBM-PC, Macintosh, Sinclair QL, Spectrum 128K, Spectrum +3
which is to say: 68000, 6502, x86, Z80