-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Other platforms, can we add? #13
Comments
For sims: |
Yes, absolutely! I did the Kaypro II port using an emulator as an experiment to make sure it was portable and building for multiple platforms works (it does). Unfortunately it needs someone to actually do the work, and I have too much stuff to do as it is. (There don't appear to be many paying CP/M jobs.) If you have the hardware and you're interested... BTW, re the PX-8: I have one, complete with printer, acoustic coupler and floppy drive (sadly broken). Alas, I don't think a port to the PX-8 will work given the weird hardware (three processors!) and the software in ROM. But it's still very cool. Here it is in action... https://www.youtube.com/watch?v=S3MARL-F8NI |
On the kaypro there are at least for z80 flavors and they do differ. The II and 2s are literally differnt boards both z80. I have three of the four flavors, two stock. The third is a 4/84 with Advent turbo rom , personality board, a noname 1mb RAMdisk, and Handyman. A great machine but you only need up to the bios as replacing the bios (in rom with boot) breaks everything. Oddly the sources were made public but the site was one of the owner just went away and it expired. Fragments may exist. That kind of modding was common here. PX-8 I have three very complete with multiple wedges nothing broken. There are three The easy shot is the AmproLB as the sources for everything they did exists since day one. Since most of the code cannot be or was not intended to be hosted on a z80 system and |
What about the superb Amstrad PCW? |
It'd work fine on the PCW --- it has the same banking and MMU model as the NC200, so you could reuse the same supervisor architecture, and maybe even a lot of the code. The biggest change would be the TTY, as the PCW has a bitmapped display, so you'd need a font, text rendering code, etc. Luckily the base PCW had (AFAICT) 256kB RAM, because it needs 24kB of video RAM somewhere. Bear in mind that cpmish is only 2.2 and the PCW's native CP/M Plus is 3. (I went with 2.2 for simplicity.) It just needs someone to do it... |
The easy way is replace only the CCP and BDOS modules and use the existent bios |
There are so many different systems. It would be helpful if we could get a tutorial/starting point for creating new platforms, i would love to add the C128 to the supported platforms, but would need some form of starting help. :) |
Yes, there's not a lot of documentation. One day (in my copious spare time) I'll write up a So You Want To Port CP/M document. Right now the simplest BIOS is the Kaypro II one, so you could just copy that. Of course, it's mostly simple because all the work's done in the ROM... https://github.com/davidgiven/cpmish/tree/master/arch/kayproii |
There is a lot, if you willing to use the existing docs. Andy Johnson-Laird book is a must The version that David (ZSdos) is using installs in the general way as CP/MV2. That being In fact you can just overlay the CCP and BDOS with ZCPR and BDOS as the bios is compatable So any Z80 with more than 20K of ram origined at 0000h (or mapable from a monitor) So that opens a lot of machines as possible. The distioction of any version is BIOS One last hopefully helpful item is that CP/M (all flavors) does not require a boot track. That technique makes it easier for dumb at power up machines like the Northstar horizon Easy low pain machine to put it on was CCS s100, Reason is the Boot rom carries the read routines ready to use and the CPU board carries a very good monitor. That combined with existing IO routines reduces the BIOS to a lot of small details, disk write and deblocking. Deblocksing is the most troublesome as its made more mysterious by sometimes obscure code with macros. Any machine that allows access to IO, mass storage and ram without a current OS booted |
CPUville is worth study as he has a fair outline of the tasks. Bios being the biggie and |
In the end there are a few common systems and that is likely geographic thing. An example of something I've never seen is MSX, I'm looking now for 40++ years. |
davidgiven, Allisontheolder, you have done a great job documenting CP/M I have the possibility to buy an Amstrad PCW (hesitating about it). Allisontheolder , davidgiven , do you think it is possible to run an open source CP/M on it? Alison wrote that we can replace the CCP and BDOS. I understand it would be loaded from floppy disk. Right? Alison wrote "and use the existent bios with deblocking patched in". How can this be done? Is it possible to download the bios, and afterwards patch it , burn a rom chip, and physically switch the rom chip on the board? Would it be the way to go? |
Doing a PCW port should be relatively straightforward, depending on how complex you want to make it --- the PCW has a banking system so you could put most of the BIOS code in a different address space to maximise user TPA. The NC200 port does this. But be aware the cpmish is based on CP/M 2.2, while the PCW's native CP/M is 3.0. 3.0 supports native memory banking, allowing a more complex (and faster) BDOS and more TPA, plus a few more system calls. Chances are that any complex PCW code won't run on cpmish because it's expecting 3.0 features. Re deblocking: another 3.0 feature is that deblocking is now done in the BDOS, rather than requiring the BIOS to do it. This makes the BIOS interface a bit different. I think it would honestly be easier to reimplement the BIOS. The PCW boot ROM is tiny and contains just enough functionality to load and run one sector from disk, and that sector has to load the rest. That means the BIOS is on disk --- none of it is in the ROM. |
Thanks! |
Re deblocking: yes, that's correct. The CP/M alteration manual here talks about it but it doesn't do a very good job. http://www.gaby.de/cpm/manuals/archive/cpm22htm/ch6.htm#Section_6.12 Re disk formats: sort of. The on-disk format is standard PC. However, only a few PCW models use normal 3.5" disk drives (IIRC only the 9256). The others use 3" drives with incompatible disks. You can wire these up to a normal FDC but it's work. Finding the disks is also increasingly difficult (and expensive). Which model are you looking at? |
Thank you for your time! |
Here in the USA the NC200 is a collector item as they are actually rare. Really looks slick.
PX-8s are more common as I have three.
Kaypros tend to be more often the second version of the KII vs K2 and very often 4.84 flavor or enhanced with Advent turbo rom. The KII is have sorta boots the disk but the files are scrambled
so its a Bios version thing.
Real hardware z80 boxes include Z100 based
Compupro with Z80 and their disk controller
CCS Z80 with their disk controller
Northstar horizon chassis Z80 with my disk controller 765 based.
Also monoboard SBCs:
SB180
AmproLB+
Outlanders:
DEC vt180 with CPm z80 card.
Grant Searle Z80 with IDE (CF) also CP/M
YAZC yet another Z280 computer.
Not much as stands that behaves well with the
existing kit. piecemeal if the -compiler is sorted will.
However the C versions of code may present disk space issues
as they will be much larger.
The text was updated successfully, but these errors were encountered: