Hi, all,

I recently was given a Rockwell AIM-65 single-board computer in nice physical 
condition, with the original keyboard and keyboard connector cable.
I've downloaded all of the documentation that I can find, and have been trying 
to get it running.

After doing a thorough visual inspection looking for any sign of detritus, 
especially anything metallic, as well as making sure all of the ICs were seated 
in the pretty-lame single-wipe sockets, and checking for any obviously cooked 
or overheated components.   

Everything looked really nice, and quite clean.  
All of the required chips were in place, and looked good, including the 6532 
RIOT, 6520 PIA for the display, and two 6522 VIAs.  All of the LSI's, including 
the 6502, were Rockwell-made parts, with date codes all within a reasonable 
time of each other.   

I checked across the +5V and GND power supply connection points, and found that 
it wasn't shorted, another decent sign.

The machine came with all five of the ROM sockets filled with original Rockwell 
ROMs, including the two-ROM BASIC interpreter, the Assembler ROM, as well as 
the two Monitor ROMs, all installed in the sockets they should be installed in. 
   The machine had six 2114's (1024x4 static RAM) installed in the lower three 
banks of user RAM, with two of the sockets unoccupied.  I got two known good 
2114's from my stock of parts and installed them in the two empty sockets, so 
that the machine would be in the 4K of User RAM configuration.

I understand that the machine can be powered up with only the +5V supply, but 
the thermal printer will show as "down", as it requires the +24V supply.  The 
+12/-12 supplies are also not required.   

I made sure that the RESET switch worked properly, and tested the KB/TTY and 
RUN/STEP switches operated properly.  I set the KB/TTY switch to KB, and the 
RUN/STEP switch to RUN.

I found a power supply that provides +5V at 5A, and tested it out on a dummy 
load to make sure it was healthy and had clean output, and it was fine.  I 
connected it up to the +5 and +5 Return (GND) terminals on the power supply 
input barrier strip, and held my breath, and switched on the power strip that 
the power supply was plugged into.

The result.  Absolutely nothing.
No sign of any activity on the display.
I didn't expect anything from the printer, because it didn't have its +24V 
power.

I left it powered for a little bit, checking for any chips that seemed 
unusually hot or anything else that seemed amiss, and nothing was obviously 
upset.   The CPU chip warmed up slightly to the touch, but wasn't at all 
alarming in terms of its temperature.     I pressed the RESET switch a number 
of times, and it made no difference.   Oh well.

I powered it off, and pulled the ROM chips out, and decided I'd pop 'em in my 
ROM programmer and compare them to the ROM images I'd downloaded off the net.

The two monitor ROMs verified exactly.   The Assembler ROM also verified 
correctly.  One of the BASIC ROMs also verified properly, but the other failed 
the verification.  Hmm...upon READing it into the programmer's RAM, I dumped it 
out, and low and behold, it read back as all 0xFF's.   Oops..  I double checked 
that the ROM was properly seated in the programmer's ZIF socket, and it was.  I 
tried READing it a number of times, and the result was always the same.  This 
ROM must have expired somewhere along the way.  I can blast a 2732 with the 
proper bits and build an adapter to make BASIC work once I get the thing 
running, and hope that maybe sometime I might find a good blank OTP 2532 ROM I 
can blast with the code, or find one already programmed somewhere.

That said, the BASIC ROMs aren't required to get the AIM-65 to "boot up" in the 
Monitor, nor is the assembler ROM.  I decided to set the BASIC and Assembler 
ROMs aside, and just re-installed the known-good monitor ROMs in the proper 
sockets.

I double-checked that all of the RAM chips were properly inserted in their 
sockets by pulling and re-inserting them, as well as the 6502, 6532, and 
6522's.  The 6520 on the display board is soldered in, so no socket issues 
there.

I powered it up again, and verified that +5V was present on all of the chips on 
the board, and that was fine, with every chip showing +5 give or take +/- .02 
Volts.  All of the GND pins were at 0V, with only tiny (sub-millivolt) noise on 
GND.

I put a big dip-clip on the 6502, and got out my trusty Tektronix 2465 scope, 
and figured I check some of the basic stuff, like making sure that the clock 
generator was running, and that the 6502 properly would generate the Phase 1 
and Phase 2 clocks that the rest of the system uses, as well as looking at the 
address bus and data bus to see if it was doing anything.  The clock generator 
uses a 7474 dual flip flop, which I know have a tendency to go bad, so checking 
the clock was the logical first step.

I powered it up again after hooking everything up, and probing around showed 
that the clock generator was indeed running, and had the proper voltage levels, 
timing, and duty cycle.  The thought that maybe it'd be a simple fix, with a 
bad 7474, went out the window.  The 6502 was pumping out the proper Phase 1 and 
Phase 2 clock signals, and  both were very clean and within specifications.

I looked at the address 0 line, and pressed the RESET button, and it'd wiggle 
for a short period of time, then go high.  Hmm...   I looked at the other 
address lines, and while not all of them wiggled, they all ended up at logic 1 
after a short period of time, as if the CPU was stuck at address 0xFFFF.   I 
did the same thing watching the data lines, and the symptoms were similar. 
They'd wiggle around a bit, then settle at logic 1 and stay there.

I then watched the chip select signals for the ROMs to see if they were being 
addressed, and indeed, the low ROM was getting selected for a short period of 
time, then it'd get de-selected and stay that way.  The other monitor ROM also 
got a short burst of select.   So...it appears that the ROMs are being 
addressed, at least for a short time, and the processor is likely executing the 
code for a short time, but something causes it to lock up.

I checked to see if any of the RAMs were being selected, and at no time during 
the short period of activity after a RESET did any of the chip selects on the 
2114 RAMs go active.

I then checked the PIA (6520) on the display board to see if it was being 
selected at all.  Nope. 

Then I looked at the RIOT chip to see if it was being selected, and indeed, it 
is being selected during the short period of activity, but then, it goes 
deselected and quiet once the CPU settles in at 0xFFFF on the address lines.  

It appears that the address decoding circuitry is at least mostly functional, 
as the ROMs, PIA, and RIOT are being addressed.  It's not exactly 100% sure 
that the address decoding stuff is working as it should, though.

I thought that perhaps there might be something up with the 6502.  
I have a Commodore VIC-20 that works fine, and it has an original MOS 6502 in a 
socket, so I opened up the VIC-20, pulled the 6502 from its socket, and popped 
it in place of the Rockwell 6502 in the AIM-65.

The behavior was identical.  So, I'm pretty sure that the Rockwell 6502 is 
good.   I should have popped the Rockwell 6502 in the VIC-20 and tested it that 
way, but didn't want to fuss with hooking the VIC 20 up to an old TV. 

I pulled all of the 2114 RAMs out, and popped them into an old calculator that 
I have that uses 2114 RAMs, and tested them out this way.  The calculator ran 
just fine with the chips from the AIM-65 in place.   I'd figure a bad RAM would 
likely cause the calculator to malfunction in some way.  Not a thorough test, 
but enough of a test to validate that none of the RAMS were dragging the 
address or data busses down, and that they did properly do reads and writes.

So, with all that said (sorry, I am verbose), I'm kind of at a loss as to what 
to do next to try to figure out what is wrong with the machine.   Does anyone 
out there have any suggestions?  I have a couple of spare 6522 VIA chips, but 
these shouldn't really be accessed unless the printer is trying to be accessed 
(which it might be during initialization at least), and the other VIA is for  
external interface use...and is probably initialized by the ROM, but neither of 
them should really be actively accessed other than a short burst of 
initialization.   I could swap in my spare 6522's to see if it makes any 
difference, but I doubt it would make any.

The unknown is the 6532 RIOT chip.   I pulled up some data on the chip, and it 
appears to be a combination of a PIA (like 6520), 128 bytes of RAM (hmm...), 
and a programmable interval timer.  I don't have any spares for this chip, so I 
can't just substitute in another chip and see if it makes a difference.  The 
RIOT chip is used to scan the keyboard, and, after looking at the assembly 
source listing of the ROM Monitor, it appears the 128 bytes of RAM in the RIOT 
chip are used as the storage for the monitor.     It appears that RIOT chips 
can be purchased, I found a place online in the US that has them for $9.95 
each.  Maybe I'll order one up.

Maybe the RAM in the RIOT chip is not working properly?  If that were the case, 
since it appears that the stack is stored in that RAM, the first time a 
subroutine was called and a return executed, it'd cause possibly 0xFFFF to be 
read as the return address, and that's where things go awry.   

I guess maybe I need to dig out my logic analyzer, and monitor the address and 
data busses, and trace out what is actually happening.   But, I figured I query 
the list here to see if anyone might have some other things that I could do 
that might be easier to identify what's wrong with the thing.   

One thing that I have no idea about is the display subsection.  Since the 
display PIA is never selected, I suspect that any code that initializes it and 
tries to put something up on the display never gets a chance to execute.    The 
"smart" starburst LED display modules are all properly in their sockets, and +5 
is delivered to the proper pin on each module, and there's no sign of unusual 
heating or anything else that might indicate a problem with the display 
modules.   The PIA also has a clean +5 and GND, and doesn't show any sign of 
overheating.

I have a small Motorola 6809 microprocessor development system with a couple of 
6820 PIA's that I could probably write a quick routine to try to initialize the 
6820 on the AIM-65 display board, and try to write a message out to the display 
to test it, but that seems like a lot of work.   I'd rather just fix what's up 
with the AIM-65, and get it running.

Any thoughts from those out there as to what to do next would certainly be 
appreciated.  I always value the collective knowledge of the members of this 
list.

Thanks,
-Rick
--
Rick Bensene
The Old Calculator Museum
http://oldcalculatormuseum.com

Reply via email to