Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

help with floppy controller

450 views
Skip to first unread message

Stéphane Pitteloud

unread,
Aug 23, 2024, 5:18:34 PM8/23/24
to Altair-Duino
Hello, I need a little help to get floppy images or real floppies to work with the floppy controller. No matter what I do, I only get O's on the screen when the boot starts. I think this means that the Altair simulator doesn't recognize the floppy disk format.

There's an exception which allows me to boot the (boot)dos.dsk file found on deramp.com in minidisk format. This is the one and only floppy disk I can boot.
I tried with a real 5 1/4“ floppy drive and with a gotek, in minidisk mode and in 8” mode.


to sum up :
what works :
controller with ROM MITS configured with only jumper 3 up, dip switch 1 and two up (to simulate a minidisk and use the floppy in drive 1, as I have a straight cable), I can pass the (boot)dos.dsk image onto a floppy and boot it.

What doesn't work: all other floppy images, put an image from deramp.com or directly from the SD card on the gotek (dip switch 1 on low to simulate an 8” drive). The gotek displays an error 37. I tried to create an HFE using the HxC software from the DISK01.dsk image on the SD card, without success.

The only thing I haven't tried yet is to use a high-density floppy disk for the 8-inch mode, as I don't have one to hand. My 5 1/4” floppy drive is a high-density one.
In short, I've exhausted my knowledge and I'm a bit lost.

da...@hansels.net

unread,
Aug 23, 2024, 9:57:24 PM8/23/24
to Altair-Duino
I don't know much about the Gotek but the MITS disk format is a very unique format not used anywhere else
and very different from all the other more well-known disk formats.
The *.dsk files do not contain low-level (flux-transition) information, just the high-level data bytes stored in
each sector. So unless the Gotek itself knows how to emulate the very unusual MITS disk format I don't
think you'll have much luck with that.

Regarding the real disks: how are you transferring the .dsk images onto the disks? Are you using the monitor built
into the disk controller? Or Mike's PC2FLOP tool? Some other way? You say you are using an HD  5.25" floppy
drive (which is good) but are you also using HD floppy disks?

David

Stéphane Pitteloud

unread,
Aug 24, 2024, 4:39:04 AM8/24/24
to Altair-Duino
Ha, didn't know that the MITS format was special! then it explain why the Gotek can't cope with it. As I could do it without flaw with my SOL-20, I assumed that it would be similar. Thanks for the info. I don't absolutely want to use the Gotek, it was more a way to test further, as I couldn't boot the real disk.

I'm using the built in monitor of the controller, yes. The transfert work well, I got the "success" message at the end. With this method, if the controller is emulating the Minidisc, I can boot the (boot)dos.disk, but all other disk in the same drawer on derma.com fail. Now I found a .pdf in there that state that only some floppy are bootable on the minidisk, maybe it's normal. I don't know.

When I with the controller to the 8" drive emulation (dip switch No1 down) ,then the transfert still go well, but nothing at all boot, I only have a pattern of "O" displaying on the terminal.

I'm using a chinon FZ-506 (it's a HD model), but as I don't have HD floppy on hand, I used regular DD floppy. Do you think that it can be the problem? Can it be that in minidisk emulation the controller write in DD mode and that in 8" emulation it write in HD mode? But why? A 8" floppy is only 338k, it doesn't need 1. MB capacity. 

Message has been deleted

Stéphane Pitteloud

unread,
Aug 24, 2024, 5:10:32 AM8/24/24
to Altair-Duino
I will try to get some HD floppy today (a friend of mine have some). I have to elaborate a little more on my explanation:

I have a second floppy drive, a TEAC FB-504, it's not a HD drive. When I try to write the Minidisc 75k (boot)dos.dsk image on it with a low density floppy, this floppy can boot and the "V" command for verification report a success. When I do the exact same with the FZ-506 chinon, that is a HD drive, but still with a low density floppy, it fail to boot and the verification report an error. So, I begin slowly to think that we have to use HD floppy disk only on the HD floppy drive, even when writing a 75k image. is this the case? I will report when I get the HD floppy later today.

Thanks :-)

da...@hansels.net

unread,
Aug 24, 2024, 8:35:22 AM8/24/24
to Altair-Duino
The MITS 8" disk format was used on double-density 8" floppy disks which have the same storage capacity
as 5.25" high-density disks, so yes, for the 8" emulation you need HD 5.25" disks. The two main reasons that
this format only stores 338k on a disk and not 1.2MB are
(a) the MITS format is single-sided (only uses one side of the disk) and
(b) it uses FM encoding as opposed to the more efficient and newer MFM encoding

As for the Minidisk format, that should work fine with DD floppies. I have used DD floppies here and of course
the original Minidisk drives used DD floppies as well. This may be a problem with the way your chinon HD drive
is configured. The disk controller pulls pin 2 on the disk connector (DENSITY SELECT) low when it wants to
work with a DD disk. The drive then should switch its motor to spin the disk at 300RPM as opposed to the
360RPM used for HD disks. You can verify that in the monitor with the 'M' command. Some HD drives can be
configured via jumpers for different configurations (e.g. ignoring the DENSITY SELECT signal or using
opposite polarity). You may be able to find a service manual for your drive online to figure that out.
Using DD disks for minidisk mode and HD disks for 8" disk mode works fine with my TEAC FD-55GFR here.

David

da...@hansels.net

unread,
Aug 24, 2024, 9:43:28 AM8/24/24
to Altair-Duino
Just realized that the monitor gives rotation speed in ms/rotation, not RPM. So to clarify:
DD format: 300 RPM (rotations/minute) = 200 milliseconds/rotation
HD format: 360 RPM (rotations/minute) = 166 milliseconds/rotation

David

John Galt

unread,
Aug 24, 2024, 10:16:51 AM8/24/24
to Altair-Duino

David is it possible to add the ability in the monitor to read a disk and send it Xmodem to a file. So you can archive disks as well?

da...@hansels.net

unread,
Aug 24, 2024, 10:21:17 AM8/24/24
to Altair-Duino
That should be possible but you can already do this using Mike's FLOP2PC utility:

David

John Galt

unread,
Aug 24, 2024, 11:28:26 AM8/24/24
to Altair-Duino
if i try to run flop2pc on my machine. it gives me the prompt for the disk, i have the disk inserted, i press the drive letter and it just hangs.
does nothing else, needs a warm boot. it never gets to the prompt asking which port to use.

drive works fine i can list and run contents off it.

John Galt

unread,
Aug 24, 2024, 11:35:24 AM8/24/24
to Altair-Duino
tried recompiling from source, no errors, same results. what would i need to change in the source to make it work with the I/O bus drive controller?

Stéphane Pitteloud

unread,
Aug 24, 2024, 2:54:17 PM8/24/24
to Altair-Duino

Thank you for your reply.

 I've collected HD diskettes, and that doesn't change anything. There are always 0's at boot and the comparison with the V function returns an error. Well.....

I then tried connecting a 3.5“ floppy, and nothing works either, in either mode (8” or 5.25"). In fact, the only time anything worked was with a 5.25 DD floppy drive in Minidisc mode.

I re-writted the files on the sd card from scratch, reseted the configuration of the Altair to 0,  still the same thing.

In my opinion, as the verification doesn't work, and because this happens while we're still only interacting with the controller and not with the Altair, I have the feeling that the problem comes from the controller card, the wiring or the floppy, not the Altair itself.

I'd like to have confirmation that I'm doing things correctly. Here's the exact procedure I'm following:

configuration of jumpers on controller board: all jumpers down except J3. MITS Firmware inserted. dip switch down except 2 (to switch to floppy 1). 

Straight cable connected to a working 3” floppy drive and half a standard PC (tested on a PC). 

Serial to USB dongle  connected to the serial port on the controller board. usb cable between the serial adapter and a pc running windows 10.

Then, I switch on the Altair to power up the bus. 

I aunch putty, set serial port to 115200 baud. 

I press monitor + reset on the floppy controller board, get the menu by typing H. 

I write  "D 1" to set the drive to 1 (as I have a straight cable). 

I write "W". The speed test begins, and the controller card asks me to send the file via xmodem. Using the xmodem menu, 

I send the file DISK01.dsk from the Altair's SD card. The transfer is successful, and the message “success” appears. 

I press "V" to start verification. I send the same DISK01.dsk file. The check stop at 0.3%. The comparison is displayed in the buffer, and we see that it's different. 

What else can I do? I'm totally lost and have no other idea.

John Galt

unread,
Aug 24, 2024, 4:25:49 PM8/24/24
to Altair-Duino
in the configuration menu do you have both floppy drive mappings turned off? make sure nothing is mapped to the floppies

Stéphane Pitteloud

unread,
Aug 24, 2024, 7:17:44 PM8/24/24
to Altair-Duino
yes, all virtual floppy are empty. Now I found a way to make the 3.5 inch floppy drive work!  I did a mistake: the floppy was write protected. But the controller don't care, he still act like everything is fine and do the copy job. But nothing is effective written. So, having a working 3.5 floppy drive confirm that the controller is good. But I still fail to do something with a 5.25 floppy, no idea why...

John Galt

unread,
Aug 24, 2024, 7:27:13 PM8/24/24
to Altair-Duino
for the 5.25" you must use the floppy cable with the twist in it for the first drive.
you cannot use the jumper settings the twist is important.
the 3.5" drives do not care about the twist but the 5.25" drives do.

John Galt

unread,
Aug 24, 2024, 7:28:23 PM8/24/24
to Altair-Duino
this cable super important when using 5.25" drives

da...@hansels.net

unread,
Aug 24, 2024, 8:25:10 PM8/24/24
to Altair-Duino
John, regarding the FLOP2PC, I just tested that here and it works fine on my setup.
No changes required to make it work with the disk controller.

One possible issue I can see is if you are running FLOP2PC from within the hard
disk CP/M on which the floppy drives are mapped to C and D. PC2FLOP still refers
to the drives as A and B. If you use C or D then it will hang like you describe.

David

da...@hansels.net

unread,
Aug 24, 2024, 8:36:58 PM8/24/24
to Altair-Duino
Stephane, regarding writing the HD floppy disks the steps you describe look fine to me.

You are correct, the "W" command on the monitor does not check the write protect status
of the disk. It will happily go through the motions of writing to the disk and say everything
is ok even if the disk is write protected and the drive didn't actually write anything. The way
to check whether a write was successful is via the "V" command.

Not sure why your 5.25" HD disks don't work. Can you post the output of the "I" command?
Obviously make sure the disks aren't write protected. The rotation speed reported by
the "I" command should be 360 RPM. Otherwise, for whatever reason, your drive is using DD mode.

David

John Galt

unread,
Aug 24, 2024, 9:18:50 PM8/24/24
to Altair-Duino
ah very interesting thank you.

On Saturday, August 24, 2024 at 8:25:10 PM UTC-4 da...@hansels.net wrote:

John Galt

unread,
Aug 24, 2024, 9:20:19 PM8/24/24
to Altair-Duino
something that may or may not help here.

I had issues with some HD 1.2mb disks, i had to put them into my old PC then i formatted them normally, then when i put them into the Altair drives they worked correctly in the monitor.

Stéphane Pitteloud

unread,
Aug 25, 2024, 5:35:30 AM8/25/24
to Altair-Duino
Thanks for all you tips.
@ John Galt:
I tried with a twisted cable, appart the fact that I don't need to put the dip with No 2 up and don't have to type "d 1" before the "W" command, it doesn't change anything. I don't have any pc that is capable of formatting the disk unfortunately.

@ David
here is the output of the "I" commande


the speed is 360 RPM. I played a bit with the jumpers as I could find the explanation of them on the web:


I used the second line (IBM PC compatible)

Wit this configuration, I can write images, and the comparaison with "V" gave me at the first try a success! At this point, I was happy and confident that I solved the problem. But it's not the case. I wrote the image1 issued from the SD card. The exact one that I could write back with success and boot on the 3.5 floppy drive. 
When I boot it, the Altair give a Bdos error


I tried others disk from the SD card (disk5, disk6...), same résultat. Bdos error.

Then I tried the CPM22b56k disk image from deram.com, and this particular one is working, I can load it and launch ladder.


I tried it 10 times, to be sure that is it not simply bad luck with a random read error, but no, this image load every time.

At this point, I'm pretty lost, I don't know why the images that are on the SD don't work but the images from deram does... Bad drive ? Bad controller ? Bad luck? is this anyhow expected that the images on the SD don't work on 5.25 HD floppy?
Thanks all for your help :-)

Stéphane Pitteloud

unread,
Aug 25, 2024, 5:52:13 AM8/25/24
to Altair-Duino
well, I tried another files from deramp.com (Zork), and it gave a bdos error too. Maybe my drive is defective. is there any settings on the drive that could explain that the images are written but give a bdos error when booting?

da...@hansels.net

unread,
Aug 25, 2024, 8:33:49 AM8/25/24
to Altair-Duino
Here's some more background information that may (or may not) explain the
problems you are experiencing: The MITS disk format is a format for hard-sectored
disks, i.e. disks that have not just one index hole for the start of the track
but an index hole for every sector (plus an extra one for the start of the track).
So an 8" disk had 33 index holes. When looking for a specific sector, the MITS
controller counts the index holes from the start-of-track until it gets there.

Most more recent disk drives use soft-sectored formats, i.e. they only have one
index hole for the start-of-track and (during format) write patterns on the disk
that signify where each sector starts.

Since it is pretty hard to get your hand on 8" hard-sectored disks (and as far as
I know 5.25" hard-sectored disks with 32 sectors don't exist), the AD disk controller
emulates the hard sectors with timers. After measuring the disk rotation time it is
easy to know whether this is a hard-sectored or soft-sectored disk. If it is
hard-sectored then the controller just counts the sector holes. If it is soft-sectored
then the controller divides a track into sectors just by waiting 1/32 of the full rotation
time for each sector. Of course this requires the disk drive to spin at a very regular
rate. If the disk drive itself varies its speed too much between rotations then the
start of the sectors will be off.

Note that such drives would still work fine with soft-sectored formats since those
formats were specifically designed to be more tolerant of drive variations.
And the MITS format can deal with drive variations just fine as long as you use
hard-sectored 8" disks. The issue is that using soft-sectored disks with a format
that requires precise timing also requires a precise disk drive.

Now the TEAC drive I am using is a direct-drive system where the motor is directly
attached to the axle that spins the disk. If your drive uses a belt then belt slippage
may introduce variations in speed that are larger than the controller can tolerate.
The same can happen if the drive mechanics are "sticky".

So it could be an issue with your drive.

I have attempted to work around these problems in software with some experimental
code that is included in the controller. This is controlled by two flags, both
of which are disabled by default:
1) Sync after step. I have seen some drives that slow down their rotation slightly
   when stepping the head to a different track. If this flag is enabled then the
   controller waits for the "track start" hole to re-sync the sector timer after
   stepping the head.
2) "Relative" sector timing. If enabled then instead of just using a timer to find
   the start of a sector the controller will actually READ the previous sectors from
   the start of the track and do its timing based on where the previous sector
   actually ended. This works fairly well but only on disks that have already been
   written to (so there actually are sectors that can be read).

You could try experimenting with those flags for your drive and see if that helps.
To set the flags, use the "F [d] [f]" command in the controller where [d] is the
drive number and [f] is the flag setting:
0: both flags disabled
1: Sync after step enabled,  relative timing disabled
2: Sync after step disabled, relative timing enabled
3: Sync after step enabled,  relative timing enabled

I hope that helps!

John Galt

unread,
Aug 25, 2024, 12:40:32 PM8/25/24
to Altair-Duino
Try using the disk images from:

https://adwaterandstir.com/wp-content/uploads/2017/05/disks.zip
these are 330kb.

DISK01.DSK: CP/M (63k)  is bootable

Try putting that on a disk and see if it boots.

i messed with the Sync after step on my controller. i think i left it enabled for both my drives.
i had issues with getting 2 drives to sync together so they could read disks between each one.



Stéphane Pitteloud

unread,
Aug 25, 2024, 3:48:44 PM8/25/24
to Altair-Duino
@David
Thanks for all the precision!

I tried with the commands
"F 1 1", then F 1 2" and finally F 1 3", but nothing changed. I'm not sure that the syntax is correct, because when I do a "F", I got a summary that tell that the controller flag is always 1

I found a FD55GFR that was in an Amiga external drive case so the jumping was certainly messed. I can write an image to the disc with the monitor, but when I try to boot on it the head go to the center and make a continued clicking noise. 

As you have the same drive, maybe you can make a pic of pcb if it's possible without messing everything?
This is my PCB:


@ John Galt
thanks for the link. Unfortunately, same behaviour with those images. Was worth to try.

Thanks

John Galt

unread,
Aug 25, 2024, 4:01:51 PM8/25/24
to Altair-Duino
I took a picture of mine look in the backplane thread. It’s a few posts down from the top

John Galt

unread,
Aug 25, 2024, 4:02:48 PM8/25/24
to Altair-Duino

Stéphane Pitteloud

unread,
Aug 25, 2024, 4:18:31 PM8/25/24
to Altair-Duino
Thanks!
Looks like I have the same jumper setup. That's weird. This is what happens when I try to boot the Altair with this floppy connected:

(click the loudspeaker icon on the video to ear the sound)

Looks like the Altair don't want to be nice with me :-)

Stéphane Pitteloud

unread,
Aug 25, 2024, 4:37:15 PM8/25/24
to Altair-Duino
and now, in the monitor, the drive say "No track 0 signal. detected".

John Galt

unread,
Aug 25, 2024, 6:55:27 PM8/25/24
to Altair-Duino

How sticky is the drive mechanicals. Does the head move smoothly by hand all the way back and forth with power unplugged.
spray compressed air in the sensor on that bottom pcb you can see a little plastic piece that moves with the head into the track position sensor make sure it’s clean. No dust bunnies.

I have a drive acted similar and it needed to be cleaned and lubed.

Additionally some drives need the pcb adjusted fore or aft to get the sensor in the right spot.
These drive are old and have been banged around and have been sitting over 30 years in some cases.

Stéphane Pitteloud

unread,
Aug 26, 2024, 9:59:35 AM8/26/24
to Altair-Duino
It’s not sticky. But I’m pretty sure that the drive is defective.
Now a stupid question: I have the opportunity to get a very cheap YE DATA 174 8 inch floppy drive, double side double density. Do you think that this drive can work with the floppy controller?

Thanks



Stéphane Pitteloud

unread,
Aug 26, 2024, 2:20:48 PM8/26/24
to Altair-Duino
@ David: Small question: can a soft sectored 8" floppy drive like the YE-DATA 174 (double side double density) in theory work with your controller card? Can the controller do the hard sectoring emulation with the 8" drive like it does with the 5.25" drive? Thanks 

da...@hansels.net

unread,
Aug 26, 2024, 2:31:51 PM8/26/24
to Altair-Duino
It's not the drive that's hard/soft-sectored, it's the disks themselves. If you use an 8" soft-sectored disk
then the controller will automatically do the hard sector emulation. But you have the same constraint
as with 5.25" drives: the drive rotation speed must be very stable, otherwise the hard sector emulation
does not work reliably.

Note that the only 8" drive I have tested with the controller is a Shugart SA800. I think most drives
are compatible with that so they should work but I can't make any guarantees. You should take a closer
look at the drive connector and compare the signals it carries to the SA800.

David

Stéphane Pitteloud

unread,
Aug 26, 2024, 3:12:12 PM8/26/24
to Altair-Duino
@ David:
ok, I didn’t know that. I tought that the floppy drive has to be hard sectored compatible. Good to know. I looked at both schematic (SA 800 and YE-data 174), it’s look almost the same pinout except those 3 signals mentioned on the SA800 and that don^t exist on the YE-data 174:

- PIN 24 Sector
- PIN 48 SEP DATA
- PIN 50 SEP clock.

Is this a problem?

da...@hansels.net

unread,
Aug 26, 2024, 3:56:51 PM8/26/24
to Altair-Duino
None of these signals are used by the controller so that should not be a problem.

David

Stéphane Pitteloud

unread,
Aug 26, 2024, 4:17:52 PM8/26/24
to Altair-Duino
ok, thanks! I will get this drive (someone is selling it in my area, this is why I asked) and will report. It's not expensive and it comme with about 30 empty disk, worth to try :-)

John Galt

unread,
Aug 26, 2024, 8:11:13 PM8/26/24
to Altair-Duino
what an amazing little disk controller :D

Tom Lake

unread,
Aug 31, 2024, 1:12:37 PM8/31/24
to Altair-Duino
I use 5.25" drives with no twist in the cable and use the drive select jumpers to determine which drive is 0 and which is 1. It works fine.

On Saturday, August 24, 2024 at 7:27:13 PM UTC-4 John Galt wrote:

Stéphane Pitteloud

unread,
Sep 10, 2024, 7:01:57 AM9/10/24
to Altair-Duino
so, I have some news. I could get my hands on 3 YE DATA 174 8" floppy drives. 

IMG_4130.jpeg
I ordered a Texelec 50 pin to 34 pin adapter
8-Inch-Floppy-Adapter-1.jpg
after some configuration on the floppy drive itself. and after understanding that the write protect label on the 8" floppy work the other way around than with a 5 1/4 floppy (write label applied =you can write), I could write an image directly from the controller on a real 8" floppy. The verification went well, and I could boot!
Watch it in action here:

So, I can confirm that the YE DATA 174 work with the controller too.
I still have to play with the "F" parameter, as I had some read errors that disappeared after a second try, I assume that the belt driven system here is the culprit, as pointed.

I still have a small thing that I don't understand: 
the 8” drive has a mechanism that locks the door as soon as the read head is lowered onto the disc, to avoid damaging the floppy disk. This is because the motor is rotating all the time, unlike a 5 1/4” drive, where the motor is only activated when the controller requests access to the diskette. 

On my setup, locking the door works well, but I haven't figured out how to tell the drive to unlock it. I have to do a reset to be able to change the floppy disk. With a reset, the door is unlocked. Is there a particular CP/M command to enter, or is it a question of configuration with the jumpers?

da...@hansels.net

unread,
Sep 10, 2024, 8:01:35 AM9/10/24
to Altair-Duino

On Tuesday, September 10, 2024 at 7:01:57 AM UTC-4 guibrush...@gmail.com wrote:
so, I have some news. I could get my hands on 3 YE DATA 174 8" floppy drives. n adapter
 the write protect label on the 8" floppy work the other way around than with a 5 1/4 floppy (write label applied =you can write), I could write an image directly from the controller on a real 8" floppy. The verification went well, and I could boot!
Watch it in action here:

So, I can confirm that the YE DATA 174 work with the controller too.
I still have to play with the "F" parameter, as I had some read errors that disappeared after a second try, I assume that the belt driven system here is the culprit, as pointed.

Thanks for reporting that, it may be helpful for others trying to get hold of an 8" drive.

Regarding the read errors, yes that is likely due to the belt driven system which as far as I know is common to most (all?) 8" drives.
The controller does its best to compensate but it'll likely never work 100% reliably.

The solution is to get your hands on hard-sectored 8" disks which were required for the original MITS controller.
With hard-sectored disks you should have no timing problems since each sector is defined by an index hole.

Unfortunately I don't have a good source for such disks, I got lucky and found some on ebay at some point.
Maybe others have suggestions for sourcing them.
 
I still have a small thing that I don't understand: 
the 8” drive has a mechanism that locks the door as soon as the read head is lowered onto the disc, to avoid damaging the floppy disk. This is because the motor is rotating all the time, unlike a 5 1/4” drive, where the motor is only activated when the controller requests access to the diskette. 

On my setup, locking the door works well, but I haven't figured out how to tell the drive to unlock it. I have to do a reset to be able to change the floppy disk. With a reset, the door is unlocked. Is there a particular CP/M command to enter, or is it a question of configuration with the jumpers?

The SA-800 drive I use doesn't have a door lock mechanism so I don't know much about it.
But according to the technical manual for the YE 174 here:
there are some relevant jumpers (options) on the drive. Take a look at section 4.6 (pages 24-25), specifically 4.6.2 (door latch).
It sounds to me like you configuring the D/DL option may help. You want it to be tied to the IN USE option which in itself
then should be tied to HEAD LOAD (section 4.6.1). This is just a guess but I think playing around with those two options
should find you a solution.

David

Stéphane Pitteloud

unread,
Sep 16, 2024, 4:46:22 AM9/16/24
to Altair-Duino
thanks for the hints. I played today more than an hour with all jumper possibilities, I only managed to have the led off when no drive access and to have the latch always on from power up. It doesn't matter what I try, the head go down on the floppy as soon I boot the Altair (expected) and stay on the floppy until I hard reset the machine. I think that the question is: how to tell the drive to take the head up when no reading or writing is done, but I don't see anything corresponding in the manual. I looked at some video on YouTube where people hook 8 inches floppy drives on a PC and they don't seem to have this particular problem. Can it be that is something specific to your controller?

da...@hansels.net

unread,
Sep 16, 2024, 7:45:20 AM9/16/24
to Altair-Duino
The 34-pin Shugart interface used by the controller (and all "modern" disk drives) does not carry a
"Head Load" signal as expected by the 50-pin connector on old 8" drives. However, the 34-pin cable
does have a "Motor On" signal (pin 10 for drive 0 and pin 16 for drive 1) which should go LOW whenever
reading/writing the drive. I assume that works with the controller since the controller works with
your other drives.  You might want to double-check with an oscilloscope or multimeter that the
"Motor On" signal indeed goes low as expected.

Note that "Motor On" is not needed for 8" drives since the motor is always on.
You need to configure your drive (and 50-to-34-pin adapter) such that the drive's "Head Load"
signal is controlled by the "Motor On" signal coming from the controller. 

Stéphane Pitteloud

unread,
Sep 16, 2024, 11:21:19 AM9/16/24
to Altair-Duino
ok, this make sense. The jumper on the adapter is on "head load -> motor on" position, and I don't see anything in the manual that would let tell to the drive to react to this signal, but it's certainly because I have no idea what signal should be used....

Stéphane Pitteloud

unread,
Sep 16, 2024, 11:22:44 AM9/16/24
to Altair-Duino
I found that reseting the disk controller do the trick, even if the Altair is still running. I can basically press reset on the controller, the head go up, change the disk, and type dir in CP/M, it work. Not very elegant, but it work.

da...@hansels.net

unread,
Sep 16, 2024, 10:18:19 PM9/16/24
to Altair-Duino
I don't quite understand how resetting the controller causes the head to be released. It almost sounds
like on your controller the "Motor On" line gets stuck on low (0V) until you reset the controller. Did you
notice with your 5.25" drive that the motor kept spinning until you reset the controller? The motor is
supposed to automatically turn off after a few seconds. Can you verify with a multimeter that the
"Motor On" signal goes back high (5V) after a few seconds of disk inactivity?

Stéphane Pitteloud

unread,
Sep 18, 2024, 1:35:28 PM9/18/24
to Altair-Duino
I will try to measure that and will report. 

Stéphane Pitteloud

unread,
Dec 24, 2024, 3:57:12 AM12/24/24
to Altair-Duino
Hi, so after all this time I'm back on the controller (pretty impatient to receive the full version of the altair duino). I tried to measure the 5V, but I'm actually not sure where I have to do it. But actually, I have another problem that puzzle me :

I could buy 20 totally new 8 inches floppy disk hard sectored with 32 sectors. I'm pretty sure that those are the needed disks, or I'm wrong?

the problem is that if I follow the exact same procedure as I do with a soft sectored disk (choose "W" and send the files with teratem using modem, and of course covering the hole for write protection), the created disk on the hard sectored floppy don't boot. 


the exact same procedure let me create a bootable disk with a soft sectored floppy, I just tried one more time to be sure that I didn't forgot something.


And if I do a comparaison, the comparaison fail at 0.3%, exactly as if the floppy wasn't written. 
My question is: what do I have to do to be able to use the hard sectored floppy? I checked the controller parameters, they are all set to 0.

Thanks!

Stéphane Pitteloud

unread,
Dec 26, 2024, 4:40:19 AM12/26/24
to Altair-Duino
I just got today another 10 pack of hard sectored floppy disk, another brand, still 32 sectors, and the result is the same. The information command of the controller confirm me that the floppy disk is seen as a hard sectored one, the speed calibration after the W command tell too that this is a hard sectored floppy. I don't see another option in the menu. Is this supposed to work directly?

da...@hansels.net

unread,
Dec 26, 2024, 9:12:49 AM12/26/24
to Altair-Duino
This has me stumped, not sure what to tell you. I haven't looked at that code in a while but as I remember
there are no parameters to set, it should just work. Just to be clear: the same disk drive works fine with
soft-sectored disks? Or are you using a different drive?

da...@hansels.net

unread,
Dec 26, 2024, 9:54:34 AM12/26/24
to Altair-Duino
Actually, can you post the output of the "I" command here? It may provide some info about what is happening.

Stéphane Pitteloud

unread,
Dec 26, 2024, 1:23:44 PM12/26/24
to Altair-Duino
yes, it's with the same drive. Exact same steps, I juste replace a soft sectored dual side floppy with a single side hard sectored floppy. Here are the results of the I command for the soft sectored floppy:

And for the hard sectored floppy:

Stéphane Pitteloud

unread,
Dec 26, 2024, 1:34:03 PM12/26/24
to Altair-Duino
I just found a soft sectored floppy (so the hole is at the same position as the hard sectored floppy disk), and I did write the image with the same procedure, and it works. I can boot CP/M. So the LED sensor isn't the problem, the drive seems to work correctly. 

Patrick Linstruth

unread,
Dec 26, 2024, 3:38:55 PM12/26/24
to Altair-Duino
I wonder if Mike’s the AFEXER program will run on the Arduino? It will let you read/write sectors and do other diagnostics.

Altair Floppy Drive Exerciser, Ver 2.2

Using 8" or 5.25" drives (8 or 5)? 8

CMD>

Valid commands are:
  D [x]    Select drive x
  Z        Restore to track zero
  C        Compare the track number read from disk with
              the expected track number
  M        Measure spindle rev time
  S x [y]  Step to track x
  H L|U    Head load or unload
  G        Read status register
  P        Read sector position register
  R x      Read sector x from current track
  W hh [1|2]  Write hex data to current track
              1=every sector, 2=every other (def)
  X        Exit to CP/M

Immediate commands:
  T        Toggle head load state
  O        Step out one track
  I        Step in one track

CMD>R 2
C7 02 00 00 F1 00 00 6E 6F 74 20 62 65 20 72 65 
61 64 00 0D 0A 45 78 70 65 63 74 65 64 20 74 72 
61 63 6B 3A 20 00 0D 0A 20 20 2A 2A 20 43 75 72 
72 65 6E 74 20 74 72 61 63 6B 20 73 65 74 20 74 
6F 20 00 43 6F 6E 74 72 6F 6C 6C 65 72 20 53 74 
61 74 75 73 20 52 65 67 69 73 74 65 72 3A 20 00 
53 65 63 74 6F 72 20 50 6F 73 69 74 69 6F 6E 20 
52 65 67 69 73 74 65 72 3A 20 00 53 65 6C 65 63 
74 65 64 20 64 72 69 FF 00 

AFEXER.ASM
AFEXER.HEX

Stéphane Pitteloud

unread,
Dec 26, 2024, 3:48:15 PM12/26/24
to Altair-Duino
I'm afraid I have absolutely no idea how I could use this...

Patrick Linstruth

unread,
Dec 26, 2024, 4:50:56 PM12/26/24
to Altair-Duino
It's an Altair Disk diagnostic tool.

If you hex load at 0100H, it should let you step the drives, write tracks with a known value and read the sectors back. It will verify that the track ID on the disk matches the track you stepped to. You can also read the boot sectors and verify that what is being read from the disk is what should be there.

A lot has to be right before CP/M will boot. It lets you verify the ingredients before making the cake.
> --
> You received this message because you are subscribed to the Google Groups "Altair-Duino" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to altair-duino...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/altair-duino/da9de839-35cc-464d-929b-45ea7ecac847n%40googlegroups.com.

Message has been deleted

Stéphane Pitteloud

unread,
Dec 26, 2024, 6:34:33 PM12/26/24
to Altair-Duino
ok. so, it's on the Altair replica itself. But as the drive controller don't manage to write correctly the image on a hard sectored floppy, where it succeed to write it on a soft sectored floppy, the floppy will be empty, or full of garbage, as the V command already show that the image isn't written correctly. I'm asking me if it's not better to try to send the image directly via the terminal with pcget, but I'm not sure how to manage this. Anyway, it's to my a big mystery why the controller work well with a soft sectored floppy and won't accept a hard sectored.

Stéphane Pitteloud

unread,
Dec 26, 2024, 6:54:43 PM12/26/24
to Altair-Duino
ok, actually, I managed one time, only one to have a bootable floppy with a hard sectored floppy. I couldn't reproduce it. I didn't changed anything, it's only that with one try, it worked. And with another try, I had something very special: it begin to boot, but it boot in loop:

Again, I didn't changed anything.  This thing drive me crazy, I really don't understand what's going on.

da...@hansels.net

unread,
Dec 26, 2024, 7:43:56 PM12/26/24
to Altair-Duino
I get the same timings for the "I" command on my SA-800 drive and it works without problems
every time. Really don't know what the difference could be. But then I only have the SA-800 here
and have no experience with any other 8" drives.

If you can post the 8" drive model you are using then maybe someone else with more experience
with different 8" drives could point out relevant differences between the SA-800 and your drive.

Looking through the disk controller code, the one thing I found is line 464 which introduces a
short delay of the sector start for the SA-800 to make it properly read disks written by
the Pertec drive used with the real MITS controller.
I don't think that delay should make a difference to you since you are writing and reading the disk
on the same drive but it may be worth just commenting that line out and re-uploading the
firmware.

David

Stéphane Pitteloud

unread,
Jan 10, 2025, 6:03:17 AMJan 10
to Altair-Duino
Okey, I'm using a YD-174A. removing the short delay didn't changed anything (was worth to try, thanks). But in between, I managed to use correctly the "F" parameter. I Wasn't using it right, meaning that I didn't activated those options. Now, with all options activated, I can write and read correctly 99% of the times soft sectored floppy. I think it's good enough for now. Maybe  I try later to find the same disk drive than you (it would solve the locked disk problem too). Thanks for your help!
Reply all
Reply to author
Forward
0 new messages