================================= BDS C Compiler/Linker source code ================================= "I, Leor Zolman, hereby release all rights to BDS C (all binary and source code modules, including compiler, linker, library sources, utilities, and all documentation) into the Public Domain. Anyone is free to download, use, copy, modify, sell, fold, spindle or mutilate any part of this package forever more. If, however, anyone ever translates it to BASIC, FORTRAN or C#, *please* do not tell me." Leor Zolman (leor@bdsoft.com) BD Software (www.bdsoft.com) 9/20/2002 =========== Posting Log =========== 9/21/2002: I guess I'm still Brain Damaged...I could have sworn I'd zipped the CLINK source with CC and CC2, but it still wasn't in there. This time for SURE. CLINK is really, really there. 9/20/2002: Initial release. ====================== The Development System ====================== The first version of BDS C was CP/M-80 only, written in early 1979 a 2 MHz IMSAI 8080 micro with the following configuration: IMSAI 8080 base system, blue Plexiglas top cover Anywhere between 24K - 56K of RAM, depending on how many of my 8K boards were working on any given day (those 21L02 1Kx1 static RAM chips ran HOT) Processor Technology VDM-1 64x16 char display card (the H19 came along a LOT later) Sanyo 8" B&W video monitor Processor Technology 3P+S Parallel/Serial card (lots of solder) Sergeant's Sentry surplus parallel ASCII keyboard with custom breadboarded character latch Tarbell Floppy disk interface (Don Tarbell, you rule. By then, I'd retired the Tarbell Cassette Interface and JC Penney tape recorder) One 8" floppy drive. Or was it two? Eventually it was two...in any case, *that's* why BDS C had to be fast. If it weren't, I'd have gone insane waiting for it to compile anything. Some equ's at the top of the major components, and their meanings: alpha: equ 0 ;true if "alpha-C" version Lifeboat Japan sold an OEM, stripped down version for Sony and Sharp consumer CP/M (MSX?) machines. They were moving something like 5-10 thousand copies per month at one point. motu: equ 0 ;true if for Mark of the Unicorn I had a special version for Mark of the Unicorn, so they could compile stuff like Mince and Scribble and FinalWord without running out of table space. Scott Layson wrote the L2 linker so BDS C could be used for these tools. trs80: equ 0 ;true if special TRASH-80 version What can I say? The original TRS-80's didn't have several ASCII keys like curlies, vertical bars, etc. etc...it took some special handling. prerel: equ 0 ;true if `pre-release' is to be printed on startup debug: equ prerel marc: equ false ;true if MARC-resident version Ah, MARC. Did I talk about this in the online interview I did? Too much to say, now's not the time. I'll try to do justice to this entire episode at some point in the future... THE END (for now)