• Please review our updated Terms and Rules here

Getting a Northstar Floppy Disk Controller working in my IMSAI

smp

Veteran Member
Joined
Oct 4, 2011
Messages
1,730
Location
Bedford, NH, USA
Hello all,

<Information previously posted in the CP/M Forum>

As you have probably seen from my postings over time, I own a good working IMSAI with a Compupro CPU-Z, Compupro RAM-17, and the Serial I/O board from John Monahan and Andrew Lynch at S100Computers.com. I cobbled together my own system monitor code from an old listing of the TDL Zap Monitor, plus a routine to read in Intel hex files that I found out on the Internet. This system has been extensively exercised, and is in a known good working state.

Some months ago, I acquired a Northstar MDC-A4 floppy disk interface card. I believe this card to be in working condition. I have performed all the checks detailed in the Northstar documentation that I can find, and by jumping to the Northstar PROM start point, the controller will pull the floppy disk head back to track zero and attempt to boot from disk.

The Northstar MDC-A4 is a single density floppy disk controller. All the Northstar disks that I have been able to accumulate, including borrowing some from another VCF member (Thanks, Kipp, your disks are safe and sound.), seem to be the double density variety. I make this statement because the disks are generally marked as double sided, double density, and they are also marked by the pervious user as being associated with a Northstar Horizon or Advantage system.

I have not yet been able to acquire any KNOWN GOOD SINGLE DENSITY Northstar boot disks, so I remain dead in the water.

I noticed during my various attempts at booting from the Northstar disks I have acquired, that disks associated with Horizon or Advantage will read in a 256 byte block of garbage (bytes with many 1s in them, like ED, FF, FC, etc.), but disks that are marked as CP/M disks will read in a 256 byte block of 00s.

</Information previously posted in the CP/M Forum>

So here is what I did today:

I found a disassembly listing for Northstar DOS over on one of Herb Johnson's web pages:

http://www.retrotechnology.com/herbs_stuff/d_nstar.html

It is on the link: NSDOS.PRN, DOS version 2.? disassmbly printfile

I stripped out the machine code results of the assembly, and I put the source file through my own assembler. I loaded the hex file into my IMSAI and then put in patches for input and output through my system monitor. Voila! I now have an early version of Northstar DOS working in my system.

So, I give some commands a try, and, while the code seems to be working fine, no matter what command I try, I get a cryptic error message in return. The commands that I've tried are the IN (initialize disk), LI (list directory), DT (disk test), CR (create file), and so forth. These commands all make the drive motor spin and load the head, then a pause, and either the message: 1 000HD? or simply the ? and then back to the prompt.

My documents indicate this is a properly formed message. The 1 indicates drive 1 (the only one I have connected), the 000 indicates track zero, and the HD indicates a "hard disk" error. The ? is appended on the end for good measure, to indicate something is wrong.

Now I am worried that I may have a problem with the controller board or the disk drive. However, another question has come across my mind. All the diskettes that I have are double density, and most of them are double sided. I don't think that single sided or double sided disks are a factor here, but what about the double density? Since my controller is a single density controller, I hoped that I could just use the IN (initialize) command to re-initialize the disk to the proper format. Now I am wondering. Could it be that the double density disks themselves are confusing my controller? Is it possible that I need to have 10 sector, hard sector, single density disks in order to get this equipment to work properly?

Thanks in advance for your thoughts and advice.

smp
 
I could be wrong but I'm pretty certain that the Northstar drives -require- hard density disks... I know there are a few people who have worked out templates that can be used on a drill press to drill out the necessary holes but I've never tried.

No difference in the media--single and double-density refer to the modulation technique, not the medium.
 
No difference in the media--single and double-density refer to the modulation technique, not the medium.

Hi Chuck,

Thanks very much for your response. It sounds like I might have more hardware problems than I originally thought.

smp
 
I could be wrong but I'm pretty certain that the Northstar drives -require- hard density disks... I know there are a few people who have worked out templates that can be used on a drill press to drill out the necessary holes but I've never tried.

Not hard density, but hard sector. Soft sector disks rely on the controller recording "privileged" sequences to demarcate the start of sectors (and their address fields). Hard-sector disks rely on additional holes punched in the index area, such that a 10-sector disk has 11 holes.

From a magnetics standpoint, there's no difference in the coating. As a matter of fact, some 8" drives allow one to use hard-sector disks (by separating the index pulse from the sector pulses) as soft-sector ones.
 
Whoops, yes. I meant Hard Sectored.

My point was that without the proper indexing you will not successfully read a standard dsdd disk in that drive in my experience. :)

Not hard density, but hard sector. Soft sector disks rely on the controller recording "privileged" sequences to demarcate the start of sectors (and their address fields). Hard-sector disks rely on additional holes punched in the index area, such that a 10-sector disk has 11 holes.

From a magnetics standpoint, there's no difference in the coating. As a matter of fact, some 8" drives allow one to use hard-sector disks (by separating the index pulse from the sector pulses) as soft-sector ones.
 
<...snip...>

So, I give some commands a try, and, while the code seems to be working fine, no matter what command I try, I get a cryptic error message in return. The commands that I've tried are the IN (initialize disk), LI (list directory), DT (disk test), CR (create file), and so forth. These commands all make the drive motor spin and load the head, then a pause, and either the message: 1 000HD? or simply the ? and then back to the prompt.

<...snip...>

Now I am worried that I may have a problem with the controller board or the disk drive.

<...snip...>

Today I pulled a known good 5.25 floppy drive out of the PC that I use occasionally for using IMD to make disks for my other systems, and hitched it up to my Northstar controller in the IMSAI. I loaded my copy of NSDOS, manually made the patches and got it all going again.

The system worked exactly the same as with the original floppy disk drive I tried at first. When I try a command, the drive motor spins, the head loads and the disk activity light comes on, but then a pause and the error message, either "1 000HD?," or just "?."

Just for completeness, I checked out the power voltages on the floppy disk drive, and both +5 and +12 are both present as they should be.

I know that the IMSAI is working fine, and I rechecked the 5.25 floppy disk drive when I re-installed it back into the PC, so I know that drive is good as well.

I guess that leaves the Northstar controller board as the most probable culprit for having some problem.

Before anyone asks again: Yes, I am using 10 sector hard sector floppy disks!

Does anyone here have any expertise in troubleshooting the old Northstar single density controller? Would someone who has a good working single density Northstar system like to try my board out so I can be certain that it is faulty? If you send a PM with an address, I can mail it to you for you to try in your system.

Also, does anyone have a known good working Northstar controller board they might like to sell or trade?

Thanks!

smp
 
And you are using hard sector floppies in these drives (FD-55F and SA455-3M)?
That doesn't add up, or ?
 
UPDATE:

After gaining some assistance from another member here (Thanks A Million, Jonathan!!!) I *finally* have a Northstar disk controller working in my IMSAI system. WHEW! This has been a long, long trip.

Yesterday, I received my Northstar controller board back in the mail, after being assured that it was completely verified as a good, working board in a completely separate system by someone who knows what he's doing.

As is usual for me, I first had some problems. It turns out that the Teac FD-55F drive looks like it's not operating properly, and also I seem to have had a power supply problem. However, my trusty, known good and working, Shugart SA455-3M drive, attached to a spare tiny PC power supply boots up from both of the boot disks that were so graciously supplied to me by the fellow that helped me out.

Now, I am sitting here with a manual and documentation for Northstar DOS version 2 and I have disks that indicate Northstar DOS version 5.1S. Off I go - gotta find the proper documentation to give this a good try without blowing myself up making a mistake due to incorrect docs.

smp
 
ANOTHER UPDATE:

I seem to still be having disk drive problems. My worry is that the Shugart SA455-3M drive works fine as a 360 KB drive in my garage PC, so I am a bit perplexed about having problems with this drive attached to the Northstar controller in my IMSAI.

The situation is this at present: I can boot fine from both of the boot floppies supplied to me. I can see the directory of the boot disk by using the LI command. I can issue a GO command, like GO BASIC, and it works fine. I can issue a LF command, and load a file at an address, like LF DT 2A00, and it works fine. I can then execute the program I just loaded by using the JP command, like JP 2A00.

I can use the IN command to initialize a disk - BUT the IN command does not appear to actually initialize a disk, because if I immediately try to list the directory using the LI command, I get the error message: T2 D1 S 0
By the Northstar DOS manual I dug up on the Internet, T2 means a CRC error reading data, D1 means drive 1 (my only drive), and S 0 means sector 0. So I believe this means that the directory was not written, or what was written is not being read back.

I cannot perform a disk test with the DT command. If I try that, I get the error message: T3 D1 S 0
By the Northstar manual, T3 means Verify Compare Error - what was read back from the disk is not what was written to the disk.

I also get errors in BASIC if I try to save a program - BASIC simply says "HARD DISK ERROR."

So, I am running, but not all the way. Can it be because I am trying to use a 360 KB drive instead of an original 180 KB drive?

smp
 
So, I am running, but not all the way. Can it be because I am trying to use a 360 KB drive instead of an original 180 KB drive?

Definitely not, as that's what I use! I have a pair of full-height 360KB Tandon drives. Can you write additional files to the bootable disks? Try writing a known pattern into memory, then saving it as a disk file, and recalling it.
 
Can you write additional files to the bootable disks? Try writing a known pattern into memory, then saving it as a disk file, and recalling it.

With great trepidation, I took the write protect tab off of one of my boot disks, and I tried to create a file using CR TEST 4.

The command brought the error message: T3 D1 S 0

Now the disk is still bootable, but I cannot list the directory. The LI command gives the error message: T2 D1 S 0

SIGH!

smp
 
Back
Top