• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Lisa system hang when booting any diagnostic image or disk

elemenoh

Well-known member
I have two 512k memory boards. Both pass the startup test in either slot on their own and they also work when installed together in either slot.

The device can boot Mac Works or Lisa Office boot disks, but won't boot any diagnostic (either images via FloppyEmu or actual disks).

The following all have the same results:

LisaTest 2.2

LisaTest 3.0

Lisa 2 System Diagnostic

Lisa Burn In Diagnostic

They load the various boot files but hang within a second or so after actually beginning to boot.

When it hangs, the disk drive stops making noise. If using FloppyEmu it shows as idle. The Lisa will just hang on the screen with an hour glass. Verbose mode just shows 'Booting..." as in the screen below.

When booted with Mac Works, 'About The Finder' shows 512k whether one or both boards are installed. But as mentioned before both pass the startup test in either slot on their own or as pair.

So, is this a known issue? I'm kind of at a loss for what to try. I'd like to get diags working so I can thoroughly check this recently restored Lisa for full functionality.

Thanks!

IMG_0772 (1).jpeg

 

lisa2

Well-known member
This behavior is not normal.  Like you stated, both MEM cards sound OK, but maybe possible that one of the memory slots in the MB is bad and only one the slot RAM cards is actually working.   The POST would not know better and just test the one card it "sees".  May also be an issue with the CPU card in it's MMU section.  

 

stepleton

Well-known member
I was also thinking MMU. The Lisa boot ROM does test the MMU (see address $01B0 onward), but I'd have to study the hardware manual to understand how rigorous this test is.

It's a shame that LisaTest won't boot for you --- that sure would help. That said, I think LisaTest is built on the Monitor (an early in-house Lisa development OS), and if I remember right from studying the Monitor source code, early versions at least don't make use of the MMU.

(I could easily be wrong, and also it could be that the LisaTest GUI does involve setting up the MMU in some way --- maybe it does this so that it can share some UI routines with the Office System.)

There are a few programs out there that don't use the MMU. Here are some that I have written:

NeoWidEx -- it only uses about 64K of RAM, but if it fails, we know something else is wrong

LisaMandelbrot "Solo" -- doesn't even use a kilobyte.

I expect that these simple programs will work, but if they don't, we know something else is wrong! Other ideas: @cheesestraws, do you know if GEMDOS uses the MMU? If not, that would be a good one to test --- that one actually uses a fair amount of RAM, I expect.

I wonder how much memory your Lisa thinks it has when it has two memory boards in it. Have you used service mode before? We can use it to ask. Use the DISPLAY MEM option, say 2A8 for the address, and say 4 for the amount (it'll display one row with more than four bytes in it). The first four bytes shown are your memory size, as detected by the boot ROM. (For more information about what I'm probing, see page 27 of the boot ROM manual.)

Obviously still in troubleshooting mode here...

ETA: You mention being able to run the MacWorks and Office System boot disks --- can you run the installed Office System itself?

 
Last edited by a moderator:

cheesestraws

Well-known member
do you know if GEMDOS uses the MMU? If not, that would be a good one to test --- that one actually uses a fair amount of RAM, I expect.


GEMDOS does not use the MMU, it uses the map that the boot ROM hands it.  It also assumes that you have 1MB RAM, so might be a good test, though you'd have to actually try to use that memory which might be tougher...

edit: 512k in macworks with both boards in does not sound right to me; something's gone wrong there somewhere, the MMU seems a plausible finger-point to me too

 
Last edited by a moderator:

elemenoh

Well-known member
Thanks for the suggestions. I'll give them a try. Earlier today I checked the caps on the logic board and found the one near the CPU had leaked. The others on the lower part of the board were fine. I went ahead and replaced all of them anyway. I'm also going through and patching some sketchy fingers on the edge connector. Will continue on with the suggestions above after that.

Edit: I can't run Office yet because I don't have a hard drive solution. I'm waiting on parts to build an IDEfile

 
Last edited by a moderator:

elemenoh

Well-known member
There was no change to the symptom after fixing the caps and edge connector on the logic board. 

Output of 2A8:

00 08 00 00 

00 00 00 01 

87 80 BF 00 

00 00 00 00
 

So if 00080000 hex = 524288 or 512k, only one board is being recognized when both are installed. 
 

Does this still indicate an issue with the MMU? What should I be testing for specifically?

 

sunder

Well-known member
There was no change to the symptom after fixing the caps and edge connector on the logic board. 

Output of 2A8:

00 08 00 00 

...

So if 00080000 hex = 524288 or 512k, only one board is being recognized when both are installed.

Does this still indicate an issue with the MMU? What should I be testing for specifically?


Assuming both boards are 512KB each, then, yes, only one board is being recognize. Note that the MMU is not thoroughly exercised by the boot ROM. So it's unlikely to be an issue with the MMU. The Boot ROM basically sets up the MMU to access the entire possible memory space + I/O and Boot ROM, and then starts to count memory and leaves information in low RAM.

At 0294,297 you'll find the maximum physical address, at 02a4-2a7 you'll find the minimum physical memory address, and yes, at 2a8-2ab you'll find the total.

So I'd guess either one of the memory slots is damaged, or a memory card itself is bad. I'd try to to 4 power tests.

1. Remove the card in slot 2 and leave only a single card in slot one. Power on, see what happens - look at service mode to see if the full 512K is recognized.

2. Swap the memory cards, at this point only memory slot 1 should have a card install. Power on, see what happens, look at service mode to see if the full 512K is recognized.

3. Move the card to memory slot 2, leaving memory slot 1 empty. Power on, see what happens, look at service mode to see if the full 512K is recognized.

4. Swap the memory card in slot 2 with the other one. Power on, see what happens, look at service mode to see if the full 512K is recognized.

This will help you isolate whether the motherboard slot is broken (could also be a trace on the CPU board), or if you have a bad memory card.

If the error follows the card, or you get no power on, that memory card is bad.

If a slot is always non-responsive, see if some pins are broken on it, maybe reflow the solder or clean the connector, then do the same with the CPU board.

I think one of the LisaTests (or maybe all) have an exerciser for the MMU registers, but you have to get into the hidden screen on them. I forgot how to do that, but it's some key sequence you'd do when it comes up, then you can run individual tests. There's probably documentation for this on bitsavers, some old one here: http://bitsavers.org/pdf/apple/lisa/service/072-0085_Level_1_Lisa_Technical_Procedures_Mar85.pdf that says that it requires both RAM boards to work, but not sure if that applies to Lisa 2's.

I remember you had to hit some key or hold the mouse button or something to get to the individual tests, but not exactly what.

 

elemenoh

Well-known member
There are a few programs out there that don't use the MMU. Here are some that I have written:

NeoWidEx -- it only uses about 64K of RAM, but if it fails, we know something else is wrong

LisaMandelbrot "Solo" -- doesn't even use a kilobyte.
These both booted okay.

GEMDOS got error 75 which is weird because no HDD is installed internal or external.

I'll try the swapping @sunder suggested. I've already done that in the past and everything worked. But I'll do it again and check the amount of memory recognized in monitor.

 

cheesestraws

Well-known member
GEMDOS is generally not very stable and, as said, assumes you have 1MB of RAM.  I'm never surprised when it crashes in weird ways on stuff it isn't expecting.  I wouldn't take that as particularly diagnostic of anything.

 

elemenoh

Well-known member
Confirmed installed memory is 512k for either card installed in either slot when checking 2A8. 
 

Thoughts on what to check next?

 

sunder

Well-known member
Confirmed installed memory is 512k for either card installed in either slot when checking 2A8. 
 

Thoughts on what to check next?
Did you try swapping slots? does it still work in the other slot? Or is it only failing with both cards in? if so that's really weird. I'm not sure what it could mean when either card works in either slot, but both together fail.

 
Last edited by a moderator:

elemenoh

Well-known member
Either card works in either slot. When both are installed there are no post errors but only 512k is recognized. 

 

sunder

Well-known member
So I'm unsure what that could be, but I'd guess there's an issue with the CPU board, or perhaps the connections on the motherboard. Could be anything from a filtering cap to a short, to maybe even a power supply issue where there's just enough power for one board but not both.

By some chance do you have access to another motherboard or CPU board?

 

elemenoh

Well-known member
A friend shared the following: 

I was also reading how the memory quantity detect works. Depends on the SLOT signal which is grounded in slot 2 or high in slot 1. This is apparently used as part of the address/matrix decode with A19/A20 to determine which slot is being addressed. What RAM is present is a bit of a different task. All this happens in boot ROM; the memory check does a read/write to the address space and records the “low” address as the first working address in slot 2 and the high address as the last working address in slot 1. This is how it can handle partially populated cards (512k cards) and memory in either slot. Then, when the MMU is brought up, everything is offset to these low/high addresses.

You should see a connection to Pins 8/9 on U14A on the RAM card as well as U14A pin 5 and U12B pin 3

It’s also connected to the pull-up resistor at RP1, pin 1 (and pin 16 is +5)
So I'm going to check that next. Last night, as a troubleshooting step, I sprayed the socketed chips on the logic board with contact cleaner. I managed to install the HI ROM upside down and think I fried it. I've ordered a replacement. Such a rookie mistake!

 

sunder

Well-known member
Yup, installing it upside down would provide +5V to GND and GND to +5V. Sorry. :(

But yeah, that address lines go to various decoders all over the Lisa. All of them go through the MMU unless SIO (Special I/O space) is specified with the special "SETUP" latch. This space is used immediately at power on to map the MMU registers, and the Boot ROM, and not much else.

The Boot ROM then will setup the MMU registers to see the entire RAM space in MMU context 0 (this is automatically enabled when supervisor mode is enabled as well.)

After that, not much else is done with the MMU. I forget if after the memory test if it will reset the MMU to reflect the maximum RAM enabled or not, but it doesn't matter, because if some program tries to access something outside of the available RAM space, (or what's allowed by the MMU), a bus error will be issued anyway.

The MMU is composed of two adders and a bunch of RAM configured in a special way. That's all there's to it. It just sits between the CPU and the rest of the system. The SLR bits in the MMU set the type of access (I/O, RAM, ROM, read write vs read only, or stack). The SORG bits the offset to the adder. One adder is used to compute the address, the other is used to detect an overflow - if an overflow is detected a bus error is issued to prevent access to space that doesn't belong to the current process.

None of the above matters very much if there's a hardware issue. It could be as simple an oxidized pin on the CPU itself, a cracked solder joint, or something bad with the MMU or a filter cap on one of the chips.

If it's the MMU it should be pretty easy to fix, though most likely those chips are soldered on the board. They should just be normal SRAMs which should be easy to find, and ofc the two adders.

Spraying the board with DeOxit, or some other electronics contact cleaner is a good idea, but you should remove the chips first. You should also clean the edge connectors and spray the female sockets on the motherboard where the RAM and CPU board go too.

Very likely that address lines (A19/A20) your buddy mentions between the 512K and 1MB board spaces is cut somehow, or being blocked.

If you have a microscope or good magnifying lens and bright light, use it to look carefully at all the solder joints. If you can read schematics, that's even better because then you can follow the A19/A20 lines from the CPU through the MMU and figure out exactly which chips are involved in those lines and check just those on the CPU board.

I'd take the motherboard out of the card cage and reflow any solder joints underneath the CPU and RAM sockets. Also use a volt meter in connectivity mode (i.e. beeps when there's zero resistance) to confirm that you have no resistance between the contacts on the top of the CPU and RAM connectors and the soldered connections on the bottom. Most likely the issue is around the CPU board or its connector, or the address line traces going from the CPU connector to the two RAM boards.

I'd also swap CPUs out if I had a spare 68000, but getting your hands on a spare CPU board might be the best, first path, as it would help you eliminate further, if it's the CPU board or the motherboard. Likely it's not your RAMs since they both behave identically. When they can be found, they're usually ~$150 on ebay though I don't see any right now. You could get a replacement new CPU board from vintage micros, but those are ~$500.

 

elemenoh

Well-known member
While waiting on the replacement ROMs, the following were checked:

Both RAM cards

Pin 39 to ...

LS02 (U14A) pin 5,8,9 OK

S138 (U12B) pin 3 OK

RP1 pin 1 OK

RP1 pin 16 to +5v OK

CPU pin 105 (A19) to ...

LS374 (West) pin 16 OK

LS373 pin 16 OK

LS374 (NE) pin 16 OK

CPU pin 110 (A20) to ...

LS374 (West) pin 19 OK

LS373  pin 19 OK

LS374 (NE) pin 19 OK

Chip locations on the CPU board (Silkscreen is underneath the actual ICs.)

2q4POx7.jpg


A19's edge connector repair was wrinkled, so it was removed and replaced.

rlmSu5k.jpg


smenRSk.jpg


 

lisa2

Well-known member
With all that corrosion damage on the CPU card edge, makes me wonder what condition the socket on the MB is in.  Did you replace the MB socket?

 

elemenoh

Well-known member
Yes I completely rebuilt the motherboard. It has all new components and continuity checked everywhere. 

 
Top