Access to CP/M-80 programs under DOS
When I ordered the BabyBlue II (BB2) on eBay (US) (no software, no manual) I was very sceptical if I could get this card to work.
I had to wait one year, then a member of VCF answered my old request. He was kind enough to provide me with the software and manual.
The BabyBlue II (1984) is the successor model to the BabyBlue (BB, 1982) card. The BB Z80 Co-processor card was produced by Microlog and Xedex and has no extended funktions.
In contrast to the BB2 the BB2CP looks a bit „tidier“; not so many ICs. It also seems a little shorter. But that can be deceptive in the picture.
A similar product from this category is UniDOS Z80 card from MicroSolutions.
My system configuration
- IBM PC XT 5150 (64-256)
- 4 x 64K RAM
- NEC V20 CPU (5 Mhz)
- IBM PC DOS 3.30 (de)
- IBM Expansion Card (256K)
- IBM 5.25" diskette drive adapter
- Tandon TM100-2A (2 drives)
- IBM Monochrom Display Adapter (MDA)
- Super PC BIOS v3.1
- BabyBlue II
- 3 x 64K RAM (DOS memory expansion)
- 1 x 64K RAM (CP/M)
- Z80B CPU (6 Mhz)
Here is the memory map of my IBM PC 5150. This configuration only works with the MDA card (not with EGA or VGA) and the Super BIOS (-> 704K DOS memory)!
Without the Super-BIOS the setup of the BB2 would have taken much longer, because the original IBM BIOS shows absolutely nothing at startup. The Super BIOS, however, counts exactly the RAM and shows the I/O addresses.
Switches (SW1 to SW3)
My BabyBlue II configuration is very special (704K RAM) and only one of many possibilities. Please read the manual very carefully.
The provided software and manual are for the BabyBlue II CPU Plus (BB2CP), but you can also use it with the BabyBlue II. One main difference is the switch SW2. On the BB2 it is in the center of the card and has seven dip switches. On the BB2CP it is on the right and has only three dip switches. The switch SW2 has a completely different meaning for both cards. SW1 and SW3 have exact the same functions.
SW1 (bottom center)
This switch controls the Z80 and the 64K CP/M RAM in bank IV. Bank IV MUST be populated. If not, nothing happens on startup. The PC is „dead“.
My settings: 1 2 3 4 5 6 7 1 1 1 0 0 0 1 Switches 1, 2 and 3 are always ON (1). - the Z80 uses the port address 31Ch - see manual p. 7-4 Switches 4 to 7: - memory location, here 0E0000 - 0E0000 is usually not used on the IBM PC/XT
The switch SW1 normally needs no adjustment. You can use the factory settings.
SW3 (bottom right)
The switch SW3 always needs adjustment! This switch controls the DOS expansion RAM, banks I to III.
On your PC or XT all four memory banks (0-3) MUST be populated. If not, you can not use the BB2 expansion RAM because of the „memory gap“.
The setup is explained in detail in the manual on pages 2-1 and following.
My settings: 1 2 3 4 5 6 7 1 1 1 0 1 1 1 Switches 1, 2 and 3: - bank I, II, III are populated; 0 if not - the banks must be enabled consecutively Switches 4 to 7: - memory location, here „080000“ - next „free“ bank after 512K (070000)
With switch SW2 you control COM, LPT and the clock (RTC).
- COM1 ... 3F8h
- COM2 ... 2F8h
- LPT2 ... 378h
- LPT3 ... ???h
- RTC .... 338h
LPT1 is hardwired on the MDA card to address 3BCh!
There is no standard clock address for the PC, so Baby Blue's real-time clock is assigned to an available address not reserved for one of the standard devices.
Manual, p. 2-5
My settings: 1 2 3 4 5 6 7 1 1 1 0 1 0 0 I use COM1, COM2, LPT2 and RTC on the BB2.
Installing and running CP/M Programs
On all my retro computers (DOS, CP/M-80, CP/M-86) I always install my favorite programs: Turbo Pascal 3.0, Wordstar 3.0 and Zork.
My IBM PC 5150 has three floppy disk drives (2x 360KB, 1x 720KB). In drive A:\ I have a PC DOS 3.30 system disk, in drive B:\ I have a disk with network programs for my Xircom PE3-10BT parallel adapter and in drive C:\ my respective program disk. Admittedly, Wordstar 3.0 is not very user-friendly, but if you have ever done your diploma thesis with TeX, nothing can shake you up that easily.
Please read chapter 5 of the user manual carefully. Important is the program BIND and the file HEADER.
HEADER is a large program, practically an operating system in its own right. The "meat" of the conversion software, it is paradoxically the one utility you never command directly. It does all its talking to your computer and you are aware of it only through its effects - it makes CP/M programs run on your machine.
Before a CP/M program will run on Baby Blue II, it must have HEADER attached to it - this is called „binding“ the program. Binding is carried out using either CONVERT or BIND, as outlined below.
Manual, p. 5-2
BIND attaches HEADER to CP/M COM files; unlike CONVERT, it works only with PC-DOS, not CP/M diskettes. It's used when you need to attach HEADER to a CP/M program already on a PC-DOS diskette, which is the recommended way to buy software.
If BIND finds a HEADER already attached to a file, it removes it before attaching another one - this is how you update your files with a new revision of HEADER.
Manual, p. 5-2, 5-3
Also important is the terminal emulation „Televideo 950“. The terminal emulation is particularly important when installing TP 3.0 and WS 3.0.
A program controls your video display using codes which are defined not by the operating system itself, but by the manufacturers of the leading display terminals. Since CP/M-80 programs are published to work with a variety of terminals, they generally come with an installation module which asks you to choose your terminal from a list of available option.
Thus, in addition to emulating for your program's benefit the environment of a CP/M operating system, HEADER must also pretend to be one of the standard terminals for which CP/M- 80 programs were written. We have chosen the very popular Televideo 950 terminal as our model - you will find that this choice assures compatibility with the widest range of available programs.
Manual, p. 5-8
Turbo Pascal 3.0
Problem, TP 3.0 does not support the Televideo 950 terminal. Oops! Well, what next? After a time of testing (with TINST) I found out that the terminal "Microbee VDU" also fits the IBM MDA card. Also here characters can be highlighted. The emulation "Kaypro (no hilite)" basically works too, but without highlighting.
Note: When you compile a CP/M COM file „to disk“, you do NOT need to BIND this file. BB2/HEADER does this automatically (see manual: „5.411 Rule I: Creating COM Files“).
The CPM files are the original files. The COM files are the CPM files binded with HEADER. WordStar 3.00 is installed as usual via INSTALL.
With the above settings I can also print WordStar files via the parallel interface. In my case LPT1 with 3BCh.
On the move with PIP
I thought, just give it a try: copying files with PIP under DOS. No sooner said than done. Just copy PIP to the BB2 computer and binding the file HEADER. And? PIP copies a file from drive A to drive C perfectly.
- Vintage Computer Forum (VCF): Microlog BabyBlue II
- Vintage Computer Forum (VCF): BabyBlue II CPU Plus (ISA card): software + scans of manuals, inserts, disks
- Super PC/Turbo XT BIOS v3.1: Plasma (Jon Ρetrosky and Ya'akov Miles)
- BabyBlue II CPU Plus: User's Manual 1984 / Version 1.0 (30 MByte)