I wrote a web server for CP/M a couple of years ago: <a href="https://github.com/jes/cpmhttpd" rel="nofollow">https://github.com/jes/cpmhttpd</a> and <a href="https://incoherency.co.uk/blog/stories/rc2014-web-server.html" rel="nofollow">https://incoherency.co.uk/blog/stories/rc2014-web-server.htm...</a> and a demo video <a href="https://www.youtube.com/watch?v=E3hSGMdmdxc" rel="nofollow">https://www.youtube.com/watch?v=E3hSGMdmdxc</a><p>Since CP/M has no networking support, this also includes implementing TCP/IP inside the web server program, although I only did an <i>extremely</i> superficial job of this: just enough to make it look like it works under normal circumstances. (For example, it has no mechanism to retransmit dropped packets, at least partly because because my machine has no RTC so it has no idea how much time is passing).<p>It connects to the Internet via SLIP over a serial port to a nearby Linux machine.<p>It briefly hosted a little web page about my RC2014 and the web server program, but it's too much hassle to keep it running, so it's not up at the moment.
Generally no, in the sense that it takes a bit to impress someone these days.<p>For me (when I used CP/M as a daily driver) MINCE (for MINCE is not completely EMACS :-)) was pretty damn impressive. And you have to understand that the Z80 was less powerful than an Arduino ATMega328.<p>So a better question is "why hasn't someone built a system out of an Arduino that can self host compilers, editors, file systems, and allows you to do code development on a serial terminal or a "PC console" like device? It is entirely doable, it won't be "quick" of course.
Probably not. But FreeDOS lives on. Modern toolchains can compile to FreeDOS executables. FreeDOS is useful when you want a computer to run one program and nothing else. You can be confident that there's no backdoor network connection because there's no networking support in the OS.
Related question:<p>What “new” CP/M machines can be bought today?<p>The closest I know is this kit:<p><a href="https://rc2014.co.uk/" rel="nofollow">https://rc2014.co.uk/</a><p>Any others that can be bought off the shelf today?
Lighthouse of Doom from earlier this week:<p><a href="https://news.ycombinator.com/item?id=26946130" rel="nofollow">https://news.ycombinator.com/item?id=26946130</a>
The plan is to put it on the z80 computer you built.
<a href="https://archive.org/details/BuildYourOwnZ80ComputerSteveCiarcia/Build_Your_Own_Z80_Computer_Steve_Ciarcia" rel="nofollow">https://archive.org/details/BuildYourOwnZ80ComputerSteveCiar...</a>
I wouldn't imagine anything besides little personal projects by retro enthusiasts with a machine running CP/M. Speaking of which I should fine me one.
There are no doubt some systems still running under emulation doing the same thing as they were 40 years ago. The software might even be maintained. But the truth for decades now. CP/M is dead. Long live CP/M!<p>It's just hobbyists now. One hacker ported his game to a Kaypro under CP/M a couple years ago: <a href="http://www.chrisfenton.com/dd9-kaypro-edition/" rel="nofollow">http://www.chrisfenton.com/dd9-kaypro-edition/</a><p>Much of the focus is on porting CP/M to whatever new or old Z80 system someone has built or found. Speaking of which... 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: <a href="https://github.com/davidgiven/cpmish" rel="nofollow">https://github.com/davidgiven/cpmish</a><p>RunCPM is a CP/M Z80 virtual machine under modern OSes for development etc. <a href="https://github.com/MockbaTheBorg/RunCPM" rel="nofollow">https://github.com/MockbaTheBorg/RunCPM</a><p>In terms of recent new programs, here are some pointers if you wanted to write something yourself:<p>Also written by the maintainer of the CP/Mish project (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: <a href="https://github.com/davidgiven/cowgol" rel="nofollow">https://github.com/davidgiven/cowgol</a><p>Millfork is another new language which targets CP/M systems, among others. It's a whole-program optimizing cross-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: <a href="https://github.com/KarolS/millfork" rel="nofollow">https://github.com/KarolS/millfork</a><p>There's some work on a Z80 target for FreePascal. I don't think there's CP/M specific support, so there's a project idea: <a href="https://wiki.freepascal.org/Z80" rel="nofollow">https://wiki.freepascal.org/Z80</a><p>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 about 60 KB, then a port is probably straightforward.
Probably not, probably because the software development tools on CP/M were far inferior to those on later OSs, such as Windows, UNIX, et al. For example, I'm not aware of a C++ compiler available for CP/M, or a VCS.<p>Having said that, I've written a ton of software on CP/M and enjoyed doing it - at the time. I wouldn't want to do it now.