Subject: Re: Tarbell is making me insane
From: Grant Stockly <grant at stockly.com>
Date: Mon, 12 Nov 2007 00:43:21 -0900
To: "General Discussion: On-Topic and Off-Topic Posts" <cctalk at
classiccmp.org>
Allison, thanks a lot for the detailed response! A lot of that info
can be used to help other people too!
I've written this e-mail from the "bottom up", so some things may
seem out of order in the time line.
I think that I'm to the point where I've narrowed the problem down to
inside the tarbell card, but I don't think the problem is the
1771. Any further hints are well appreciated. : )
I've seen bad 1771s out of the box (WD was not allways a qualaity house)
but I've never seeen one fail in service excluding overvoltage or reverse
polairty.
One little nasty. The 1771 has a basic ability to do data seperation.
I havent' looked at a tarbel board in a very long time but I do hope
that they didn't do the TRS80 save a buck trick and try to use that
internal seperator, it does NOT work. It has zero jitter tolerence.
I think we're getting closer!
>I can't speak for the exact combination
of the Tarbell, but the
>system has been running all day long with:
>-16k static card
>-8k static card
>-4k static card
The disks are 24k CP/M 1.4, the 4k is for the monitor. Forgot to say
that... Included on my source disk (which is read by the flaky
tarbell) is a BIOS for 48k CP/M, but I have never had it going long
enough to patch, movcpm, or whatever it is that has to be done to get
the new CP/M onto the disk...
Just making sure.
Ok you have 28k
ram. Is the image sized and booting in that?
If the image is sized for say 32 or 48K it will crash, likely
as a bounce back to rom monitor.
See previous response for a description. When it runs, it
runs. When it doesn't...it doesn't : (
The fact that it runs is good. You have a viable image but a systemic
problem.
I spent all day long writing my own tarbell driver /
monitor program
that would select, reset, seek, read, write, etc. When I tried the
read monitor command for the first time I didn't get an error. I
tried booting CP/M and it worked... Then I swapped to the more
troublesome tarbell card to get errors (I know, stupid) The problem
appears to be within the tarbell card. I can reliably get my tarbell
monitor to report this:
Reading A Sector
ERROR: Record Not Found!
"
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.
Jitter:
EXTERNAL: This can come from noise as above. Also drive
mechanical issues.
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.
LOGIC: problem with read/wait hardware not working or possible
data path corruption.
When I swap to the "better" tarbell, the basic sector read command
passes. (BTW, the reliably bad one above did boot CP/M once and gave
me a few good sectors!!! And I've swapped the 1771 between boards
and the bad stays bad and good stays good!) Basically I use the
monitor to clean the memory, load my program, and then I flip the
reset switch on the Altair. The Altair runs my program which starts
at 0000 and then jumps back into the rom monitor. Here is the
tarbell being good:
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.
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.
"
MON85 Version 1.1
Copyright 1979-2006 Dave Dunfield
All rights reserved.
F0000 3000 00
L
Reading A Sector
MON85 Version 1.1
Copyright 1979-2006 Dave Dunfield
All rights reserved.
m2000
2000 1E 0A 31 00 01 21 00 45 16 33
0E 02 06 04 79 CD ..1..!.E.3....y.
2010 2A 00 15 CA 00 5A 06 00 0C 79 FE 13 DA 0F 00 3E *....Z...y.....>
2020 53 D3 F8 DB FC 0E 01 C3 0C 00 D3 FA CD 41 00 3E S............A.>
2030 88 B0 D3 F8 DB FC B7 F2 41 00 DB FB 77 23 C3 34 ........A...w#.4
2040 00 DB F8 E6 9D C8 1D C2 02 00 32 80 00 2F D3 FF ..........2../..
2050 C3 50 00 00 5A 80 04 19 00 02 00 45 80 04 15 01 .P..Z......E....
2060 01 80 51 00 00 00 00 00 00 00 00 00 00 00 00 00 ..Q.............
2070 00 00 00 00 00 00 00 00 00 00 00 00 00 C3 00 00 ................
"
I have to pull the card out to enable the boot rom...guess what, it
boots...but at the moment it is only reading "real" DD media. The HD
media with the tape "works" but BDOS complains about "bad
sectors". This HD disk on another day works just fine.
DD or HD with tarbel??????
I ran one of the programs:
"A>disktest
TARBELL MINI-FLOPPY DIAGNOSTIC OF 8-1-80
STANDARD VERSION 1.8
40 TRACKS 18 SECTORS
SELECT DRIVE. (A/B/C/D) a
HOW MANY RETRYS? (0-9) 4
SELECT STEP RATE. (S=40MS,M=20MS,F=12MS) m
FULL TRACK SEEK? (Y/N) y
TO START TEST TYPE RETURN.
0 READ ERRORS DETECTED.
REPEAT TEST? (Y/N)
"
Maybe that gives you a clue as to what I'm working with.
And if I try my HD disks it does this: (to every sector on every track)
"
READ RECORD NOT FOUND ERROR.
TRACK 0 SECTOR 1
READ RECORD NOT FOUND ERROR.
TRACK 0 SECTOR 2
READ RECORD NOT FOUND ERROR.
TRACK 0 SECTOR 3
"
Last weekend that was my boot disk and I had several basic programs
compiled with basic-e on it.
HD media is incompatable in every way with older drives and lower
data rates.
Drives used for HD media are 96tpi and track pasing ansd width are
different, incompatability is oftenn the case or at best it gets by.
Don't have Tarbell schematics handy to check.
Does the read loop test a status bit or hang/wait on read?
If it's hang wait on read is that also tied to interrupt??
If it's read a status bit two things:
CPU MUST complete the read a byte loop in 32us (64 for mini floppy)
and CPU speed makes this in some cases difficult.
can you supply the sector read code? ( should be fairly short)
Is the boot
image set up for MITS 2SIO and does it set it up?
I have a session captured from "once upon a time" when it booted
(which is more random than anything I can think of)
"TARBELL 24K CPM V1.4 OF 7-20-79
2SIO MINIFLOPPY VERSION.
HOW MANY DISKS? 2
A>dir
A: CPM COM
A: SYSGEN COM
A: DDT COM
A: COPY COM
A: PIP COM
A: ASM COM
A: STAT COM
A: ED COM
A: FORMAT COM
A: DISKTEST COM
A: DUMPDSK COM
A: BASIC COM
A: RUN COM
A>
"
Yeeha!
I assume thse
are in high memory and not below the address the image will
try to boot to. CP/M wants from 0000h to system size as configured.
My bytesaver is at C000 and 4k of sram for the monitor is at
E000. There is 24k of contigous memory at 0000.
Doesnt assure the FDC is set right for the drive
and media.
Also doesnt assure the media is SD or even bootable.
Further is the media is not using a 2sio as the IO the system could
boot and crash or appear to.
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.
To add to that, I have myself booted off the setup,
formatted disks,
made copies, ran the basic compilier, ran asm, etc. But something
(and I think its IN??? the tarbell card does not like me, Alaska, my
Altiar... I don't know! : (
Could be an interaction of both.
A quote:
"My Imsai has a standard front panel with a factory suggested mod. to
do a power-on halt at zero. It has two 16K Industrial Microsystems
static ram boards, a SIO2 serial board and a SSM 8080 CPU. The prom
on the Tarbell is turned off to let the front panel operate properly
at power on. The Tarbell is then booted by using a MITS eprom board
and the 1702A eprom you burned for me. The power supply is a
Industrial Microsystems switching supply which powers both the drives
and the backplane
But you don't have "that". You sorta have something like that.
Following is the different configurations I have used
in the test
unit to boot the Tarbell;
1. With a Z80 Cromemco ZPU set at 2Mhz, power-on jump set to
zero and no front panel. The Tarbell boots at power-on and will do a
cold boot every time you push the reset button.
2. With a ZPU and Imsai front panel the Tarbell
boots
only when the run switch is pushed.
3. With the Altair CPU and no front panel the Tarbell will not
boot at power on or after a reset!
No suprize, the MITS CPU has no POJ, nada. It must be reset, load address
and then run.
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.
After the Tarbell boards boot I have never had a problem or dropout
in CP/M with any CPU- front panel configuration. The static ram
boards use low power chips and run cool.
thats good but getting there is an issue.
Remember my Altair CPU board uses a 8224 in the
oscillator circuit
and I replaced the 8T97 with 74LS367's.
"
The 8t97s worked fine for me. It has 8224? your mod or 8800B?
This is some info on the mod:
"The modification we have on our Tarbell boards was designed for the
5.25 Tandon TM-100 single sided. single density 48tpi drive which was
one of the first 5.25 drives produced. It might be that some of the
new 3.5 drives just won't work with the setup we are using."
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.
The hub clamps sometimes off center the media and still media will
sometimes drag the motor speed down. Watch for that.
Could even be a
simple bad IDC crimp on the cable.
I have tried a few FDC cables. Maybe I should make a new one.
Suggestions of the obvious.
Time for bed. : (
Grant
Don't know if it helps
Allison