Wanting a better CCP in CP/M

76 views
Skip to first unread message

Angus Bliss

unread,
Jul 1, 2020, 1:29:07 AM7/1/20
to LiNC80
While I was waiting for all the bits needed to get my Linc80 running I was using the SIMH (Altair8080) simulator on my Windows machine. It has a feature that I think the CP/M on the Linc80 (and the RC2014?) should have.

If you try to run a command and it is not on the current disk it fails. On SIMH it looks on the A: drive automatically. This means that you only need one set of your favorite tools and applications on the Compact Flash card. Being that we have so many drives (A - P) this would be a considerable help.

Has anyone done something to improve the CCP?

Angus

Steve Cousins

unread,
Jul 1, 2020, 4:07:58 AM7/1/20
to LiNC80
Googling "improved CCP for CP/M 2.2" gave several promising links.

The one is about failed file retrying as USER 0.

Jon Langseth

unread,
Jul 1, 2020, 2:42:34 PM7/1/20
to LiNC80
The behaviour of trying USER0 or the A-drive automagically when a COM file is not found on the current drive seems odd to me after having used CP/M on different platforms. But it sure seems like a useful feature. Regarding the question if anyone has done something to improve the CCP... Historically, yes, and there's a reason Z-system exists :) However, I don't think there's many "alternate BDOS" versions made for systems based on Searle's BIOS (Searle's system, RC2014, LiNC80).

I started looking at this before seeing you reply Steve, and came to some of the same conclusions as the posting you linked to. I think the location to "sneak in" the change would be in the "UNK*" area of the CCP code, between lines 1080-1180 (approx) of BDOS_22.asm, but it may be tricky. Unless the entire code is shifted to move CBASE down from 0xD000, there's precisely 13 bytes available for this change between the CCP and the FDOS. The "padding" is located at line 1240 in my copy, by the comment "Room for expansion?"

If anyone is up for the challenge, I will happily promote the resulting version.


--
You received this message because you are subscribed to the Google Groups "LiNC80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linc80+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/linc80/64a4111f-3f7b-440d-9e9a-9b181ec26139o%40googlegroups.com.


--
regards, Jon Langseth

Angus Bliss

unread,
Aug 15, 2020, 7:05:27 AM8/15/20
to LiNC80
> To unsubscribe from this group and stop receiving emails from it, send an email to lin...@googlegroups.com.
>
> To view this discussion on the web visit https://groups.google.com/d/msgid/linc80/64a4111f-3f7b-440d-9e9a-9b181ec26139o%40googlegroups.com.
>
>
>
>
> --
>
>
>
>
> regards, Jon Langseth

Jon, I have not given up on doing something about the "standard" CCP. It is standard 8080 code and is thus full of absolute jumps, where relative jumps would be fine. That on top of the serial number checking and the obscurrence used to hide the serial number check and executing a DI, HALT if things don't match means there is plenty of available space.

I have been practising installing CP/M using the provided programs so when I have my new version of the CCP I will be good to go.

Anyway I have decided to NOT modify the existing CCP, especially as I found multiple versions of native Z80 CCPs out there which not only fix my original annoyance but add extra features in less space than DRIs code.

Will post when it is running or any trials I have in getting there.

Angus

Jon Langseth

unread,
Aug 16, 2020, 6:44:16 AM8/16/20
to LiNC80
Yes, I agree that the 8080 code is less than ideal for reading, and as a result probably far from as compact as it could be. I'm "shipping" or "promoting" this version, as it is more-or-less the standard version used on recent "non-ROM-WBW" homebrew/diy systems, and the one I know the source of the best. As a result, users get a familiar experience, and I know how to respond to question (albeit sometimes quite late ^^). 

I'm all for having alternatives, and looking forward to seeing what you can get running!

Reply all
Reply to author
Forward
0 new messages