UCSD P-System & "compile once, run anywhere"

From: Ethan Dicks <erd_6502_at_yahoo.com>
Date: Thu Mar 28 09:52:09 2002

--- Ben Franchuk <bfranchuk_at_jetnet.ab.ca> wrote:
> Stan Sieler wrote:
> >
> > Hi,
> >
> > A friend was claiming that with the UCSD P-System, one could "compile
> > once" and then "run anywhere"...
> >
> > Was this true?

AFAIK, the program would run if you could get the p-code to the target
system (disk format incompatibilities and what not). I do not know
how compatible things like user interface and I/O access were.

What I'm not sure is, for instance, how a program formatted to look nice
on an 80-col mono PC will look on a 40-col Apple II. Plus, what about
file names? Did the P-System enforce the least common denominator?

> Funny that is what JAVA claims to be! I do remember that P-System had
> its own operating system.So only disk/console I/O and a p-code engine
> had to be written for a new machine.
> Too bad it was not open source!

The one engine I know of that was the closest to "write once, run
anywhere" was Infocom's Zork Implementation Program (ZIP). Stuff written
for it in 1984 runs on Palm Pilots today, and stuff compiled today (in
the language "Inform") runs on the C-64 ZIP written in 1984. ZIPs were
originally written for the TRS-80, CP/M, PDP-11 (RT-11?), C-64, Atari,
Apple, Amiga, Mac, and a few others (I managed to port the C-64 ZIP
to the VIC-20, but you need a non-stock machine with a full boat of RAM
if you want to play a game without wearing out the diskette; the PET
version is still being debugged) Modern run-time platforms are written
in C for VMS, UNIX, Palm Pilot, or whatever you want. I'm fairly sure
there's a run-time written in Java, too.

As a platform for a general-purpose language, there are some limitations
that restrict programs written for the ZIP run-time. It does not provide
file I/O other than reading in the code and data of the target rogram, and
writing the modifiable pages (user-writable data) to disk. There is a
journaling print function and that's about it. There is a limited amount
of raw variable storage, but you can extend that with a finite amount of
user-definable objects.

The curious should take a gander at ftp.gmd.de - lots of good stuff
there. The original Infocom code isn't open source, but fully compatible
modern implementations are. Look in directories named "infocom" and
"inform" for this stuff. There's lots of other text adventure platforms
out there, and most of them have a home on GMD.

-ethan



__________________________________________________
Do You Yahoo!?
Yahoo! Movies - coverage of the 74th Academy Awards®
http://movies.yahoo.com/
Received on Thu Mar 28 2002 - 09:52:09 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:35:14 BST