Giter VIP home page Giter VIP logo

mdl-confusion's Introduction

Confusion: A MDL interpreter
(or, "How to Fit a Small Program into a Large Machine")

For those poor souls still stuck in dawn of IF history, I present 
"Confusion" -- a MDL interpreter which works just well enough to play 
the original Zork all the way through.  The original Zork isn't for the 
faint of heart, and neither is Confusion; it is only available in 
source form, with minimal instruction (which follows).

Confusion is written in C++, though about 99% is pure C. To build it, you 
will need the Boehm-Demers-Weiser conservative garbage collector for 
C.  <http://www.hpl.hp.com/personal/Hans_Boehm/gc/> 
Some Linux distros have this as a package, called "gc-dev" or 
similar.  For the Mac, you'll need what is at this writing the very latest
version (7.2alpha2), for Linux, 6.8 appears to work.  For Windows... I 
recommend running Linux in a virtual machine.  It might build under 
cygwin, but I wouldn't bet on it. 

Once you have the GC, a simple "make" will build the interpreter. 
The Zork sources, somewhat modified for the limitations of this 
interpreter, are available at 
<http://www.russotto.net/~mrussotto/confusion/mdlzork.tgz> 

To play Zork, unpack this directory, change directory to the new 
"mdlzork" directory", run the interpreter with the parameter "-r 
MDL/MADADV.SAVE" e.g. "../confusion-src/mdli -r MDL/MADADV.SAVE". 
You should be at the white house: 
$ ../confusion-src/mdli -r MDL/MADADV.SAVE 
This Zork created July 6, 2009. 
West of House 
This is an open field west of a white house, with a boarded front 
door. 
There is a small mailbox here. 
A rubber mat saying 'Welcome to Zork!' lies by the door. 

The HELP, DOC and INFO commands do not work, as I do not have those files. 
I have played Zork all the way through, however, I have made some 
changes to the intepreter since then, so I cannot guarantee success.  If the 
interpreter crashes, let me know.  (note that there are bugs in the 
game; if you get dumped to a MDL LISTEN prompt, this might not be an 
interpreter bug) 
If you modify the MDL sources, you can re-build the game by running 
the interpreter with no parameters in the mdlzork directory, and 
typing 
<FLOAD "run.mud"> 
This will rebuild the MDL/MADADV.SAVE file and start the game. 

Confusion probably won't be developed further.

Notable features not supported: proper SAVE/RESTORE (an incompatible but
useful version is provided), GC-DUMP/GC-READ,  interrupts, processes, 
overflow, compiled code.

mdl-confusion's People

Contributors

kerrymg avatar

Stargazers

PrimeEagle avatar Luis Alejandro González Miranda avatar  avatar  avatar Timothy Stark avatar Michael D Henderson avatar Daniel Hood avatar  avatar

Watchers

James Cloos avatar  avatar Michael D Henderson avatar

mdl-confusion's Issues

Add support for BYTES structured type

Needs addition of BYTES type and the BYTES and BYTE-SIZE SUBRs.

A BYTES can be created with:

<BYTES 5 3 33 34>$

The preceding BYTES reads and prints like:

#5 {3 1 2}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.