Subject: Re: Tarbell is making me insane
From: Grant Stockly <grant at stockly.com>
Date: Mon, 12 Nov 2007 15:25:53 -0900
To: "General Discussion: On-Topic Posts Only" <cctech at
classiccmp.org>
Wow, a lot to go over here... Rich, if you have any problems with
your drive I might be able to help you after this exercise! : )
Data is comming from the disk, however it's
not readable. Possible
reasons:
NOISE, ground the drive, insure it has good power that the
system case and it's grounds are common. Also common
error is long drive cables (stay short for now) and cables
(and drives) that get near CRTs.
I'm hooking the 3.5" drive power cable directly to the output of the
7805 on the tarbell, which is getting its power from an 8v switching
power supply. The power is nice and steady at 4.95v. The only thing
I haven't done is made sure the case is grounded. Some drives had
jumpers for that, but mine doesn't. So it could be either way.
BZZT!!!! NEVER! The 7805 DOES NOT have the output to support the logic
and the Drive power. It might with a modern 3.5" but not any of the 5"
older drives.
Internal:
1771 requires a data seperator to recover clock and
nice(cleaned up some) read data. The common circuits
are oneshots and PLLs. Tarbel used oneshots. Generally
they work well enough if set right.
The tarbell card I have doesn't have any one shots for data
separation. The read data line goes into a L74 (Dual D Edge
Triggered Flip Flop), then goes into a LS175 (Quad D Type Flip Flop
with Direct Clear). There are two LS161 (Synchronous 4 Bit Binary
Counter) that are hooked up to parts of the LS175. There are is a
XOR gate and two NAND gates. I'm not sure what is going on at the
moment, does it seem like that pile of parts could be implementing a
PLL? I would think a PLL would be more complex than that. I'll at
least make sure all of the edges match up (Read data vs separated
clock and data)
It's a oneshot done with counters rather than monostables. Better,
stable and predictable.
I hope I find something obvious. I should at least see
a difference
between the two tarbell cards (reliably bad vs somewhat bad). I have
a 4FDC Cromemco? It uses a 1771. I might be able to use the tarbell
driver to boot off of that. Is anything known about that card as far
as being better or worse?
Make sure the logic osc is really running at the crystal frequency.
LOGIC:
problem with read/wait hardware not working or possible
data path corruption.
The two 3.5" drives and the 5.25" drive I have don't do anything with
the ready/disk change line at all. BUT, I know the Sony 3.5" drive
doesn't generate index pulses until the drive speeds up (I think that
is what its doing).
That should affect nothing. SA400s (and others) don't generate
index if teh media is not spinning (motor off, door open).
With a TEAC 235HF drive it takes 694.053ms for the
drive to generate
sector pulses AFTER the drive was given a "Motor Enable"
signal. Even though the head was NOT at track 00, the drive didn't
signal that status until 491.221ms after given a "Motor Enable". So
the drive seemed to spin the motor up, tell the controller it was not
at 0, and then start issuing index pulses.
Most systems that used 5.25" drives had a 1second motor delay for the
motor to spin up. You dont read as soon as you see index nor does the
FDC chip.
That is probably how the 3.5" disk is getting away
without a ready
line. The older drives probably generated index pulses regardless of
if the drive is ready or not. These newer drives with more brains
must not make index pulses unless they are ready.
Ready is one line I never used nor is it important. Use a jumper to
force it true and forget it.
your
shotgunning. I've seen this for 30+ years. Doesn't work, swap
out the big hairy chip as they must be flaky or why else put it in a
socket? Rare if ever is that the case.
On my second kenbak build I had a problem. First I tested all of the
ICs (digital only) but didn't find any problems so I started swapping
them all. About 3 hours after testing it started working, but then
stopped. I found a cold solder joint. Pushing around and bending
the boad "fixed" it. : ) So I fixed the joint and reinstalled all
of the old chips. : )
Probing for a missing signal might have found it faster. Pulling chips
risks fatigueing sockets and also ESD to the chips (even TTL). The worst
is the motion makes the problem go away only to return days later.
The main reason I swapped the 1771 was because I think
I read
somewhere that its a very static sensitive part and of all of them
the most likely to go out...
No more so than 8080, z80 or 765. Once in circuit the surrounding stuff
further protects it. However ESD can and does kill chips that come to
edge connectors.
FYI: certain
brands of sockets of the side wipe style tend to fatigue
with insertion/removeal and some do it over time leading to failures
where the chips are 100% good but nothing works and may be flakey
if wiggled or moved.
I will replace the sockets with machine pin sockets.
Do so as needed. I've had to strip entire NS* MDS boards for that reason.
DD or HD with
tarbel??????
The tarbell is treating the 3.5" disk drive as that TM100 tandon SSSD
drive. The data rate recorded to the drive is 8.07us per bit. I'm
getting 123916 bits a second, which doesn't seem to match anything I
remember...
That would be single density 5.25" rate and you at 99.1328% of correct
which would be 125,000. Less than 1% slow is tolerable.
HD media is
incompatable in every way with older drives and lower
data rates.
My drive is a new from sony. I've made formatted and written to HD
disks with the HD hole covered. This same drive reading the same
disks does not always read. I don't know if its the tarbell's fault or not.
Disks as in media or drives? Disks as in media is an issue. Better bet is
older 720k stuff. FYI HD in this context is meaningless as your running at
1/2 the lowest data rate for those drives.
Does the read
loop test a status bit or hang/wait on read?
The silly tarbell issues a "IN" to a "wait" port and the tarbell
keeps it in a wait state until the 1771 is good and ready. Kind of
makes debugging hard if the tarbell doesn't decide to stop waiting. ; )
I call that read/hang. It's the only way to go with slow CPUs.
If thats the case then your disks test [program should hang if there
is no data.
can you supply the sector read code? ( should be
fairly short)
The datasheet for the 1771 says "Upon receipt of the Read command,
the head is loaded, the BUSY status bit set, and when an ID field is
encountered that has the correct track number, correct sector number,
and correct CRC, the data field is presnted to the computer."
I know that paragraph. It also means the FDC had to find and read
those correctly.
Is that the sector read code you are talking about?
One of those
first bytes? The data sheet says that the 1771 is capable of reading
the entire track as one big sector. Maybe I should try to make a
routine to do that. I don't know of any other way to get that code
since it isn't part of a normal read.
Ah, no the software that manages the FDC. the program segment that does
READ IO.
The drive,
tarbell, and boot disks were mailed to me from a fellow
enthusiast. He made all of the modifications, made the disks,
etc. He has tested the setup in an IMSAI (kind of) with my (kit)
CPU, a SSM 8080, and a ZPU at 2MHz.
Kind of and exactly are differnt things.
At least we both have a ZPU and both have one with the 2MHz
switch. So that eliminates the CPU card one shots from the
reliability question. Right?
Same bus? Same ram, same Front pannel?
4. With the Altair CPU and the Imsai front panel
the Tarbell
will boot after you push reset and then push the run switch.
Says the MITS FP is causing some pain.
FP?
FRONT PANNEL.
The 8t97s
worked fine for me. It has 8224? your mod or 8800B?
That was part of a quote from him. Its not my board. I do have pictures at:
http://www.stockly.com/forums/showthread.php?t=325
Its a regular Rev 0 card with some modifications. The biggest
modification is the lack of one shots. It uses an 8224. I imagine
he got this info from a vintage place somewhere because his work
looks very well planned out. Or maybe he just planned it out good!
I just ripped up the osc and oneshots plus the drivers and used on of
the pad areas to mount the 8224 and wired it in.
One problem the 8224 can have is the crystal osc can sometime run at
a harmonic of the marked freq or for the 18.384 mhz rock sometimes at
a subharmonic. I found it stable but watch for it.
The only media
that should go in that drive is the brown SD/DD floppies.
If the media was written on a 96tpi drive the noise and jitter _will_
be higher due to track width differences. IF the FDC oneshots are
not quite on that makes a huge differnence.
I've read that HD (1.44MB 3.5") disks with tape over the HD hole
aren't exactly a DD disk. Something about the track width being
narrower because of the smaller head in an HD drive? BUT, the DD
(720k 3.5") disks were formatted to 40 tracks 18 sectors, 128 bytes a
sector using an HD drive. So the DD disks wouldn't have a wide track
width to begin with. Are there really physical media differences
between DD and HD that would keep a HD disk from being used as a DD
disk when in a HD drive? The HD drive should be able to read the
narrow track written on what it thinks is a DD disk, right? Is the
magnetic material of an HD disk significantly different?
the 3.5" all have the same track width. The 5.25" stuff had that
wholde thing going on.
What the 3.5" had was the media had a different corcivity and there
were at least two differnt media and the 1.44 had a harder to write
700 orsted media vs the 720K at 600.
Most of the information I've read about mixing media is in reference
to DD disks being written in an HD drive and then becoming unreliable
in a DD drive. I've also heard about people who add holes to disks
to make a DD disk an HD disk, which probably works for them better
than my tarbell works for me... : )
Again thats the 5.25" drives. The 3.5" world is generally less
muddled for modern drives. (those that likely appeard in PCs).
Allison
Thanks!
Grant