Hi All
I decided, on good advice, to look at the static RAMs.
I found a couple of flaky boards. In both cases, it
looks like it was socket problems. I like sockets for
repair but in older machines, they are a major problem source.
I brought out my magic grease and coated the IC pins that were
offenders and now the machine seems quite reliable.
I found a couple more errors in my CBIOS but nothing
I can't work around until I get the source typed in and
use the ASM on the disk to generate code.
One bug stops the warm start from working correctly.
It is no biggy, it is related to how the controller deals
with track zero. When the head is unloaded, it doesn't
pass the track zero status. This means that if I'm at track
zero and then request to go to track zero, a quick check
of the controller status says I'm not there and I
step to track -1. Of course, there is no data there
so the thing fails to reload. I think the easy way
to deal with this is to issue a NOOP to the controller
to cause a head load and then read the status.
Another error that doesn't seem to cause trouble is that
the CONST routine is passing a 0F0H as a true flag instead
of a 0FFH. This is because I incorrectly wrote my return
flag routine. I don't like using conditional code to generate
flags. This is mostly the results of doing code for a
lot of real time applications that require deterministic
operation. The problem was I did it incorrectly. The code
I wrote was:
ANI 40H
ADI F0H
SBI F0H
What I should have written was:
ANI 40H
ADI 0FFH
SBB A
I still have one last problem that I don't understand. When
I send the back-space character to CPM I get erratic results.
Some times it sends back two back-space characters and other
times it sends one back-space and one space character. I don't
know if this is caused by a RAM problem or not. It is a funny
thing because every thing else seems work fine so I don't
think it is a problem with something like the RAM. At first
I used the ^R a lot to see the line. In any case,
I'm using my lap top as a terminal and can filter it until
I find time to look into it. Characters in the DUMP program
always come out right.
I'll have to look into the DRAM issue another day.
Dwight