Playing Zork 1 on a CP/M emulator on Linux (2021)

(kevinboone.me)

43 points | by linuxkernal 2 days ago ago

22 comments

  • stevekemp 2 days ago

    There's a simpler way now, I wrote a golang based CP/M emulator which uses the local filesystem, instead of "disks".

    You can clone the repository, or run the docker image, and be playing zork in minutes - I even put together a repository containing a collection of vintage CP/M software (which includes Turbo Pascal, and Zork 1, 2, & 3).

    Quick start:

         docker run --pull=always -t -i ghcr.io/skx/cpmulator:master
         ..
         A>
         A>G:
         G>ZORK1
    
    The emulator lives here https://github.com/skx/cpmulator

    Collection of software, grouped by theme, here: https://github.com/skx/cpm-dist

    • musicale a day ago

      What is the rationale for packaging it as a container? Isn't the point of golang that you can have a static executable that just works, so you could just distribute a zip archive with the executable and software folders? Or is it to provide some degree of isolation from possibly malicious CP/M software?

      • stevekemp 21 hours ago

        The source is available, and you can "go get", and "go install" it in the standard way.

        I've merely configured a docker container to be generated on every push as an optional additional installation method - that way I can paste in instructions for those who have docker available, but don't necessarily have a go compiler installed.

        Use the container if you like, use the repository source in the typical way if you prefer.

    • musicale 2 days ago

      Reminds me of RunCPM, which also uses folders rather than disk images:

      https://github.com/MockbaTheBorg/RunCPM/

      RunCPM also provides a link to the author's CP/M software archive.

      • anthk 2 days ago

        RunCPM will bog the CPU like crazy, it emulates the machine at 100% with no throttling at all.

        • musicale a day ago

          That sounds like something that would be completely impossible to fix, I am sure.

          It's too bad, because most modern machines only have single-core CPUs, and I've never heard of any operating system that has the ability to throttle a process by lowering its priority or reducing its timeslice. Someone should implement that, maybe calling it "process control groups" or something.

  • lrvick 2 days ago

    I still keep a Kaypro II hooked up in my garage mostly just to show people Zork on a tiny green display in a suitcase sized luggable computer as God intended.

    • DonHopkins 2 days ago

      It is pitch dark. You are likely to be eaten by a Grue.

      https://www.youtube.com/watch?v=4nigRT2KmCE

      • ahazred8ta 2 days ago

        Kill dragon

        With what? Your bare hands?

        Yes

        Congratulations! You have just vanquished a dragon with your bare hands!

        • beej71 2 days ago

          This was a childhood highlight moment for me. I'd been playing Adventure for ages just having fun without realizing there was a huge world beyond the snake.

  • bogometer 2 days ago

    Heh. Cool. I still remember playing Zork as an undergrad in MDL running under TOPS-20 on a DECSYSTEM-2060 at NE43. So much better than hack or rogue when I was stuck on a problem.

  • jmclnx 2 days ago

    Very nice.

    FWIW, frotz can be used to play these games on Linux and *BSD. See for these type games:

    https://news.ycombinator.com/item?id=45392164

    The article from the link above is below. You should be able to get some games from it.

    https://web.archive.org/web/20261019201930/https://eblong.co...

  • rprouse 2 days ago

    The most fun thing that I do with the RC2014 computer I built is play Zork.

  • linuxkernal 2 days ago

    I played this in both ms-dos and dosbox.

    • Kevin_Flynn 2 days ago

      We have web based AI illustrated versions now

      https://zork.coze.org/

      • vunderba 2 days ago

        Was this vibe-coded project ever actually tested?

        Head north from the house, and then head north again so that you're on the path winding through the forest where there's a large tree. Climb the tree. Observe the picture which inexplicably shows you back at the house.

        And not only that, it's a completely different architecture than the house shown at the beginning of the game.

        Description:

          >climb 
          Up a Tree
          You are about 10 feet above the ground nestled among some large branches. The nearest branch above you is above your reach. Beside you on the branch is a small bird's nest. In the bird's nest is a large egg encrusted with precious jewels, apparently scavenged by a childless songbird. The egg is covered with fine gold inlay, and ornamented in lapis lazuli and mother-of-pearl. Unlike most eggs, this one is hinged and closed with a delicate looking clasp. The egg appears extremely fragile.
        
        Image shown when climbing the tree:

        https://zork.coze.org/zork1/assets/images/ink_engraving/up-a...

        Image shown when you first start the game:

        https://zork.coze.org/zork1/assets/images/ink_engraving/west...

        • Kevin_Flynn 2 days ago

          I dunno.

          I played a different one with AI generated graphics that was posted on here a few weeks back.

          I didn't play through this one.

          Although its been decades, the one I did play through seemed original.

  • DonHopkins 2 days ago

    Try "GIVE TROLL TO TROLL"!

    Spoiler:

    https://news.ycombinator.com/item?id=31846457

  • brightball 2 days ago

    Chuck Bartowski would be proud

  • anthk 2 days ago

    Tristam Island, a Z3 game, will run fine under CP/M.

    I rebuilt the full version (full texts) for old machines:

    https://caja.texto-plano.xyz/anthk/zgames/eng/tristam.zip

    Just rename the Z3 file to ZORK1.DAT... or try getting some 'modern' ZMachine emulator elsewhere.

  • productsrip a day ago

    [flagged]

  • 2 days ago
    [deleted]