6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 15, 2024 4:02 am

All times are UTC




Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Wed Oct 30, 2019 8:59 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10977
Location: England
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/Magnetic

The 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


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 30, 2019 1:38 pm 
Offline

Joined: Thu Jan 21, 2016 7:33 pm
Posts: 279
Location: Placerville, CA
The various approaches to developing portable adventure-game runtimes are pretty fascinating, really; seems like any time you need a scripting engine with any serious degree of flexibility (to say nothing of the ability to save and reload at any arbitrary point in a programmed sequence of events,) you inevitably end up writing a full virtual-machine simulator. What's interesting is to look at how various designs reflect different influences on the game model; some interpreters are more directly low-level, like this, while TADS and Inform are more LISP-y/Smalltalk-y in their internal structure. Fun stuff.


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 30, 2019 1:45 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10977
Location: England
Indeed! Infocom's Z-machine was pretty interesting, and well-used:
New Tricks for an Old Z-Machine, Part 1: Digging the Trenches


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: