Closed athornton closed 5 years ago
Invitation sent. Welcome!
CC @DavidGriffith, current Frotzmaster and maker of the USB Panda Display.
I'm interested in an ITS version of Frotz.
Some notes:
Invitation accepted.
@larsbrinkhoff Way back in the Dark Ages, there was a tool called "unprotoize" to turn ANSI C into K&R C. (Assuming you meant the C is K&R and predates ANSI) I am going to start sniffing around to see how hard it is to find.
I think at this point, as long as short is at least 16 bits, I've done the mangling needed to ensure that the interpreter doesn't care about word length.
The biggest issue may be that Frotz just has fastmem.c, which does not implement any of the virtual memory management possible with the Z-machine. Thus a V8 game might occupy as much as 512K (chars), plus of course the interpreter and runtime environment overheads.
It's fine on KLH-10, which implements a 4MW machine. But if you're running ITS on something much smaller, Frotz's assumption that it can just load the whole file into memory might not be correct.
Feel free to close the issue, if you like, and we can talk about Frotz for ITS elsewhere.
Yes, I have looked into unprotoize, and it's probably a good way to get some C programs ported to ITS.
No, I really mean pre K&R. And with that I mean the syntax documented in the first K&R book. The ITS C compiler (written by Alan Snyder who did a stint at Bell Labs and suggested adding a C preprocesor and the && and || operators) has some interesting things like =+
operators.
Closing this.
I started an issue for discussing this port at https://gitlab.com/DavidGriffith/frotz/issues/113
I've just completed a port of Frotz 2.45pre (from https://gitlab.com/DavidGriffith/frotz/ master) (using the dumb TTY interface only) to TOPS-20 (using KCC). It's at https://github.com/athornton/tops20-frotz
I'm now trying to figure out how to link the curses library with a C program I've written (since #include works, apparently there is a library), and how I find out where the linkable libraries even are on a TOPS-20 machine.