An alternative CP/M method

Home Forums Z80 Playground Early-Adopters An alternative CP/M method

Viewing 15 posts - 1 through 15 (of 57 total)
  • Author
    Posts
  • #840
    Steve
    Participant

    Hi All
    I came across this sites’ Videos whilst browsing YouTube a month or so ago. They reignited my love for the Zed 🙂 80 and CP/M. I dusted off my home made Veroboard project from a number of years ago to see if I could get 8bitStack’s CP/M working with my setup. I had to find a supplier first though for a CH367S module.

    The Module arrived a few days later. It didn’t take me long to port the software over and I had CP/M working. BUT…..

    The implementation is missing some BIOS functionality around the disk system. I could not run any disk examination tools, like ZAP for example, nor could I install my favoured Z-System, NZCOM.

    Now, over a decade ago (how time fly’s), I, for the fun of it, ported CP/M to various PICs, culminating in my final build for PIC32MZ’s. This is a 200MHz MCU which is running a Z80 emulation at an equivalent Z80 clock of 80MHz lol. It runs CP/M 2.2, CP/M Plus and even MP/M.

    Anyway, my thought was to implement the same file structure for my Z80 project. To cut a long story short, two days later I can not get reads to work with the CH367S module. My Module is a version 0x41 which by all accounts has some defects. Odd though that 8bitStack’s software seems to work. So, what with this problem and endless reliability issues I am encountering with the Kynar wiring, I looked on Ebay this morning (Saturday 12th June 2021) for a used Z80 Playground (as this site says everything is out of stock!), and would you believe, there were six built kits available. Five left at time of writing ;).

    “An alternative CP/M method”
    When my assembled Z80 Playground arrives, I will continue to play with my method. If anyone is interested, post your comments and I’ll let you know how it turns out.

    Have fun everyone and stay safe!

    #841
    Phil_G
    Moderator

    Hi Steve, you’ll love the Playground, I much prefer it over the Z80MBC2 simply because of its FAT support and the ease of copying files to & from a PC. Grants method is clever but so inconvenient and faffy.
    Johns playground BIOS doesnt support low-level functions that dont really relate to FAT but any well-behaved CP/M software runs fine on through BDOS calls alone, which of course was always good CP/M development practise.
    There are some very minor, non-critical omissions but John still has the software in development – though as a heavy user (I have six CP/M machines including 3 Playgrounds) I’m more than happy with it just as it is!
    Whilst FAT support is to me THE huge advantage of the Playground, I’ll be following your developments with a keen interest 🙂
    Your PIC32 implementation sounds great, I’ve a Geoff Graham PIC32 ‘Maximite’ system here on my bench, big PIC fan though mostly the midrange. Do please keep us informed! 🙂
    Cheers
    Phil

    #844
    john
    Keymaster

    The long-term plan is to add a CPM-CLASSIC that is simply cp/m 2.2 implemented at the BIOS level, so that you will then have the choice of CPM-FAT (for those who like the FAT-compatibility) and CPM-CLASSIC for those who like the BIOS compatibility. Well, that’s the plan!

    #845
    Phil_G
    Moderator

    When the I/O boards arrive, assuming they’re ok, I’ll add lst: & maybe a bit-banged pun: 🙂

    #852
    Steve
    Participant

    I have a real CP/M 2.2 running now but my Veroboard platform is VERY unstable. Eagerly awaiting the Z80 Playground to arrive 🙂


    @John
    , if you are interested/curious in what I have done, let me know. I’m working on the file transfer at the moment.

    #853
    Phil_G
    Moderator

    Are you using the GS bios (or a variant of it) Steve?

    #863
    Steve
    Participant

    What’s a GS BIOS? I am running with my customised BIOS for the playground.
    Oh – My Playground arrived yesterday – very happy! @John, you’ve made a nice product there.

    It took me a few hours to get my BIOS working on the Playground, but I now have a working real BIOS running CP/M 2.2. I need to write some code to enable file transfers though – may take some time.

    #864
    john
    Keymaster

    I’ll definitely help you with this if you want help, because it was always my plan to do this anyway. Will you be making it open-source?

    #865
    Steve
    Participant

    Hi John – yes of course it will be open source! I don’t think anything can be copyrighted. Caldera own CP/M and I believe they allow an open source licence. I will put everything on Github once I’m happy.

    #866
    john
    Keymaster

    You are right though, you need a tool to get files into and out of CP/M, due to the lack of FAT compatibility. In a similar project I did before, I made a CP/M command called IMPORT and EXPORT that transfers in the two directions.

    #871
    Steve
    Participant

    What I have in mind is to have a transfer directory on the Memory Stick which holds any CP/M file that you want to transfer to CP/M. Than a CP/M utility needs writing to “Import” the files. Maybe, what you have done already will work

    #872
    john
    Keymaster

    That sounds like a good plan. The IMPORT command could bring in all the files it finds in the Import directory, put them on the current CP/M drive, then delete the originals.

    EXPORT would have to take a file name (or wild-card) and send that file (or files) to an Export folder, over-writing any file of the same name that is already there.

    I was thinking that /CPM/Import and CPM/Export would be good.

    Also, I was thinking of naming this version of CP/M “cpm-classic” to distinguish it from “cpm-fat”, but feel free to call it what you like!!!

    Put simply I just can’t find the time for the projects near the top of my list, and cpm-classic is probably nearer the bottom, so although I would love to produce it, I doubt I’ll get round to it any time soon. But I would like to follow your progress, and help out if I can.

    Are you thinking of developing under CP/M, i.e. in a CP/M assembler, or cross-assembling from Windows/Linux?

    #873
    Steve
    Participant

    I develop on Windows; so much easier 🙂
    I have to upload my binaries to my PIC32 CP/M platform – it has Xmodem as a nice way to import files. I then remove the SDCARD and copy the disk image to the Z80 Playground’s USB Memory Stick. So a hassle at the moment lol!

    I’m using /CPM/TFER at the moment, but of course that can be changed. Once I’m happy with how things work, I’ll hand it to you to play with

    #934
    Steve
    Participant

    @John – can I PM you some way?

    #940
    john
    Keymaster

    john@8bitstack.co.uk

    • This reply was modified 6 months, 3 weeks ago by john.
Viewing 15 posts - 1 through 15 (of 57 total)
  • You must be logged in to reply to this topic.