Golang CP/M emulator for playing zork, lighthouse-of-doom, etc
MIT License
Bot releases are hidden (Show)
This release improves our CCP support, and adds a couple more syscalls:
stty
for setting the console into the appropriate echo/no-echo state, but now we don't do that excessively.-version
flag has been added.
cpmulator -help
to see all available CLI flags.This is a list of pull-requests merged:
You can see a complete list of changes between this and the previous release here:
Published by skx 5 months ago
This release features a temporary regression, releases for Microsoft Windows will not work. This is because of the way that I changed the console input handling - and now we cheat by invoking stty
to disable echoing of characters.
That said for the Mac, Linux, and Unix users this is a significant release, as we've improved our functionality a lot - cpmulator
can now run many more applications which it couldn't in the past, including:
The CCP no longer exits when child processes attempt a warm/cold boot either, making the interactive experience much nicer.
Finally the CLI executable has received a number of new command-line flags, which you can see via cpmulator -help
.
Full Changelog: https://github.com/skx/cpmulator/compare/v0.5.0...v0.6.0
Published by skx 6 months ago
Full Changelog: https://github.com/skx/cpmulator/compare/v0.4.0...v0.5.0
Published by skx 6 months ago
Full Changelog: https://github.com/skx/cpmulator/compare/v0.3.0...v0.4.0
Published by skx 6 months ago
This release overhauls our operation in two significant ways:
Launch the emulator with the "-directories" flag, and the contents of ./A
will be used as the A: drive, the directory ./B
will be shown on the B: drive, etc.
Published by skx 6 months ago
This release implements three additional CP/M BIOS functions
Previously only the only file-reading function implemented was F_READRAND, which read a "random" block (i.e. not a sequential read, but a read from a given block offset)
F_READ and F_WRITE are used to sequentially read, or write, fixed records of 128 bytes to the file that was previously opened, or created. With these two functions implemented the save
and restore
functions of the ZORK games now work correctly.
Published by skx 6 months ago
This is the first release of the cpmulator which is somewhat functional:
This might not seem like much functionality, however it is sufficient to play the ZMachine games from Infocom. If you don't have them you can download them from the internet, for example this directory and play them:
$ cpmulator ZORK1.COM
ZORK I: The Great Underground Empire
Copyright (c) 1981, 1982, 1983 Infocom, Inc. All rights
reserved.
ZORK is a registered trademark of Infocom, Inc.
Revision 88 / Serial number 840726
West of House
You are standing in an open field west of a white house, with
a boarded front door.
There is a small mailbox here.
>open mailbox
Opening the small mailbox reveals a leaflet.
>read leaflet
(Taken)
"WELCOME TO ZORK!
ZORK is a game of adventure, danger, and low cunning. In it
you will explore some of the most amazing territory ever seen
by mortals. No computer should be without one!"