Osborne 1 computer just as it arrived from Goodwill. A little scuffed but minimal yellowing for its age.
Goodwill find - The back
Check that price!
Goodwill find - The front
Goodwill find - On the desk
First problem. No video output.
When I powered up the Osborne in Goodwill there was no video. Adjusting the brightness and contrast did nothing. I figured for the price it was worth the risk and brought it home. Once I got it home it didn't take long to figure out what was going on.
By default the Osborne displays 52 column video to its internal display. There is a card edge connector for external video that is normally terminated. That termination enables the internal display. My Osborne came with a "Drive C:" upgrade card which plugs into the video port and passes the signal through to an RCA plug. I grabbed my Commodore 1902 monitor and connected it to the Osborne 1 and boom! Video!
Osborne video on a Commodore 1902
So now I just need a terminator to test the monitor. Turns out that is easy too. All you need is the appropriate sized edge connector and jumper the top pins to the bottom pins. Once attached I got video on the internal display.
Osborne video on internal display
And here is a closeup of the video terminator.
Osborne video terminator
Once I had video I was able to tune the brightness and contrast. The pots were pretty bad so I had to hit them with tuner cleaner and exercise them a bit.
OMG it has a fan!
Everyone always says the Osborne doesn't have a fan. Well, turns out this Osborne did have a fan from the factory which may have been the one from the later Executive model. The fan is on by default and hidden in the bulge under the handle. It is behind a door and running completely smothered unless opened.
Fan module opened
Fan module from behind
Recap that power supply
Like many power supplies from the time, the Osborne power supply has Rifa caps that blow and release the magic smoke. Mine were cracked but otherwise still working.
Power supply with yellow Rifa in the middle
Before going any further I ordered a recap kit from Console5 and replaced all of the caps.
Creating disks
So what do you do when you have no disks and no old PC's with 5 1/4 disk drives? You will need something that can write Single Sided Single Density or Single Sided Double Density disks. Enter the Commodore 128 and 1571 floppy drive.
I also used a 1581 drive and a pi1541 to transfer files to the 128 with SD cards but an SD2IEC should work just as well. Why the 1581? I found that writing the images directly from the pi1541 would often result in a failed image. The 1581 is an extra step to get reliable images.
Starting on a Windows machine I downloaded Osborne 1 Double Density CP/M from http://dunfield.classiccmp.org/img42841/system.htm. The Double Density image is important. I have had no luck writing Single Density images on my 1571. Next extract your downloaded files.
On Windows download samdisk from https://simonowen.com/samdisk/ so you can work with these images. There are other tools but this one worked well for me.
Next convert your IMD images to RAW:
samdisk O1CPM.IMD o1cpm.raw
Note: You want the files names in lower case otherwise they will be PETSCII characters on the 128.
Now Download DraCopy V1.0.d ( I couldn't get the newer version to play nice ) for use later.
Download The 1571 MFM Disk Image Writer from biosrhythm.com.
Lastly download Vice to get access to the c1541 utility.
Now extract the files from the 1571 MFM Disk Image Writer d64 so we can write them to a d81. I must have used c1541 for this. Here are the files you want:
Now move to your Commodore 128. Format a real 1581 Floppy. Mu 1581 was at id 10.
HEADER "TEST DISK",IAA,D0,U10
From your pi1541 run DraCopy. Once DraCopy is running mount oscpm.d81 on your pi1541. Using DraCopy copy all files from oscpm.d81 to your real 1581 (or of course a 1571 if you have 2). Exit DraCopy.
Now lets burn the image. From the real 1581 ( or 1571 )
Run start
Select Osborne
Filename o1cpm.raw
Drive: 10 (This is the source drive)
Blank Floppy in Drive 8 ( No option to specify another drive )
Go!
If all goes well you now have an Osborne 1 CP/M disk. Do NOT turn your Osborne on or off with a floppy in the drive. Your disk will likely be corrupted.
Turn on your Osborne, insert your disk in Drive A and hit return. If everything worked the following screen should be displayed after the Osborne logo:
Osborne Help Menu
cpmtools
cpmtools can be used to read and write files from CP/M disk images on Linux. I'm running Ubuntu under WSL so I installed it there. I have standalone Linux but all of my other tools were for Windows so I went with WSL so everything is in one place.
To install on Ubuntu:
sudo apt install cpmtools
Out of the box cpmtools did an excellent job of reading single sided double density disks using osborne1 as the format.
$ cpmls -l -f osborne1 o1cpm.raw
0:
-rwxrwxrwx 8192 Dec 31 1969 asm.com
-rwxrwxrwx 2432 Dec 31 1969 autost.com
-rwxrwxrwx 4352 Dec 31 1969 copy.com
-rwxrwxrwx 5120 Dec 31 1969 ddt.com
-rwxrwxrwx 512 Dec 31 1969 dump.com
-rwxrwxrwx 6656 Dec 31 1969 ed.com
-rwxrwxrwx 17920 Dec 31 1969 help.com
-rwxrwxrwx 2048 Dec 31 1969 load.com
-rwxrwxrwx 11008 Dec 31 1969 movcpm.com
-rwxrwxrwx 7424 Dec 31 1969 pip.com
-rwxrwxrwx 4992 Dec 31 1969 setup.com
-rwxrwxrwx 5376 Dec 31 1969 stat.com
-rwxrwxrwx 1536 Dec 31 1969 submit.com
-rwxrwxrwx 1536 Dec 31 1969 sysgen.com
-rwxrwxrwx 2304 Dec 31 1969 xdir.com
-rwxrwxrwx 4096 Dec 31 1969 xsub.com
Problem is that many of the disk images online are single sided single density. The disk definitions for cpmtools can be found in /etc/cpmtools/diskdefs and at least on Ubuntu there is no working definition for SSSD.
I tried my own hand at getting a working definition. I could get most of the directory but never the whole thing. I don't remember where I found it but the following definition works for SSSD images. Just add to your /etc/cpmtools/diskdefs file:
# BEGIN osb1sssd Osborne 1 - SSSD 48 tpi 5.25" - 256 x 10
# Test OK - image size = 102,400, from Don Maslin's archive
diskdef osb1sssd
seclen 256
tracks 40
sectrk 10
blocksize 2048
maxdir 64
skew 2
boottrk 3
os 2.2
# DENSITY MFM ,LOW
# BSH 4 BLM 15 EXM 1 DSM 45 DRM 63 AL0 080H AL1 0 OFS 3
end
Example reading the Drive C: SSSD disk:
$ cpmls -l -f osb1sssd drive_c.raw
0:
-rwxrwxrwx 768 Dec 31 1969 autost.com
-rwxrwxrwx 9984 Dec 31 1969 dca.com
-rwxrwxrwx 6656 Dec 31 1969 dcl.com
-rwxrwxrwx 896 Dec 31 1969 dcq.com
-rw-rw-rw- 128 Dec 31 1969 dcq.dat
-rwxrwxrwx 768 Dec 31 1969 dcqaut.com
-rwxrwxrwx 7296 Dec 31 1969 dcqins.com
-rwxrwxrwx 6272 Dec 31 1969 dcu.com
-rw-rw-rw- 2560 Dec 31 1969 dfd.spr
-rwxrwxrwx 7424 Dec 31 1969 pip.com
-rw-rw-rw- 7936 Dec 31 1969 prn.tst
-rwxrwxrwx 2304 Dec 31 1969 xdir.com
Now cpmtools can be used to extract files from your image. For example:
So now I have files. Now how do I get those to my Osborne? I tried exporting the files and then and then writing them to a CP/M image that had room but I never ended up with a functioning image. I got close but always one or two of the executables would be broken. Since creating images and bouncing from Windows to C128 to Osborne 1 is a pain, I moved on to getting serial working.
Serial communications on the Osborne 1
Some things to understand about your Osborne 1's serial first:
Default baud rate is 1200
You want a straight through serial cable. No NULL modem required.
The Osborne 1 speaks old fashioned RS-232 at 12 Volts. This means modern USB serial adapters will likely not work.
12 Volt serial
I chose to connect to an old PC with a real serial port but the IMSAI Guy has a number of excellent Osborne videos on YouTube including a mod that allows the Osborne 1 to work with 5 volt serial.
Kermit
CP/M comes with a powerful tool called PIP which can be used to move files between devices. Unfortunately it is limited to text files and when transferring over serial it has a size limitation. The first thing you are going to want to do is use PIP to get Kermit on your Osborne. This process is covered in several places on the internet. I followed the following two sources:
Split cp4ker.hex into two smaller files ( f1.hex and f2.hex )
Transfer all 3 hex files with PIP
Join F1.HEX and F2.HEX into CP4KER.HEX on the Osborne
Use DDT to load CP4KER.HEX, apply the CP4OSB.HEX patch and save to kermit40.com
I struggled with this a bit and then after I got everything working I went back to document and I couldn't reproduce my success.
What you must know:
Don't upgrade your serial port to 2400+ until AFTER you get Kermit onto the Osborne. PIP does not seem to like anything over 1200 baud. At 2400 baud, no matter what I tried, only every other line of the file would transfer. As soon as I went back to 1200 baud PIP worked just fine.
After the file is done transferring look at the Osborne. If it is still waiting then hit CTRL-Z from the source machine. Then Wait! When the Osborne is ready it will say END OF FILE, CTL-Z. Now you can hit CTRL-Z on the Osborne and your file will be saved.
F2.HEX has ^Z at the end of the file so it will trigger the CTRL-Z for you on the client end.
If you hit CTRL-Z or anything else on the Osborne too early you will interrupt the transfer and get an incomplete file.
1200 to 2400 baud serial
WARNING: PIP does not like 2400+ baud. Might be something I did but I could not get PIP to work at high speeds. Get Kermit on your machine before you upgrade the speed.
Switching you max baud rate from 1200 to 2400 is simple. Just remove the jumper from J1.
Remove J1 to get 2400 baud
You can access the jumper by simply removing the front of the Osborne 1. The hardest part for me was removing the brightness and contrast knobs.
Remove J1 to get 2400 baud
If you want to go all the way up to 9600 baud the IMSAI Guy has another excellent video:
Drive C: expansion
The Drive C: expansion provides RAM disk and print buffer features. I don't have a printer so I configured mine to use all 384k as a drive C: RAM disk.
Drive C: and harness
Drive C: Front
Drive C: Top
Drive C: Bottom
Drive C: Inside
The Drive C: is very flexible. You only need a couple files from the driver disk to mount the RAM as drive C:. You can also run a configuration utility to configure a boot disk which copies all files from drive A: and/or B: to the C: drive. Once the system is booted you have a very fast CP/M system that partially survives reboots. After a reset the system will boot from drive A: and detect that files have already been copied to C:. It will then perform an abbreviated boot and have you up and running in seconds.
I found a drice_C.imd SSSD image online and exported the files:
I then created a copy of my CP/M boot disk and deleted any files that were also found on the Drive C: disk. Next I used Kermit to transfer all of the Drive C: files to my new boot disk. I then rebooted the system to see if my new disk would boot.
If there is an existing DCQ.DAT file then then QuickPak will run that configuration. Otherwise you will be told to configure your Drive C:.
To configure just run DCQINS.COM and follow the instructions.
Commands
Format a Disk
COPY is the command that will format a disk. Just run COPY and follow the instructions.
Of course COPY can also be used to copy a disk.
Copy a file to another disk
Copy bob.pas from C: to A:
PIP A:bob.pas=c:bob.pas
Boot from drive B:
At the 'Insert disk in Drive A and press RETURN' prompt, press SHIFT + SINGLE/DOUBLE QUOTE key.
This swaps drive A: with drive b: and boots from the right drive.