Posts

Pulsar 9000 Seeing What Works

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.

Pulsar 9000 Solid State Drive Arrangement

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.   

DiskE:F:G:H:
Capacity16MB16MB16MB25MB
User    
016 bit TurboDOS Files   Wordstar8 bit TurboDOS Files   Wordstar8 bit TurboDOS Files   Wordstar8 bit TurboDOS Files   Wordstar
116 bit TurboDOS Files BackupPascal MT/Plus Sources Development (048)   Pascal MT/Plus V5.5 & Programs (047/044)Pascal MT/Plus V5.5 Support Files Development (48)Pascal MT/Plus V5.5 G. Purpose Development (49)
2Wordstar/ Turbo Pascal (260:1)Wordstar/  Pulsar CP/M 2.2 128B/sec
Basic Electronics Programmes (42/39)
Turbo Pascal (054/051)
3Digital Research 16 bit tools (231)Pulsar CP/M 2.2
General Purpose Utilities Development (58/55)
Multiplan (118/101)Zork (440/318)
4 Dbase (59/56)Pulsar CP/M 2.2
PLI-80 Programs (65/62)  
SS/SD 128B
Versafloppy II
Cobol Compiler
Master Copy (223/163)
5 Supercalc (332/248)Cross Assemblers (008/007)CP/M 2.2 128B/Sec
Vedit Original Master (CP/M 2.2) (236/168)
6 MBasic Games (066/063)  MBasic & Basic Compiler (240/171)CP/MUG Vol 53 (Adventure & Mbasic Games) (088/77)
7  JRT Pascal V3.0 (261/189)     Looks like it wants to run off floppies. 
8  Diagnostics II (262/190) 
9 Fortran (57/54)  

The first number is disk id of the source image. The second number is gotek disk number of the source image.

There seem to be bugs in some commands (eg DIR) when the user number hits double figures – this seems to be just with the hard disk.

Pulsar 9000 Setup Procedure

All the referenced diak images and the TurboDOS manuals are available at the Microbee Technology Repository.

Setup SCSI2SD

Create the Single User Install Disk and Initialise Hard Disk

Write 8_287_01.hfe using Greaseweazle  
Boot using the disk  
SETTERM and select Televideo 950  
CONFIG  
 Select Modify Single User 
 Console Port Characteristics: 9600,8,1,N 
 Setup Hard Drive 
  1 Controller
  Adaptec 4000A
  1 Drive
  Vertex V100 Item 4
  Break into 4 logical drives: 4000,4000,4000, the rest
  Generate logical names: E F G H
Reboot  
HFORM  
 As above 
ERASEDIR E: (hash)  
ERASEDIR F: (hash)  
ERASEDIR G: (hash)  
ERASEDIR H: (hash)  
COPY A:*.* E:  
CHANGE A  
Insert 8_288_01.hfe (STD-6080 Distribution Disk)  
E:COPY A:*.* F:  
CHANGE A  
Insert the original disk  
E:COPY F:PROSLV8.SYS A:  

Create the MultiProcessor System

Boot with copy of disk above.  
DELETE files in area 31.  Delete 31:*.*  
CONFIG  
 G 
 N 
 0 
 A 
 186 
 Console Port Characteristics: 9600,8,1,N 
 Setup Hard Drive 
  1 Controller
  Adaptec 4000A
  1 Drive
  Vertex V100 Item 4
  Break into 4 logical drives: 4000,4000,4000, the rest
  Generate logical names: E F G H
   
Reboot  
 Set up slaves (use autoboot) 
  Slaves are 8 bit 9600,8,1,N

Pulsar 9000 A Real Hard Disk

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.

DriveLabelCapacityConfigurationSpeedStatus
Miniscribe 8425?TurboDOS 8018621MB4 Heads 615 Cylinders 17 Sectors/Track  68msBoots 7 bad sectors marked
CMS Enhancements (Kalok) KL 320 Octagon 21MB4 Heads 615 Cylinders 17 Sectors/Track  48msUntested

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.

Pulsar 9000 Chassis Build

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 601630.10.1 
10xSlave 6080206 (I’d be surprised if it’s this high.)1 
Floppy Disk Drive0.9  0.9
Hard Disk (est)11.5  
Fans  0.5 
Total257.621
Used4010105 (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).

Pulsar 9000 8″ Floppy Disk Drive

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 IdentificationDX1Device select 1 (first device select) – Drive A:
Head LoadHL2Head loads with device select
Radial Ready JumperRX1Ready Gated by Drive Select
Side Select JumperSS1Use side select signal
Write Protect JumperPR1Send write protect and enforces write protect
Door LockDL2HL.DSX + DLH   DLH= Door Lock Hold
DR2
DH2
In Use (Solder)IU2
Read DataRD1Enable read data
Busy Lamp IndicatorsBU1 
BS2Weird setup!
 T1InstalledPrevent 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:

  1. 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.
  2. 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.
  3. 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.

I’ve used the second drive in the unit.

Hewlett-Packard HP-85

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.

HP-85 Inspection and Power

The machine was plug and play – apart from the well documented issues with the tape drive. The capstan rubber turns to mush and can easily destroy a tape.

Destroying tapes was not an immediate issue for me, as i had none. It would soon become an issue, though, because tapes were the only means available to me at the time to load and save programs.

On power up, the machine displays a cursor for the basic interpreter. It is happy to immediately evaluate an expression and display the result.

The cursor can be moved around the screen to edit and reuse text. The screen rolls up and down, displaying 16 of 64 stored lines. This makes it pretty easy to use the small screen.

Basic programs are entered in the normal way. Data can be printed to the screen or to the thermal printer.

Inside, the machine is a joy to behold, with lots of ceramic packaged ICs and a neat arrangement of the CRT, thermal printer and tape drive. Outside, the case is quite yellow, but brightening cases is low on my to-do list.

HP-85 Tape Drive

Browsing the web quickly revealed that DC100 tapes were scarce and unreliable, and it was widely recommended that the tape drive be modified to accept QIC tapes, which are not as ancient and a lot easier to procure. I placed an order for tapes and set about attempting both the necessary mods and the capstan repair.

The tape drive mod is described in detail here. It requires a change in one resistor to account for the slightly different magnetic properties of the tape. This was easy.

The mod also required the wheel to grow a little to account for the slightly different dimensions of the cartridge. This was hard. The last thing i wanted to do was to put the existing capstan in the hands of a tradesman because i feared for the rotary encoder.

Instead, i crafted a piece of plastic to glue to the top of the capstan. After a few tries, i got it to bond. I use the drive sparingly (i now have better alternatives), but the extension is still there many years later.

I worked through several versions of rubber replacement and eventually i had success with 6/9mm surgical rubber tubing.

Reliability is not great but, it is good enough to demonstrate operation. QIC tapes are tight in the drive slot, which makes them a little tricky to insert. I found that if i kept the front screws of the enclosure a little loose, it was easier to insert. Not great but acceptable. The alternative is probably a file.

Of course, once you have a tape drive and some viable tapes, there is the small matter of getting software on to the tapes.

HP-85 Disk Drive

The HP-85 tape drive was never going to be a daily drive proposition and the HPDrive emulator, good as it is, is a bit unwieldy for a convincing demonstration. I really needed (wanted?) a disk drive.

I kept an eye out for a disk unit.  They are usually very expensive and i’ve only seen them listed for sale in the states, from where the cost of postage is horrendous.  I did find a cheap 3.5” unit, but the thought of paying nearly $200 for postage prompted me to scream for help on one of the facebook groups.

To my surprise a gentleman Ben G happened to have a M82901 Dual Drive uniit out in a container at his property in NSW.  He was kind enough to send some pics, explain the unit’s shortcomings, offer it at nominal cost, and arrange for its dispatch. That was a generous thing to do.

When it arrived it was clear from some dents and gouges that it had landed very heavily at some stage.  Ben said that he’d recovered it from a gold recycler. 

There were rattles in the box and once opened some damage was apparent.  Both of the drives had parts of the plastic broken.  The interface card was only secured by a couple screws used to secure the circuit card on the right drive.  Not a great effort from HP really but I guess they weren’t planning on the unit being thrown on the scrap heap.

I attempted to glue things up but it will always be fragile. I pulled it all apart, cleaned it up, checked the supplies and put it all back together.

The drives are PC style double height double sided units. The heads were not moving easily so they needed some lubrication and bit more rough treatment to get them moving again. Once they were free, i connected them to a PC for alignment using ImageDisk.

One was pretty good on the PC but the other had some issues formatting; successful but with lots of retries so I subbed in a known good spare drive.

There’s a set of dip switches that set the HP-IB address.  The drives are referenced by “:D720” where the second digit is the HP-IB address and the third is the disk drive number. 

Format with:

INITIALIZE “<label>”,”:D720”

The drive unit failed to communicate.

Fortunately, the manual was available online and the unit has built in self tests.  It took a while to work out how the tests worked and they seemed to produce very erratic results.  It seemed to consistently show that the RAM test was failing so I ordered some new RAM.  128 byte static RAMs.

I also read back the ROMS using an EPROM programmer and that suggested that one ROM didn’t seem to be working. I scrambled to see if the binaries were online.  Fortunately there were.

The natural replacement would be 2716 EPROMS but I only had 2732 EPROMs.  They have a compatible footprint but with the upper half being the active portion.  My EPROM and cheap EPROM programmer did not play nicely together but eventually i convinced myself that i had two working EPROMs.

After spending a long time searching for a problem which turned out to be incorrect configuration, i was able to get all of the tests to pass with a known good drive.  That meant the controller was good.  Even better the unit worked with the HP-85!!

Neither of the two original drives wanted to play the game. I had a good look at the writes on the first drive.  Everything looked good except the signal on the top head was different to the bottom – about half the size.  That made me have a closer look at the head which I discovered had been damaged – it looked like a piece of ferrite was missing.

The other drive’s heads seemed ok, and I’d checked the first drive’s electronics pretty thoroughly, so I thought I might get a second drive working by swapping the electronics card.  That worked.

Sure enough the HP 85 could happily operate two drives.

The other original drive now has an electronics fault as well as a drive head fault! 

I needed some disks to try it all out.  The teledisk images I had seemed to often be for 3.5” drives and wouldn’t write to 5.25” disks.  Instead i used the HPdrive emulator and copied them across:

COPY “:D700” to “:D720”

It’s not fast.

I found many of the disks would not run unless labelled correctly.  The failing line of basic revealed the required label.

VOLUME “:D720” IS “STDPAC”

I could copy from the tape drive to disk:

COPY “:D700” to “:T”