BDS C Hard Disk

342 views
Skip to first unread message

Frank P.

unread,
Jun 11, 2018, 6:36:17 PM6/11/18
to altair...@googlegroups.com
Working off of Leor Zolman's web site, I was able to build a hard disk image that contains the BDS C compiler and all that goes with it. I was able to assemble and/or compile everything from sources with the exception of the library manager CLIB.COM (I couldn't find the source anywhere so I just copied Leor's executable.) I also threw in Bob Mathias' floating point library, Rob Shostak's long integer library, and 5 example C programs. It all works remarkably well given its antiquity (which matches the antiquity of the emulated computer of course). Compiling and linking results in some awesome blinking LEDs and seems fairly snappy to me, as does the execution of compiled programs (a number of the BDS C utilities are themselves written in C). Yes, it's plain ol' vanilla K&R C, but a lot easier and more fun than writing assembly programs. Works fastest if you turn the AltairDuino throttling off. This is version 1.60 of BDS C, so not every program written for earlier versions of BDS C or other K&R C compilers will compile without some modification, but that's the fun of "porting". The floating point package doesn't include a math library (MATH.H etal), so if you write one, let us all know :)

I did not unpack or in any way try to build the debugger (CDB), full screen editor (RED), or BCD library (BCD), but the archives (.LBR files) for these are on the hard disk for the adventurous. The BCD library reportedly has a math library for BCD numbers.

The file "FILES.TXT" contains a list of the 89 files on the hard disk. It's a bootable CP/M hard disk, so just follow the usual instructions to boot it up. HINT: type LS instead of DIR to see the file names sorted alphabetically.

For the impatient, once the hard disk is booted, type:
ERA HELLO.COM
CC HELLO.C
CLINK HELLO
ERA HELLO.CRL
HELLO

For the more patient, I've put the BDS C documentation PDF file and a copy of FILES.TXT (for your reading pleasure) in the same Google Drive folder as the hard disk image, which I've named "HDSK04.DSK: BDS C Compiler", but feel free to put it on your micro-SD card named as you please (don't forget to edit HDSKDIR.TXT.)

For more fun, you can find a treasure trove of other BDS C programs in the 4 directories here:
http://www.retroarchive.org/cpm/cdrom/CPM/BDSC/

You can download my hard disk image, the PDF file, and a copy of FILES.TXT from here:

Let me know if you have any issues downloading these or running from the hard disk.

Knock yourself out!

Frank P.

unread,
Jun 11, 2018, 6:46:15 PM6/11/18
to Altair-Duino
And FYI, the CP/M is version 2.2b, the same one that's on HDSK03.DSK.

HAL 9000

unread,
Jun 27, 2018, 11:03:34 PM6/27/18
to Altair-Duino
Thanks for putting this together.

Howard Cripe

unread,
Jul 17, 2020, 1:14:06 AM7/17/20
to Altair-Duino
I am bringing up a Z80-MBC2 board and want to put BDS C on it. I found your disk image file, but I can't figure out how to get the files from your disk image to the Z80-MBC2 disk image format. I am trying to extract the files from the HDSK04.DSK file and have tried the altairz80.exe simulator, but can't get this image to mount properly. How did you get the files into this disk image? Are the files available as a zip file? I can import files into the Z80-MBC2 image format using cpmtools, but cpmtools can't seem to read your disk image format properly to extract them.

Thanks,
Howard Cripe

Richard Deane

unread,
Jul 17, 2020, 6:43:42 AM7/17/20
to Altair-Duino
an alternative is to get the files fromĀ http://www.cpm.z80.de/develop.htm, use grant searles packager to aggregate into pkg file or zc with nulu to aggregate into lbr file, then xmodem into z80mbc2

Richard
Message has been deleted
Message has been deleted

Frank P.

unread,
Jul 17, 2020, 7:14:06 AM7/17/20
to altair...@googlegroups.com
Howard, I got much to most of it from the horse's mouth here: https://www.bdsoft.com/resources/bdsc.html
But I had to scrounge for some of the outlying stuff like the BCD Float package and the LONG package. I could use PCPUT to suck all the pertinent files off the disk, but that would be time consuming. I have a directory that I used to collect all the parts (it's a bit of an unorganized hodge-podge, but everything is there - not as organized as the hard disk), so perhaps you can work with that - get it here: https://drive.google.com/file/d/1s0d7TJGrN5up5Fug7dAifqxewoPEOIdb/view?usp=sharing

Incidentally, Aztec C, put together by Dave Cook of this group, is a much better compiler you might want to look into. See: https://groups.google.com/forum/#!topic/altair-duino/3F5-Z2kVP40

Frank P.

unread,
Jul 17, 2020, 7:25:52 AM7/17/20
to Altair-Duino
Sorry Howard, that 3rd link (for the Aztec C hard disk put together by Dave Cook) is incorrect. I'll fix it when I have time and post a corrected link here, or you can just search this group for "Aztec".


On Friday, July 17, 2020 at 7:14:06 AM UTC-4, Frank P. wrote:
Howard, I got much to most of it from the horse's mouth here: https://www.bdsoft.com/resources/bdsc.html
But I had to scrounge for some of the outlying stuff like the BCD Float package and the LONG package. I could use PCPUT to suck all the pertinent files off the disk, but that would be time consuming. I have a directory that I used to collect all the parts (it's a bit of an unorganized hodge-podge, but everything is there - not as organized as the hard disk), so perhaps you can work with that - get it here: https://drive.google.com/file/d/1s0d7TJGrN5up5Fug7dAifqxewoPEOIdb/view?usp=sharing

Incidentally, Aztec C, put together by Dave Cook of this group, is a much better compiler you might want to look into. See: https://www.bdsoft.com/resources/bdsc.html
Message has been deleted

Frank P.

unread,
Jul 17, 2020, 8:06:22 AM7/17/20
to Altair-Duino
Ok, Aztec C link fixed 2 posts above. Here it is again: https://groups.google.com/forum/#!topic/altair-duino/3F5-Z2kVP40
Message has been deleted

howard...@gmail.com

unread,
Jul 17, 2020, 11:02:11 AM7/17/20
to Altair-Duino
Thanks to all for the quick replies. I spent several hours yesterday looking for the "diskdef AltairDuino-cpm22" entry for cpmtools, but couldn't find it. That solves the problem of being able to extract files from Frank's image.

I spent about 5 years back in the early 80's developing anesthesia monitors on embedded Z80 boards using BDS C on Kaypro 10 computers. I live south of Kansas City in Olathe KS, and Leor wrote for the C/C++ User's Journal in Lawrence KS around that time. I got to meet him a few times, so I have a strange fondness for BDS C. Thanks for the Aztec C links as well. I will try that one out. I know it was a fuller compiler at the time but BDS C was less expensive and it was easy to set up for embedded Z80 designs. When I found the Z80-MBC2 board project I just had to build one to bring back some memories. I'm retired now so I have more time to experiment with this. I have the MBC2 running and it works great. This should be a fun project. I have an old Ampro Little Board and if I can find some of my old floppies I may have some more BDS C stuff there too, but I will have to use XMODEM to get files off of there since it only has floppy and serial interfaces.

Thanks again for all the help from Frank, Richard and Michel. Your links and information have solved my problem and I am on my way!

Howard Cripe

Reply all
Reply to author
Forward
0 new messages