3 ms·
Did you write a z-machine with sockets or is this piping to an existing one (frotz, etc?) I'm curious about the internals because I'm working on my own z-machi
by davidjhall 5y ago
Did you write a z-machine with sockets or is this piping to an existing one (frotz, etc?) I'm curious about the internals because I'm working on my own z-machine implementation too (not ssh though!)
- pheasantquiff 5y ago:) Yes I'm piping to dumb-frotz. The ssh server is a custom golang server, not a 'real' ssh daemon. Z-machine impl is fun (except for all the version differences)
- davidjhall 5y agoVery fun indeed and easier than a sockets-based impl that covers all versions. I'm only doing v3 so far and it's a long haul! Congrats on this!
- pheasantquiff 5y agoThere are quite a few edge cases going the pipe route since there is no defined communication protocol and every game expresses some things slightly differently. I try to keep the code as generic as possible but nearly every game I try has had a surprise for me. I really don't want to have tons of special cases in the code but I think some might be unavoidable. If you're writing your own Z-machine, then you can write it in a way that plans for such integration and that would make a direct-linked approach much easier. My 'ssh toy' has proven quite popular so far and I hope it has introduced IF to some new people. Thanks and best of luck with your Z-Machine. Hacks and Glory await!
- pheasantquiff 5y agoI'm sure you've read all the Graham Nelson Z-Machine specs etc.? And seen the various alternative implementations like nitfol (which is a bit smaller than most and easier to read maybe)?
- davidjhall 5y agoYes! It's practically my bible now -- I even printed a copy through printme1.com so I can have a bound copy to flip back and forth through ( and dog-ear, tag pages, etc.) I reference other implementations and z-tools to gain insight on changes in memory, objects, etc. I'm writing blog posts on my journey - detailing each instruction and any nuance with each one, as well as the object structure, z-text and misc. I hope to post it here one day.
- pheasantquiff 5y agoIt is a large endeavour. Have you encountered ZSCII and the "special" text compression algorithm yet?