Pulsar was an Australian computing company located in Melbourne, Victoria. They made STD cards and computings systems based on the STD bus and often using TurboDOS.
TurboDOS is a multiuser/multiprocessor operating system that can execute CP/M programs.
Eight Z80 processors and two 80186 processors share an 8″ floppy drive and a SASI/SCSI hard disk, supporting 9 concurrent users. Each Z80 user gets their own 64k in which to run CP/M-80 programs, while the lucky 186 user scores 256kB in which to run CP/M-86 programs.
The master board, a 80186 board, loads the operating system from disk and, once it is up, it transfers the operating system to each of the slave cards.
All the rack-mounted cards are bona fide eighties cards. The rack and the 8″ drive are also of the time. The re-construction is new. I was able to find only very scant details of the Pulsar 9000, but i did have a complete set of cards and some software handbooks. It looked like a project!
I refer to this system as a Pulsar 9000, but is actually really a loose interpretation of what a Pulsar 9000 might have been. It arrived as a collection of STD boards made by Pulsar, some STD subracks, some Pulsar enclosures, some TurboDOS manuals, some 8” floppy disks, and a few notes, brochures, price lists etc.
The work on the Pulsar 7500 helped to give some insights into how TurboDOS is used on a multiprocessor system, but this is a step-up in complexity and with less documentation. In particular, the specifics of how to install TurboDOS were missing.
The 7500 used Little Big Boards and SASI/Serial cards, and it arrived as a system. There was manual that confirmed the arrangement and how to boot it.
The cards had no labelling that indicated what they were, but matching the components with some brochures and price lists helped to identify them.
Amongst the cards were:
2x STD-6016 80186 CPU Cards – one with 256kB and the other with 1MB
10x STD-6080 Z80B CPU Cards
2x STD-6216 SASI Floppy RTC
The CPU cards were sold as masters or slaves. The type of card was probably just an EPROM change or jumper setting.
The STD-6080 cards are more powerful than the Little Big Boards in the Pulsar 7000. They have better inter-processor comms, including a network interface and through-the-backplane connectivity. They have no floppy disk interface.
Some of STD-6080 cards do not have the network interface installed.
The DIP switches possibly set the address of the card on the STD bus. Switch 7 appears to be the LSB. There are 6 cards that seem to follow a sequence of 0 to 5. There are another 4 cards that follow a sequence of 0 to 3. Perhaps two separate systems originally.
There is very little information available for these cards. There are some brochures but no manuals or schematics.
STD-6080 6MHz Z80B
The STD-6080 cards are more powerful than the Little Big Boards in the Pulsar 7000. They have better inter-processor comms, including a network interface and through-the-backplane connectivity. They have no floppy disk interface.
Some of STD-6080 cards do not have the network interface installed.
The DIP switches possibly set the address of the card on the STD bus. Switch 7 appears to be the LSB. There are 6 cards that seem to follow a sequence of 0 to 5. There are another 4 cards that follow a sequence of 0 to 3. Perhaps two separate systems originally.
There is very little information available for these cards. There are some brochures but no manuals or schematics. Some of the boards have the serial network driver – others don’t. I don’t intend to set up a serial network at present so it doesn’t matter much.
Based on the settings of the cards, the DIP switches operate as follows:
Switch
Function
Setting
8
Master/Slave
Set to On
7-3
Slave ID
On=0, Sw7 is the LSB. 0000 is slave number 1.
2
May be a part of slave ID. Not sure!
1
Don’t know. Maybe determines the network interface?
Set to On
These seem to be similar for the 80186 boards as well.
There is a 256k board and a 1MB board. The 256k board is labelled “master only”. I tried it as a slave, and although the boot sequence seemed to complete ok, there was no output from the serial port.
Before launching into a full build i decided to spend some time testing stuff out. Did the critical cards work? Did i have all the required disk images? What combinations work? Could i use a SCSI drive emulator with the SASI card?
I set up a small STD card cage with a power supply and used a 5.25” HD density 8” substitute drive for checking out the disk images. Disks were written with greaseweazle.
All the files, including the TurboDOS 1.4 Manuals and the Pulsar disk images, are available at the Microbee Technology Repository
Both STD-6016 80186 boards will boot from disk 8_287_01 using a STD-6216 SASI card.
The configuration utility on the boot disk allows setup of STD-6016 (80186) and STD-6080 (Z80B) slaves.
Adding a second 6016 board with the same configuration does not boot. Changing the DIP switches 8 on the second board allows the master to boot.
None of the STD-6080 boards will boot from their native disk, 8_288_01. They all boot as slaves to a 6016. There may not have been a master configuration boot ROM, or the configuration may be via a dip switch. This disk may not have boot tracks.
Once the system is configured to use a slave, the master is no longer available as a console.
The STD-6216 works with SCSI2SD, but I have not been able to boot from the SCSI2SD. BOOT looks like it can copy the boot tracks but no success. Perhaps some SCSI2SD tweaks might get it there.
The system won’t boot from floppy if the SCSI disk is on. It may be attempting to boot from the SCSI disk but failing in a big way. There is a SCSI2SD parameter to delay startup.
To configure the STD-6080 slave, the CONFIG program needs to be able to access the distribution files for the STD-6080 – particularly PROSLV8.SYS. I did this in a single user configuration by setting up the hard disk first and then copying over the STD-6080 files.
The STD-6080 slave cannot run the STD-6216 executables, so on startup it has to have access to its own files. It’s possible to switch to the master using MASTER, but there seem to be some limitations, eg the config program seems to gag. It’s fine with the 1MB card so perhaps less limitation with that card.
The distribution disk does appear to have a master system for the STD-6080, but I don’t seem to have ROMs to load it – unless it’s by configuration link.
Having demonstrated that it is possible to build a system using the 6016 and 6080 cards it was time to set up a more robust system.
I had a very large enclosure setup including the drive and an Adaptec SCSI interface card. It has a rear panel that supports lots of D connectors.
Although having 10 slave processor cards is overkill it would certainly demonstrate the capability of TurboDOS. None of the pulsar cages seemed to have the current capacity required for that many cards, but there was a spare Pro-Log cage that looked suitably robust.
The enclosure was designed for an 8” drive and the distribution disks are 8”. I had an unallocated NEC 8” drive from about the right period.
The power budget is as follows:
Device
+5V
+12V
-12V
+24V
Master 6016
3
0.1
0.1
10xSlave 6080
20
6 (I’d be surprised if it’s this high.)
1
Floppy Disk Drive
0.9
0.9
Hard Disk (est)
1
1.5
Fans
0.5
Total
25
7.6
2
1
Used
40
10
10
5 (will replace with 3)
I used 4 separate supplies which complicated the mains wiring a little but matched the loads. The -12V supply is the same as the +12V but wired for -12V. The fans run off it to provide a minimum load.
The main switch was originally a key switch, but without a key it needed to be replaced.
Any mains wiring that could come into contact with low voltage wiring was sleeved.
The card cage already had a power connector and loom so it just needed reterminating.
Layout was a compromise. The supplies had to be mounted with the terminal blocks accessed from within. The 8” drive pushed the cage back as far as it would go while allowing access to the power supply terminals.
Three fans were included – one to cool the power supplies and the other to cool the processor cards. The case lid was modified to allow for the fan inlets.
Note to self: I wonder if that poorly mounted crystal accounts for keystrokes not being seen by the seventh card (The order changed a bit).
I had two unallocated NEC FD1165 8″ Floppy Disk Drives. This is a half height unit that uses 24V for the spindle motor.
The heads on this unit are easy to access once the drive cover is removed. Annoyingly, the configuration links are on the reverse side.
This unit, in its standard configuration, refused to release the door latch which was a little inconvenient. I changed a solder link so that it was more willing – “in use”.
Section 2.8 of the maintenance manual:
Function
Label
Position
Setting
Drive Identification
DX
1
Device select 1 (first device select) – Drive A:
Head Load
HL
2
Head loads with device select
Radial Ready Jumper
RX
1
Ready Gated by Drive Select
Side Select Jumper
SS
1
Use side select signal
Write Protect Jumper
PR
1
Send write protect and enforces write protect
Door Lock
DL
2
HL.DSX + DLH DLH= Door Lock Hold
DR
2
DH
2
In Use (Solder)
IU
2
Read Data
RD
1
Enable read data
Busy Lamp Indicators
BU
1
BS
2
Weird setup!
T1
Installed
Prevent rapid head load/unload
One of the two drives (let’s call it drive one) had been dropped at some point in its life. There are some significant dents in the chassis and the top head was initially at an unexpected angle.
I repaired this when I was imaging the 8” disk collection, and the drive operated quite well during that exercise.
The second floppy disk drive was not reliable when I had previously attempted to use it but i had not investigated further.
I used the first unit to create system disks and these disks worked well.
While loading software on to the hard disk using the first unit, I noticed that some disks which had been successfully imaged with unit one were not being read by the system using the same unit one. Of course, the processing done by the greaseweazle is quite different from that done by a real floppy disk drive controller, so the performance is not necessarily the same.
I imaged my configured boot disk using greaseweazle with unit one. Drive two was swapped into the system. It did not work with the original disk or with a new disk written by drive one.
Drive two did boot if i wrote the disk using drive two. This suggested that the alignment of the two drives was different.
The second drive was able to read some of the disks that the first drive could not, but not all.
What followed was several days of frustration, which left me with the impression that these drives (in combination with the floppy disk controller and ancient floppy disks) are not quite at the peak of their performance.
I initially used just ImageDisk to align the drives. This is a little tricky because I have no reliable double-sided reference disks. I do have a reliable single sided reference disk. For the second side I checked alignment using disks that had been written back in the golden age when the writing drive was in its prime. I checked with several disks which may or may not have been written with different drives!
The drives were not optimum. I’m sure I aligned the first drive prior to imaging, but its possible the alignment has shifted (my shed temperature has dropped significantly). I adjusted the drives as best I could. Using the Microsoft Multiplan disk, the drives seemed solid from track 0 to track 76.
Changing to some other disks (with a smaller number of sectors) the performance seemed less consistent with marked variation between tracks. Adjusting the bottom head involves moving the stepper motor baseplate – three screws loosened and then using a screwdriver to muscle the baseplate in or out, noting that the tracks have about a 0.5mm spacing. Often drives have a mechanism that convert quite large adjustment to effect a small change in position. Not this one. It requires a very gentle touch to get it in the optimum position.
As for most drives, the top head is adjusted relative to the bottom head. It requires even more patience because it is mounted using two screws which, once released, allow a lot of movement over a 3mm x 3mm plane and a wide range of angles. Extreme patience is required. The maintenance manual doesn’t even describe this operation – recommending replacement of the carriage instead. Nevertheless, it is possible to manoeuvre the head into a good position. Both drives required adjustment.
Unfortunately, the PC disk controller was too sensitive (two easily satisfied), so i could not get the alignment quite right for the actual system, which is fussy. I still had trouble reading original disks.
I then turned to instrumentation. I used the test points (8/9) and an oscilloscope in differential mode to get some additional info – the magnitude of the signal. This is at the output of what may be a custom amplifier. As was clear during the imaging of the 8” disk collection, performance declines with track number. The signal to noise ratio is significantly worse on the inner tracks, even when optimum. It was also clear that the magnitude was not steady.
I also happened to have an SA 120 alignment disk, which is very good for aligning the bottom head, but not the top head. It’s single sided!
The test signal is at Track 38. 100mV/div. 20ms/div. It is the gold standard, but may be less than optimum for the disks if they have been written out of alignment. There may also be a better compromise position if the top head is just a little out.
The whole concept of reducing the write current on, what are smaller sectors, seems to be a solution fraught with peril. Maybe they should have stopped at 60 tracks. I’ve noticed repeatedly that failures are likely on these inner tracks.
Having used this method the second drive was pretty good but the first drive is still unreliable.
Along the way I found a few things:
When I configured the boot disk I added the card boot files to a disk that was close to full, so they got written to the inner tracks.
I found that on occasions the boot process gave up on the floppy disk and went looking for the files on other drives eg the scsi2sd drive. This eventually led me to find that the floppy disk only needs to contain osload.com. No boot tracks are required. Osload is happy to load the card boot files from E:, after which E: becomes the system disks. For whatever the reason, the ROM can find Osload on the floppy but not on the scsi2sd.
If the drive is configured as drive 2 (second device select) it still boots but the drive is B:.
I had one more try at the first drive. I spent a lot of time making sure that the alignment gave the same amplitude for both heads. I checked it with a disk written by the second drive. It was not identical, but it was pretty good. But still it would not boot from disks written by the other drive.
In desperation, I thought I would just try aligning the bottom head (and hopefully the top head with it) by nudging and trying to boot. Eventually a found the correct position. It was not a big change but it was definitely different from where I had it. So, in a boil over, the correct position is not where the maximum amplitude is – unless, of course, something moved.
I noticed discrepancies between the two drives, so I tried a new alignment technique. Noting that problems are exaggerated on the inner tracks, I used greaseweazle to read just the inner tracks. The Disks were written with the second drive and read back with the first drive. By adjusting the carriage alignment in very small steps and then reading back it was possible to improve the alignment until bad sectors were not read.
This proved to be quite effective. Although the alignment was good, it is simply the case that the first drive does not read as well as the first. One disk would not boot on the first drive, but would on the second. Reading with greaseweazle with either drive was fine – even with only one rev. Once the disk was written with the first drive it would boot on either.
Along the way I noticed that the floppy disk controller card offers some options wrt precompensation. There are some links on the card. I have no idea whether the settings are correct for the drive. No doco. No mention of precompensation in the drive manual.
I think I now have two drives that a reasonably aligned. I have loaded a lot of software off a variety of disks using the second drive. No doubt the alignment of the two is imperfect. The second drive seems to perform better – perhaps it is better aligned, but I think its read circuit just performs a little better.
Greaseweazle/HxC perform better than the physical drive controller. I guess that’s the advantage of processing power and the ability to post-process but i have had the converse as well eg the Sorcerer with the Micropolis controller.
A gotek is a more convenient and reliable option for loading programs from disk images than actual disks. I just load the HFE files onto a USB stick for the gotek and then use with a 50 pin to 34 pin adapter to connect.
A gotek will never match an 8″ drive for beauty!
Where required and possible, the terminal option has been configured for Televideo 925.
There are two hard disks that came with the rest of the items. One was in the drive rack and the other was stored separately. The latter was clearly marked as being TurboDOS for the 80186.
Drive
Label
Capacity
Configuration
Speed
Status
Miniscribe 8425?
TurboDOS 80186
21MB
4 Heads 615 Cylinders 17 Sectors/Track
68ms
Boots 7 bad sectors marked
CMS Enhancements (Kalok) KL 320 Octagon
21MB
4 Heads 615 Cylinders 17 Sectors/Track
48ms
Untested
At least superficially, these drives appear compatible. Neither are listed in the TurboDOS 1.4 configuration options, but there is an option for a Miniscribe with similar parameters.
Both of the disks have MFM/ST-506 interfaces. The Pulsar 6216 has a SASI/SCSI interface. An Adaptec 4000 adapter board converts the drives to SCSI. The configuration program is aware of the adapter.
It was a bit of a surprise to see the machine boot from the miniscribe hard drive, as it probably hasn’t been powered for about 35 years.
It booted up to a user prompt. I was able to guess a user (accounts). It had no password, but was not privileged. It threw a few bad sector errors.
I found a post that said that TurboDOS stores its user ids and passwords in userid.sys on user 31. Unfortunately, 31 cannot be accessed without being a privileged user. Fortunately, there were some backups on floppy disk.
I booted up with floppy disk and then changed hard disks and copied the userid.sys file to my solid state drive. I could then have a peek:
Then I changed back to the old hard drive and was able to login as system.
Once there, Verify was used to check for and mark bad sectors:
Stat returned:
This system has disabled all floppy disk drives except A. There are two partitions on the hard disk B: and C:.
The baud rates are set to 19200 with 7,1,E.
There are 4 Z80 slaves.
There’s a fair chance that the hard disk will die. Often they power up ok to fail in the next month or so.
I tried copying the boot tracks using Boot, but the SCSI2SD drive will still not boot. There must be a trick.
HP called the HP-85 a calculator, but it was definitely a microcomputer. It runs an HP designed Capricorn microprocessor at a seemingly slow 613kHz, but with native floating point operations it was excellent for scientific calculations.
Having had an HP-11C since my uni days, i have a soft spot for HP gear. The computer itself was a quite a modest ebay purchase in about 2017, but i was aware when i bought it that it may be quite a project.
It sucked me right in. There’s a lot of love out there for this machine and its brethren. Curious Marc has done as much as anyone to raise interest in this machine. There is a ton of data available from the HP Museum and more at the HP Series 80 website. There is also an email group. I found myself wanting to get the most out of it.
I replaced the tape drive capstan rubber and modified the capstan to accommodate QIC tapes, which are easier to find than the original DC100 tapes.
At the back of the unit is an expansion bus that can accommodate I/O, RAM, and a ROM tray. I added 16k RAM, HPIB, Serial, and PRM-85 ROM boards. The PRM-85 mimics as many ROMs as i could have ever needed to poke into a ROM tray.
I added an HP-IB printer and a serial plotter (recently a friend found the HP-IB version for me – thanks Mike). I asked if anyone on the Australian Vintage Computers FB page might happen to have a drive unit – sure enough, Ben just happened to have one at very reasonable cost. I really appreciate the help that people give me to get things going.
The icing on the cake was when another group member offered me a box of DC100 tapes. Thanks, Chris. I’m in the process of refurbishing them with new drive bands. Maybe i will be able to revert the tape drive.
These days, an EBKTS board is the go-to for these machines. It’s a brilliant solution to either get started or just to experience everything the machine offers without the hassle of quite complex repairs or tracking down hard-to-get expansion modules and peripherals. It serves up disks and tapes from solid state storage.
The EBKTS wasn’t available when i started, so i was forced to do some hard yards. I don’t regret that; the tape and floppy drives add a lot of character. I will get an EBKTS at some stage, but the aussie dollar is pretty awful at the moment.
I feel like a computer is incomplete without a serial line, so i procured a HP82939A Serial Interface. It requires the I/O ROM for operation.
The serial properties are set by DIP switches inside the package, so it’s a screwdriver job. I used 2400 baud, 8 bits, 1 stop bit, no parity.
Then I set this back to defaults to appease the terminal program which insisted on factory defaults: 7 data bits, 1 stop, 300baud.
I left the plotter at the original settings, so the initialisation program needs to program the serial port via CONTROL statements. (See I/O ROM Manual)
The device number is 10 which is the default.
It worked fine with the plotter.
The Data Communications Pac includes a terminal program, TERMEM. The comms parameters can be changed via the soft keys.