• Please review our updated Terms and Rules here

Advice on testing an 8 inch floppy drive?

smp

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

Over the past year, I acquired a good working IMSAI chassis, including a good working IMSAI front panel and MPU-A rev 4 8080 processor board. I built the S-100 SIO Board designed and offered by the good folks over at S100Computers.com. I recently acquired a CompuPro RAM-17 board on eBay, and it also is working perfectly, after being run in my system, performing a simple memory test consisting of writing "55" throughout, reading it back, then writing "AA" throughout and reading it back.

Over this time, I also have taken the source code that was originally the IMSAI Self-Contained System, and stripped out the text editor and the assembler, leaving a small system monitor that can ENTR bytes into memory, DUMP memory to the screen, and EXEC starting at a given address.

Back in the spring, I purchased a Versafloppy II floppy disk interface card from Herb Johnson. Recently, now that I believe that I have a solid reliable 8080 system running, I also scrounged up some code that can read track 0 from an 8 inch floppy into memory starting down at 0000H, and added this into my monitor program as a BOOT command. At present, I have the code load the sector into memory and then restart the monitor, rather than jump to the code it just loaded, for testing.

This weekend, I have now ventured into new territory for me. I dug out an old dual 8 inch drive box that I have had stored for the past decade or more, checked out the power supplies and attached the big old ribbon cable to the floppy interface card.

So, here is where I am now. If I try the BOOT command with the disk drive system UNpowered, the code does not complete, as expected. The code obviously ends up waiting for signals from the disk drive that are not there. As well, if I have the disk drive system powered, but no disk in the drive, the BOOT command code also does not complete, as expected. Finally, if I put an 8 inch disk into the drive, the BOOT command code does properly complete, and restarts the monitor program without an error indication. When I take a look, the first 128 bytes of memory are now filled with 00H.

I really thought that I was making good progress!

However, when I tried other code that I scrounged up, things did not go so well. This other code was advertised as being able to load an entire 60K CP/M system from a disk and execute it, but i got an error after the first sector. I am thinking that the head mechanism may not be stepping, causing the error, but I don't know for sure.

I am looking for suggestions on how to proceed with testing the 8 inch floppy drives. I have read that many folks have PC computers where they run CP/M emulators and can attach old floppy disk drives. I do not have a significant amount of computer equipment to work with. Here is what I have. My main computer is a 15" MacBook Pro. I also have a dell Mini 10 netbook that has only USB ports (this one works great for downloading code into my Apple Iic Plus via a USB-RS232 adapter!). Finally, I have a Dell Latitude D610 laptop that has the old RS232 and Parallel ports, along with a couple of USB ports, where I use Hyper-Terminal as the terminal for my S-100 system. This laptop has a CDROM drive, but no floppy disk drive.

So, I really do not have any other place to attach my 8 inch floppy drive for testing. I also do not have a complete set of command codes and status codes for the Versafloppy II, since I only have the bits of code that I scrounged up along the way. I'm thinking that I need to open up the disk drive box and send a bunch of seek commands to the drive, and see if it responds or not. Is this a good way to go? Am I wasting my time? I have never trouble-shot one of these things. Back in the day, I was only working with good brand new equipment, for the most part.

Please remember that I have a 1 MHz 8080 system, so I think I cannot graduate to 5.25 disk drives because they are too high density and the 8080 will not be able to keep up? Given my limited resources, what suggestions can you offer?

Thanks a million, in advance, for your attention, and any advice you may have to offer.

smp
 
What are you using for a boot disk? How was it created?

1MHz? Are you sure? My Altair 8800 came with a 2MHz 8080A. Let's assume that you meant 2MHz.

I'm assuming that your 8" disk is written in FM. In that case, you can certainly use a "360K" 5¼" MFM disk--the data rates are identical. You can also run the same drive in FM with plenty of capacity to spare.

What you can't do is run that 2MHz 8080A to read 8" MFM or 5¼" 1.2M (high density) MFM (although FM will work) or 3½" high-density MFM.
 
Hi Chuck,

Thanks very much for your reply and the helpful information.

Yes, that was a typo. The 8080 is operating at 2 MHz. Sorry - I try hard to make sure that I am properly explaining things, then a silly mistake gets others confused. Sigh.

Well, one of the things that I have not gone into yet is that I do not have a real boot disk. I am only attempting to read sectors from the disk first, then, once I am confident that I can successfully read in either a boot program or the entire disk and then jump to execute it, I will go on my quest to get some sort of plain vanilla CP/M disk and use that to bring up my system from absolute scratch. You wouldn't happen to have a pristine original DRI 8 inch CP/M disk lying around that you might like to sell or trade? ;-)

Thank you very much for the info that I can actually use a 5.25 inch 360 K disk. That is greatly appreciated. Perhaps I can also try that and see if I can get something going that way.

smp
 
The "standard" CP/M-80 OEM floppy was configured for an Intel MDS-800 with single-sided, single-density floppy drives. I don't think that's what you have. And here we get into the minutiae of CP/M configurations...

A boot disk for CP/M includes the following:
  • A copy of the CP/M resident and CCP that is configured for the amount of memory that you have available on your PC.
  • A BIOS for your system configuration (at least console I/O and floppy I/O routines) that's been combined with the CP/M system.
  • A disk of the appropriate format that is used to hold the first two items, above.

Seems trivial, but there are probably well over a thousand permutations of the three above in existence. This is not like a PC--the CP/M boot is very specific to the cards you have. Gaby over at http://z80.de/cpm.htm has tons of information and software, including the original DRI manuals.

In other words, just having s CP/M floppy isn't sufficient.
 
Hi again,

Yes, I read you loud and clear.

I do not have any sort of CP/M disk at all. I only have some 8 inch diskettes that I am trying to read sectors from, at present.

I fully realize that I will need to acquire some sort of CP/M disk to start with. I am hoping that, once I get a CP/M disk, if I can read in CP/M from the disk, and create the appropriate BIOS for my hardware, then I can follow the directions in the DRI CP/M Alteration Guide to go through all the steps to create a CP/M boot disk for my system.

That is the plan, anyway.

Thanks again for your attention and assistance.

smp
 
From my experience I'd really recommend that you get hold of a rudimentary old PC, preferably tower style but desktop if necessary, to use as the test-bench for your drives. They can often be found free at salvage or nominal cost - though you will need a VGA monitor of some sort. If there's no room in the house, they can live in a shed! The older the better, because some PCs later than Pentium 3 don't allow setting the BIOS to recognise anything older than 3.5" floppies.

Laptops are not much use for motherboard-plugged hardware testing. An old PC with DOS will allow you to use the software like DiskEdit, TestDisk, Dave Dunfield's ImageDisk and the popular 22Disk for testing drives and building disk images with access to the wealth of legacy software in archives like the Walnut Creek collection.

That's how I was able to resurrect floppy drives and recreate boot EPROM to read system from 360k floppies.

You didn't mention whether any of your 8" disks contain system tracks already. If so, and you can read those raw tracks up into a DOS environment, you should be able to identify the track, sector and skew parameters your monitor and BIOS will need to read that system into memory and boot it. There are PC utilities that can help with disk structure analysis as well, but it will often take a lot of trial and error unless you can identify the system and find documentation.

Rick
 
Another tip--if you have access to any "new old" disks that say they're preformatted in IBM 3740 format (fairly common back then, as many systems did not format blank floppies), you can check your reading--the first track is usually written as an EBCIDIC volume header, so at least it's not zeroes.
 
I am doing similar stuff with my s-100 systems. The first thing you need to match is the I/O routine of the bootloader wth the monitor serial I/O ports.
 
Back
Top