RunCPM
cpmish
RunCPM | cpmish | |
---|---|---|
4 | 15 | |
383 | 332 | |
- | - | |
7.3 | 8.6 | |
2 days ago | 4 months ago | |
C | Assembly | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
RunCPM
-
What's the oldest technology you've had to deal with in your career?
I happen to have an emulated CP/M 2.2 installation quick to hand to run old word processors, so let's take a look.
- Running CP/M on the Raspberry Pi Pico
- What is a good "lower level" language to learn after learning python to gain a deeper understanding of computers?
-
Ask HN: Are impressive new programs being written for CP/M?
There are no doubt some systems still running under emulation doing the same thing as they were 40 years ago. But the truth is CP/M is dead. Long live CP/M!
It's just hobbyists now. One hacker ported his game to a Kaypro under CP/M a couple years ago: http://www.chrisfenton.com/dd9-kaypro-edition/
Much of the focus is on porting CP/M to whatever new or old Z80 system someone has built or found. I can't think of anything particularly dazzling besides the above, in terms of recent new programs, but here are some pointers if you wanted to write something yourself!
RunCPM is a CP/M Z80 virtual machine under modern OSes for development etc. https://github.com/MockbaTheBorg/RunCPM
CP/Mish is an attempt to bring all the free software CP/M tools together. It is to CP/M as Linux is to UNIX, or FreeDOS is to MS-DOS. A mostly complete, improved, libre reimplementation: https://github.com/davidgiven/cpmish
Also from David Given (and not CP/M specific) is Cowgol. Alpha quality. But it's a self-hosted Pascal/Ada-like language with compiler. Runs on 8-bit systems, at least theoretically. It is written, of course, entirely in Cowgol: https://github.com/davidgiven/cowgol
Millfork is a language which targets CP/M systems, among others. It's a whole-program optimizing compiler for a language somewhat lower level than C, with properties that make it very nice to compile for 8-bit systems like no recursion, and no automatic promotion to 16-bit integers in type handling: https://github.com/KarolS/millfork
SDCC supports the platform with C surprisingly well. I wouldn't call it rock-solid but compared to the above toys it is an industrial quality compiler for the Z80. In fact, C seems to be the most common actual language for hobbyist and the little remaining serious Z80 development, probably ahead of assembly.
If it just reads and writes the terminal and can fit in 64 KB, then a port is probably straightforward.
cpmish
-
Found this guy sitting in my University’s ewaste room…
If you don't find the original and want to do your own, let me gently plug https://github.com/davidgiven/cpmish as a turnkey CP/M build system? Some of the commands are a bit janky but it should be easier than rolling your own. There's a choice of the original DR BDOS and CCP or ZCPR3 and ZSDOS.
-
Teaching myself how to write CP/M assembly-language programs on my Japanese word processor.
I actually have a project where I'm trying to collect provably open source classic CP/M software and integrate it into a turnkey build system, at https://github.com/davidgiven/cpmish/tree/master/third_party. There's some tools there you might find useful, such as a Basic, about three text editors, a good debugger, a shitty Z80 assembler which I wrote (I have yet to find a classic one with a license attached), and a copy of Star Trek. It's aimed at producing bootable disks but as you already have a working system you won't want that, but you should be able to just pull the .COM files out (file a bug and I'll try and make that easier).
- Picked this baby up for $25 today!
-
MS-DOS was *not* an illegal clone of CP/M
Huh. Lost my part-written comment somehow.
Anyway, hi, author/submitter here.
I have heard several versions of this story. Most seem to be unsubstantiated AFAICT.
The one that seems to add up is that Dr Kildall claimed that only he knew why some DOS APIs took the exact parameters they did.
Which ISTM is fair enough, if they were written using DR documentation. As I said, DR intended the API docs to be for app writers, but that didn't stop people using them to write compatible OSes, and lots of companies did.
That's how come David Given's amazing CPMish OS was possible:
https://github.com/davidgiven/cpmish
CPMish combines existing BDOS and BIOS replacements and other components. It puts together so many existing replacement parts for parts of CP/M-80 that nothing of the original was left. Theseus' ship, in software:
https://en.wikipedia.org/wiki/Ship_of_Theseus
There was a code investigation that looked for any DR code in the early MS-DOS binaries:
- Ask HN: Why are there not a lot of hobby/professional Linux phones?
-
CP/M bringup on a Brother WP1 word processor
cpmish is actually mine. It's a proper open-source CP/M clone distribution I've been working on: https://cowlark.com/cpmish/ It's 'ish' because unfortunately Caldera's license for real CP/M has bugs in it and so I can't use any of it. This version's actually using ZCPR and ZSDOS.
-
Teardown of a Brother WP-1 Z80-based word processor from 1985
I do have CP/M ported to a few of these machines. https://cowlark.com/cpmish/
-
Before I had a computer...
I've done some reverse engineering on these, and have CP/M running on at least some of them! https://cowlark.com/cpmish/
-
6502 vs. Z80
OTOH the Z80 will run CP/M, or an open source CP/M clone (I made one! http://cowlark.com/cpmish), which will give you access to a huge variety of ancient software which will work out-of-the-box --- excellent if you want a Cobol compiler or to use WordStar. Also, CP/M is pretty easy to port due to its modular design.
-
Build an 8-bit retro computer powered by a Z80 !
http://cowlark.com/cpmish/ is a proper open-source CP/M clone which runs on the Z80. It's based on ZSDOS and ZCPR1, it's got a turnkey cross-compilation build system which builds everything (including utilities written in C which include an assembler, editor and interactive debugger, plus R.T.Russell's superb BBC Basic port) and spits out a disk image file. It contains no Digital Research code for licensing reasons. It's probably the easiest way to get a CP/M clone up and running on now hardware.
What are some alternatives?
z80 - A z80 emulator written in C99.
RomWBW - System Software for Z80/Z180/Z280 Computers
Z80 - Highly portable Zilog Z80 CPU emulator written in ANSI C
z80-playground-cpm-fat - CP/M for the Z80 Playground that runs on the FAT disk format
RunCPM_RPi_Pico - RunCPM for the Raspberry Pico
millfork - Millfork: a middle-level programming language targeting 6502- and Z80-based microcomputers and home consoles
RetroWiFiModem - An ESP8266 based RS232 <-> WiFi modem with Hayes AT style commands and LED indicators
cowgol - A self-hosted Ada-inspired programming language for very small systems.
cpmhttpd - A basic web server for CP/M
brother-wp-software - Brother Word Processor Software