CP/Mish is an open source sort-of-CP/M distribution for Z80
cowlark.com
cowlark.com
I managed to get fairly high video performance by doing some careful register fiddling of the CRT controller chip: http://www.chrisfenton.com/exploring-kaypro-video-performanc...
Aniways I was incredibly good with assembly and machine code. I remembered all the hex-codes and could read and write long programs with numbers alone. In the alternate "Difference Engine"-future this skill would have been eternal and appreciated as genius-level.
Bizarre idea, I know.
I'm particularly interested in anyone who has actual open source CP/M software, or has non-open-source software they're willing to relicense. (I successfully persuaded R.T. Russell to open source his superb BBC Basic port, which is now included!) Most CP/M software predates the era when licenses were considered important, and generally has invalid or unusable licensing: you see the phrase 'public domain for non-commercial use' a lot... It's now old enough that the license holders are beginning to actually _die_, and great swathes of useful software and history are just vanishing. I'd love to preserve this stuff. Especially, I'd love to get my hands on an open source CP/M 3 clone: ZSDOS, which is what I currently have, is only CP/M 2.2 compatible and is missing several important features (such as the ability to change serial baud rate!).
There's a really cool device called a Cidco Mailstation that has a Z80, but it maps a ROM to the first 16k of memory. So you can't easily run CP/M because it expects RAM there.
Would be a nice CP/Mish platform with its 128Kb RAM, loads of flash memory, 320x128 lcd, fairly simple bootstrap process, runs on 3 AAA batteries, etc.
More info: https://jcs.org/2019/05/03/mailstation
If you get a TI-84 Plus CE with older firmware (not locked down) you have a particularly good device. It has an EZ80 processor. You can put the EZ80 in a Z80-compatible mode. You could even pop in and out of that mode, letting you keep parts of CP/M outside of the Z80 address space. That would let you run larger Z80 programs. You get a 320x240 color display. There is a USB port that could be used to reach serial, floppies, printers, and keyboards.
[1] https://github.com/wwarthen/RomWBW
[2] https://www.tindie.com/products/tindiescx/sc131-pocket-sized...
You would have to add the platform specifics for each one, though it's likely you could borrow from ROMWBW.
Basically ROMWBW focused on supporting newish retroboards, and CP/Mish focused on supporting actual old retro computers like the Kaypro, Brother WP-2450DS, etc.
Oh, that would be nice as a standalone thing for my plain old CP/M Kaypro.
Might I ask what terminal program you're using? I PIP'd enough code over the serial port to assemble a basic Xmodem client, but it's unreliable in use.
I came in at the end of the CP/M era, with an Amstrad PCW9512. I loved it. Sadly a long-ago ex-G/F gave it away. :'(
I have 2 replacements, mind you. But CP/M is kinda dry. It's not much fun to play with. I am at a bit of a loss as to the new enthusiasm for it today...
But CP/M...man, I wish the Kaypro ran something more interesting, because it deserves better.
There are or were some alternative Z80 OSes: SymbOS, Cromix, Uzi/Fuzix, S-OS, DR's own MP/M... Not sure if any would run on a Kaypro without significant expansion, though.
Some of the early-1980s Forth environments were impressive. I read of a replacement ROM chip for the Sinclair ZX-81 which could handle multitasking and windowing.
Many of the applications have platform specific code and need to be ported as well.
A project like this is a useful reference point, but rarely directly usable.
Just in case you get the wrong idea: I'm very grateful that you put CP/Mish out there. My Z80 retroboard project benefited from it (I used the ZCPR1/ZSDOS .rel outputs directly in my board's emulator, plus the project served as a useful reference source) with no contribution back.
I don't think it would have helped anyone if I'd tried to make it support my board in your build process. There's one of my board in the world, with zero users now I'm working with its replacement design. I already had a BIOS written for zasm, and no removable storage (socketed ROM might count as removable I guess) so I wasn't trying to build a bootable disk image.
If, say, I had a vintage Model IV and wanted to make disks for it, it might be a different story, but for a retrobrew z80 machine it's a good reference but IMO not a good basis for the software part of the project.
The tapes for the Adam were referred to as Digital Data Packs. They were standard cassette tapes with some extra holes. If you were handy you could turn a standard tape cassette into a DDP saving yourself some money. Data was stored on them in a digital format consisting of 2 tracks with 128 sectors. The tape drives were built directly into the Adam and it directly controlled them allowing it to access specific sectors on the tape as needed. In other words it had the same track and sector access ability as a floppy. This is what allowed it to run CP/M from tape.
When CP/M was booted from tape the 1st tape drive was CP/M drive A and the 2nd tape drive was drive B.
I'm curious why it's not fully Open Source. What's the point to holding back?
CP/M was a commercial product, now sort of abandonware. The last holder was Caldera/Lineo. See the bottom of the FAQ page on the "Unofficial CP/M" site: http://www.gaby.de/cpm/faq.html
According to [1], ownership of CP/M was transferred to DeviceLogics aka DR-DOS Inc along with DR-DOS. But DeviceLogics appears to have gone out of business, so it isn't clear who currently owns the CP/M copyrights.