Rumors of Z-machine at UPEW
Oldbitcollector (Jeff)
Posts: 8,091
Not sure who I was talking to at UPEW.. (I tried to catch all of you..)
Someone was rumoring of a Z-machine engine for the Propeller (zork stuff)
Anyone want to fess up?
[noparse]:)[/noparse]
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
Someone was rumoring of a Z-machine engine for the Propeller (zork stuff)
Anyone want to fess up?
[noparse]:)[/noparse]
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
Comments
Not me, but it's one of things high on my "to do" list - there are plenty of good Z-machine implementations written in C. The problem is that they are all quite resource hungry. But it's not just the Z machine that's resource hungry - the text strings alone of even the simplest Z game would easily blow the Prop's 32kb limit (which represents less than 10 pages of text). So not only do you need XMM, you also need to be able to put the constant text segment into XMM - something which I am still working on.
Imagecraft may be more advanced than Catalina on this point - you could try that compiler. But the simplest way to do it at the moment may be to use ZiCog running CP/M - there are several Z machines that I believe will run under CP/M.
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
Note: This is completely new code and not based on any other Z machine interpreter.· It is also limitted to version 3 of the Z-machine spec.· (Which includes most of the best known Infocom games.)· I did the original development & debugging in C then ported the final version to SPIN.· This way I wasn't limitted by HUB RAM.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Composite NTSC sprite driver: http://forums.parallax.com/showthread.php?p=800114
NTSC & PAL templates: http://forums.parallax.com/showthread.php?p=803904
Post Edited (ericball) : 7/7/2009 2:11:37 AM GMT
Great work. I look forward to playing your version.
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
I'd guess maybe something to do with a Z80?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
A Z machine is a game interpreter that is used to execute the old text-based adventure games that were sold by a company called Infocom. The most famous in a long line of games was probably "Zork" - which I guess is probably where the name comes from. Other people also developed such games.
The games themselves were just big data files containing a map of the "universe" in which the game was played, the game rules to apply, and all the text that you would see on the screen (no graphics!). The Z machine included a pretty cool (for the time) language parser that could accept free input input (e.g. " open the box and take the key").
I loved those games!
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
Actually, the parser isn't part of the Z-machine. The Z-machine accepts a line of text input and then tokenizes the words using a dictionary included in the game file. The Z-machine code in the game file then uses the tokens to determine what actions the user has requested.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Composite NTSC sprite driver: http://forums.parallax.com/showthread.php?p=800114
NTSC & PAL templates: http://forums.parallax.com/showthread.php?p=803904
Post Edited (ericball) : 7/7/2009 12:51:38 AM GMT
Sounds like lots of time and sweat went into the early games. I was busy with real work in that era, so games were not high on my list of 'to do's'. Thanks
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
As a point of interest, language that the games were written in was called ZIL [noparse][[/noparse]Zork Interactive Language]. This was stated in one of the company's newsletters which were called "The New Zork Times" [noparse][[/noparse]prior to the lawsuit of the paper with a similar name]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com - my site my 6.250MHz custom Crystals for running Propellers at 100MHz
Las - Large model assembler for the Propeller Largos - a feature full nano operating system for the Propeller
Please use mikronauts _at_ gmail _dot_ com to contact me off-forum, my PM is almost totally full
The Z-Machine has a flat 128K memory model with full random byte access.· Writes are restricted to the lower 64K (normally much less than that so swapping isn't required on a typical 8 bit computer).· My plan is to swap in 512 byte blocks into free HUB RAM, writing dirty blocks back out as required.· Because I need random block access I will probably need to write my own version of frsw.· (Also needed because I need 2 files open at once to copy z3->tmp, tmp->sav & sav->tmp.)
However, I will be releasing it under the ObEx/MIT license so anyone will be able to take it and modify it.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Composite NTSC sprite driver: http://forums.parallax.com/showthread.php?p=800114
NTSC & PAL templates: http://forums.parallax.com/showthread.php?p=803904
Don't forget to shower occasionally!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
Or you are likely to be eaten by a Grue. [noparse]:)[/noparse]
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
Post Edited (Oldbitcollector) : 7/7/2009 2:02:33 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
Lawson
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lunch cures all problems! have you had lunch?
And although it is targetted for Interactive Fiction, the Z-Machine is Turing Complete and could be used for other tasks (although it's I/O functions are limitted).· One guy modified a C compiler·to target the Z-Machine, then used it to write a chess game.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Composite NTSC sprite driver: http://forums.parallax.com/showthread.php?p=800114
NTSC & PAL templates: http://forums.parallax.com/showthread.php?p=803904
Wow.. That's an impressive picture! Looks like something that should have been described in an
Infocom adventure somewhere. [noparse]:)[/noparse]
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
"You walk into a loud, circular chamber with stairs leading down into a pool whose surface arcs with lightning..." [noparse];)[/noparse]
Very cool - so I could use your Z machine interpreter running on a Propeller to compile a version of Catalina to compile a Z machine emulator to run on a Propeller to ...
... you are in a maze of small, twisty passages, all alike ....
... oh, damn!
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina