• Please review our updated Terms and Rules here

Well-known ports under CP/M - And binaries that access ports directly.

cj7hawk

Veteran Member
Joined
Jan 25, 2022
Messages
808
Location
Perth, Western Australia.
Just wondering if there are any well known I/O ports for CP/M as there is with MS-DOS -

I know there are none in CP/M itself, but were there any common hardware ports that software (eg, Wordstar, Modem Software ) used that transcended a single machine architecture? Such that the same software worked across multiple machines?

Or anything like well known bios extensions for I/O devices like there was with the IBM-PC and original DOS?

Thanks
David
 

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
43,319
Location
Pacific Northwest, USA
AFAIK, not really. Each vendor's system was treated as sui generis pretty much. About all I can think of is some terminal emulation (mostly LSI ADM-3 type) by several platforms. Of course, CBIOS interfaces were standardized by fiat.
 

durgadas311

Veteran Member
Joined
Mar 13, 2011
Messages
1,702
Location
Minnesota
Core CP/M (Digital Research contribution except the sample BIOS) did no I/O itself. That was entirely up to the BIOS. There were occasional third-party apps that did, but those were not portable to another platform and did not do well commercially (if that was their intent). Vendor utilities might, but those are specific to a platform. I have seen some apps (like some versions of MBASIC) that were licensed for a specific platform and did some "security" check to make sure you were running on the licensed platform.
 

Svenska

Veteran Member
Joined
Mar 19, 2007
Messages
640
Location
Sweden
I think the only true standardization was that applications relying on doing I/O themselves were either married to a particular platform (e.g. vendor utilities), or they were adaptable through patching or similar mechanisms. This also includes terminal output beyond a teletype or maybe a handful of common terminal types.

As far as BIOS extensions go, I can only think of GSX (graphics support) and CP/NET (remote drives), but I don't think they were particularly common. There aren't many GSX applications around, for example.

Keep in mind that early versions of DOS were structured very similar to CP/M, and on early machines, you can't rely on any well-known I/O ports or addresses, either. Those conventions came with the IBM PC dominance and its clones. I've got an 80186-based system running MS-DOS 3.10, but most applications simply fail because the video and interrupt systems work in a completely different way. It attempts to be partially BIOS-compatible though, other early systems don't at all.
 

krebizfan

Veteran Member
Joined
May 23, 2009
Messages
6,092
Location
Connecticut
TAPELIB, the tool for use with Tarbell Cassette Interface Cards, hard coded references to specific ports. I am dubious that all S100 systems with Tarbell interfaces had those specific ports available.
Code:
CASC    ==    6EH        ;CASSETTE STATUS PORT
CASD    ==    6FH        ;CASSETTE DATA   PORT
 
Top