Kyle22 Posted January 9, 2022 Share Posted January 9, 2022 (edited) Thanks. Is there a link to the compiled firmware that includes this? Edited January 9, 2022 by Kyle22 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 9, 2022 Share Posted January 9, 2022 I'm sorry. Beginners instructions for idiots that run XP32. Or System Requirements. Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 9, 2022 Share Posted January 9, 2022 I have a Win 10 machine downstairs at the store that I can use to flash it if anyone decides to compile it. Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 9, 2022 Share Posted January 9, 2022 (edited) @mozzwald Sorry, before you even ask: I almost never have time downstairs to do anything on the W10 machine without a customer coming in and distracting me. My helper in the store likes to either sleep or JA3K 06f, so I don't have much time each day to spend on constructive things. Sadly, I work w/ idiots... Someday, maybe I'll get enough time to leave the store Hopefully I will be able to get this working. I refuse to run W10 on my home machine cause it SPIES. Edited January 9, 2022 by Kyle22 1 Quote Link to comment Share on other sites More sharing options...
mozzwald Posted January 9, 2022 Share Posted January 9, 2022 13 hours ago, Kyle22 said: Thanks. Is there a link to the compiled firmware that includes this? There currently is no way to define which CCP to use for runcpm but this could be added. Can you share a link to the ZCPR3 you want to use. If I get time I will try to tackle the issue. I know jack and squat about CP/M but I think I can make the firmware load the user requested CCP. The plan is to add a configuration option to fnconfig.ini on the SD card and if it's there, use that binary. 3 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted January 9, 2022 Share Posted January 9, 2022 Thank you mozzwald as you correctly saw the difficulty in choosing what people want to use on each session. Hope you have every success. 1 Quote Link to comment Share on other sites More sharing options...
mozzwald Posted January 9, 2022 Share Posted January 9, 2022 20 hours ago, Kyle22 said: Is there a link to the compiled firmware that includes this? I think I was able to successfully load the NZCOM from here (tarball) from the SD Card. The extent of my testing was starting runcpm and doing a DIR listing (did I mention I dunno anything about cpm?). Here's what the debug output looks like: 17:07:14.335 > CF: 50 58 0d 00 b5 17:07:14.335 > sioModem::sio_process() called 17:07:14.335 > ACK! 17:07:14.335 > Modem cmd: STREAM 17:07:14.337 > ->SIO write 9 bytes 17:07:14.337 > COMPLETE! 17:07:14.342 > set_baudrate change from 19200 to 9600 17:07:14.342 > Modem streaming at 9600 baud 17:07:18.731 > AT Cmd: ATCPM 17:07:18.731 > set_baudrate change from 9600 to 9600 17:07:18.738 > Loading external CPM CCP: CCP-ZCP3.60K I modified lib/device/sio/siocpm.cpp like so: void sioCPM::sio_handle_cpm() { _puts(CCPHEAD); _PatchCPM(); Status = 0; Debug_printf("Loading external CPM CCP: %s\r\n", CCPname); _RamLoad((char *)CCPname, CCPaddr); // Loads the CCP binary file into memory Z80reset(); // Resets the Z80 CPU SET_LOW_REGISTER(BC, _RamRead(0x0004)); // Sets C to the current drive/user PC = CCPaddr; // Sets CP/M application jump point Z80run(); // Starts simulation if (Status == 1) // This is set by a call to BIOS 0 - ends CP/M { cpmActive = false; free(RAM); } } and lib/runcpm/globals.h like so: /* Definition of which CCP to use (must define only one) */ //#define CCP_INTERNAL // If this is defined, an internal CCP will emulated //#define CCP_DR //#define CCP_CCPZ //#define CCP_ZCPR2 #define CCP_ZCPR3 //#define CCP_Z80 The code is looking for your ZCPR3 of choice on the root of the SD Card with the filename CCP-ZCP3.60K. If the file is not there, the runcpm emulator will constantly reset. I am providing the compiled firmware with minimal instructions to flash it from command line. I cannot push this code as a firmware update to be used with the flash tool as it will break cpm for other users. This is as far as I can go with this. Looking at the runcpm code made my brain hurt and realize I'm in way over my head. I'll stick to being a solder jockey leave the programming to the programmers Good luck on your BBS adventure and do tell if this works for you fujinet-fw-202220109-ccp-zcp3.zip 3 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 11, 2022 Share Posted January 11, 2022 @_The Doctor__, do you have the toolchain to build this? I don't. Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 11, 2022 Share Posted January 11, 2022 I just found this: https://alex-free.github.io/winxp_python3.6.15/ Is it worth a try? Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 22, 2022 Share Posted January 22, 2022 I can't get NZCOM to work. Same problem. Could it be that because There may have been an SD card in @ time of flashing? I don't know if I have that Pin 12 or 15 thing. I'll try again tomorrow w/o the SD card in. Quote Link to comment Share on other sites More sharing options...
mozzwald Posted January 22, 2022 Share Posted January 22, 2022 56 minutes ago, Kyle22 said: I can't get NZCOM to work. Same problem. Could it be that because There may have been an SD card in @ time of flashing? I don't know if I have that Pin 12 or 15 thing. I'll try again tomorrow w/o the SD card in. if the flash succeeded and the fujinet boots, it worked. How can I tell that I've loaded ZCPR3? ie, is there a new command not available in older CCPs? is there a version command? Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 22, 2022 Share Posted January 22, 2022 OK, then the flash worked, but NZCOM didn't. The way to find out is: Get a copy of NZCOM files on A0: and type MKZCM NZCOM. After you save it, type NZCOM to start it. Is there an easy way to contact the original guy mockba the Borg (or similar) that created it? ESP32 is out of my field of expertise. I can understand Z80 and 65xxx code. There must be a way to make it work. Search paths, Named Directories, and SO much more. Z-System is amazingly powerful. Have a good one. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted January 22, 2022 Share Posted January 22, 2022 1 minute ago, Kyle22 said: OK, then the flash worked, but NZCOM didn't. The way to find out is: Get a copy of NZCOM files on A0: and type MKZCM NZCOM. After you save it, type NZCOM to start it. Is there an easy way to contact the original guy mockba the Borg (or similar) that created it? ESP32 is out of my field of expertise. I can understand Z80 and 65xxx code. There must be a way to make it work. Search paths, Named Directories, and SO much more. Z-System is amazingly powerful. Have a good one. it is extremely presumptuous for you to think that we would already know how to make this work. -Thom Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 22, 2022 Share Posted January 22, 2022 I was only looking for a solution. NZCOM is to CP/M as SDX is to AtariDOS. Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 22, 2022 Share Posted January 22, 2022 I was hoping that anyone who read that would have an idea. There are MORE good people than bad. I am Optimistic. NZCOM was BIG in the 80's - 90's with the Z80 crowd. I am both 65xxx and Z8xxx friendly. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted January 22, 2022 Share Posted January 22, 2022 (edited) 5 minutes ago, Kyle22 said: I was only looking for a solution. NZCOM is to CP/M as SDX is to AtariDOS. You're not LOOKING for a solution. You're LOOKING for someone to HAND you a solution. Difference. -Thom p.s. I am getting _VERY_ tired of people unwilling to come out of their comfort zone to roll up their sleeves and figure out what can solve their problems, working the problem one piece at a time. No, they're expecting the few of us working on the code to just magically cook up a solution for something only those with the problem want or understand. If you want it, PLEASE... do the elbow grease and try to work the problem. It is workable. -Thom Edited January 22, 2022 by tschak909 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 22, 2022 Share Posted January 22, 2022 I am only searching for information. Someone must have wanted to do NZCOM before on the ESP32. All I want is the best functionality possible. FN is VERY impressive so far. I used to have fun writing for CP/M Versions of the M$ & DR languages both interpreted and compiled. I prefer compiled languages. Straight up Z80ASM is ALWAYS nice. NOT trying to fight or argue in ANY way. All I am looking for is FUNCTIONALITY. I know is is possible. Cheers. Have a good evening. Quote Link to comment Share on other sites More sharing options...
mozzwald Posted January 22, 2022 Share Posted January 22, 2022 (edited) You never answered my question: "How can I tell that I've loaded ZCPR3? ie, is there a new command not available in older CCPs? is there a 'version' command?". If you don't know, a simple "I don't know" would suffice. I'll say again that I don't know anything about CP/M and seeing as nobody else is interested in helping at the moment except me, you are going to have to help me out here. 14 hours ago, Kyle22 said: The way to find out is: Get a copy of NZCOM files on A0: and type MKZCM NZCOM. After you save it, type NZCOM to start it. Can you provide these files for testing? 14 hours ago, Kyle22 said: Is there an easy way to contact the original guy mockba the Borg (or similar) that created it? ESP32 is out of my field of expertise. I can understand Z80 and 65xxx code. You can open an issue in the runcpm github repo Edited January 22, 2022 by mozzwald Quote Link to comment Share on other sites More sharing options...
mozzwald Posted January 22, 2022 Share Posted January 22, 2022 17 hours ago, Kyle22 said: Is there an easy way to contact the original guy mockba the Borg (or similar) that created it? I have asked the RunCPM developer and unfortunately NZCOM won't work with it. Case closed. This is his response: Quote RunCPM doesn't have a real CP/M Bios and BDOS on it. The whole thing is emulated as an abstraction layer which connects the CP/M calls to the underlying operating system, in order to translate file accesses to the underlying oprating system's equivalent ones. This allows "regular" CP/M programs to run on top of the host system while all disk access (non-physical) is translated. This way the "regular" CP/M programs "think" they are running on a real CP/M machine. There is a problem though when we use "advanced" CP/M programs, the ones that will implement direct access to the disk tracks and sectors will fail, because the hardware doesn't exist. The ones which will embed them onto the CP/Ms memory by capturing BDoS and BIOS memeory addresses will also fail, because the memory is not really there, it is all emulated. I have not been able yet to understand how NZCOM behaves, but its description is saying that it implements a layer on top of CP/Ms BDOS, thus implementing additional features to the operating system. If this is done by "hooking" CP/Ms BIOS and BDOS calls, then it will not work at all. --- The files contained in the NZCOM LBR file suggest that it implements its own BIOS --- This piece is on NZCOMs user guide: This means NZCOM replaces the underlying BDOS/BIOS calls, therefore it will not work with RunCPM, unfortunately. One cannot replace the command processor for example, as it is hardcoded onto RunCPM. 3 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 23, 2022 Share Posted January 23, 2022 Thanks so much for finding the answer. I really appreciate it. Next step in the process: I need to find a hard drive adapter that will work on the Indus. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted January 23, 2022 Share Posted January 23, 2022 (edited) 37 minutes ago, Kyle22 said: Thanks so much for finding the answer. I really appreciate it. Next step in the process: I need to find a hard drive adapter that will work on the Indus. Your tenacity isn't what makes my eye twitch. it's that you spin your wheels doing the most wrong thing possible, while simultaneously ensuring you'll never find a workable solution by not listening to anyone with actual experience. There is something very....very wrong with you. -Thom Edited January 23, 2022 by tschak909 1 2 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted January 23, 2022 Share Posted January 23, 2022 Case and point, the CP/M module in fujinet can be extended with more BDOS commands. I've done this to add fujinet functionality: https://github.com/FujiNetWIFI/fujinet-platformio/blob/master/lib/runcpm/cpm.h#L829 https://github.com/FujiNetWIFI/fujinet-platformio/blob/master/lib/runcpm/abstraction_fujinet.h#L603 and suddenly, you're able to do the following from the Z80 side: https://github.com/FujiNetWIFI/fujinet-cpm-tools/blob/main/listen/src/listen.c This, coupled with the fact that CP/M usage is completely abstracted to the point where storage is only limited by the SD card space, this creates a better environment. Why are you wasting your time doing the dumbest approach possible? -Thom 1 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted January 23, 2022 Share Posted January 23, 2022 (edited) runcpm is kind of quick and dirty, it's expedience made it the cut and paste quit fixup go to. It can lead to difficulties when trying to port plato etc.. to the party, cromenco dazzler graphics etc. but you can see they extended bdos in the github... maybe... https://planemo.org/2014/07/28/z80pack-cp-m-emulator-and-nz-com/ someone like @apc might peruse this way of doing things... it might be a good choice to port Edited January 23, 2022 by _The Doctor__ stopped while writing Thom responded... 2 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted January 23, 2022 Share Posted January 23, 2022 2 minutes ago, _The Doctor__ said: runcpm is kind of quick and dirty, it's expedience made it the cut and paste quit fixup go to. It can lead to difficulties when trying to port plato etc.. to the party, cromenco dazzler graphics etc. but you can see they extended bdos in the github... maybe... https://planemo.org/2014/07/28/z80pack-cp-m-emulator-and-nz-com/ someone like @apc might peruse this way of doing things... it might be a good choice to port with a Tektronix 4014 emulator, the TEK4014 GSX driver can be used, and a port of platoterm becomes possible (or any other GSX program) The 4014 protocol is well documented, and somebody sufficiently motivated (and not working on a dozen other related things in fujinet) could whip one up in a week. http://www.urbanjost.altervista.org/LIBRARY/libvogle/drivers/tek.html -Thom 1 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted January 23, 2022 Share Posted January 23, 2022 BYE.COM: https://github.com/FujiNetWIFI/fujinet-cpm-tools/blob/main/bye/src/bye.c The resulting hooks in BIOS: https://github.com/FujiNetWIFI/fujinet-platformio/blob/master/lib/runcpm/cpm.h#L363 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.