Jump to content

Lisa system hang when booting any diagnostic image or disk


Recommended Posts

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!

 

 

 

261568447_IMG_0772(1).thumb.jpeg.a58c3d5648e3a23187ac45d953c6df09.jpeg

Link to post
Share on other sites

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.  

 

Link to post
Share on other sites

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?

Edited by stepleton
Link to post
Share on other sites
4 hours ago, stepleton said:

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

Edited by cheesestraws
Link to post
Share on other sites

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

Edited by elemenoh
Link to post
Share on other sites

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?

Link to post
Share on other sites
17 hours ago, elemenoh said:

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.

 

Link to post
Share on other sites
On 2/5/2021 at 8:31 AM, stepleton said:

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.

Link to post
Share on other sites
7 hours ago, elemenoh said:

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.

Edited by sunder
Link to post
Share on other sites

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?

 

Link to post
Share on other sites

A friend shared the following: 

 

Quote

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!

Link to post
Share on other sites

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.

Link to post
Share on other sites

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

 

Link to post
Share on other sites
  • 2 weeks later...

Got new ROMs which got me back to 'normal' where the machine will boot but only recognize 512K RAM with both boards installed.

 

Cleaning the CPU and socket with contact cleaner didn't help.

 

Quote

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.

 

@sunderCan you tell from the photo above which chips these would be? I'm unfamiliar and it wasn't clear to me from the schematic.

Link to post
Share on other sites

There's a bunch of them

 

See the schematic, it's the 74ls283 adders in schematic page: https://lisaem.sunder.net/cgi-bin/bookview2.cgi?zoom=0?page=3?book=6?

 

The adder chips are labeled U8B, and U9B, U10B

The SRAM registers for the MMU are: U8A, U9A, U10A,

Also the d-flops at U11D.

 

Basically most of the lower half of that schematic sheet has to do with the MMU. (The rest of that schematic sheet is mostly the video circuitry.)

 

If you look on the physical board, there's numbers on top of the board and letters on the left side, these map to locations on the board, so if you remove the "U" from the chip, you'll locate it at that position.

So for example U13A is the CPU location though it also occupies U13B and U13C.

 

Link to post
Share on other sites

Welp it turns out this was my own doing. I misread the hand drawn semi-schematic for the motherboard and had bodged pin 39 from the Mem1 slot to pin 39 on the Mem2 slot. Those are used to detect if both cards are installed. One should be connected to +5v and the other to Ground. After undoing that bodge, the second card was recognized okay.

 

I was then able to boot Lisa 2 System Diagnostic. The 'short' tests passed okay.

Pepsi Burn-in boots and runs but seems to hang on a floppy test. I was doing this with FloppyEmu so maybe some weirdness there.

 

Lisa Test 3.0 displays 'Disk Read Error' on boot. Will need to see if that's an image problem or something else.

 

I'll try doing all of these via real floppies at some point.

 

Anyway, it's working now!

 

13AxjuT.jpg

rGrtaTE.jpg

Link to post
Share on other sites

Yeay! Glad you fixed it!

 

Not sure if it helps or no, but I've had issues with the FloppyEmu and a 2/10. Perhaps it's firmware, but it worked well with 2/5's - I think mine was a version "B"

It basically worked to start booting but not after the OS loaded. But I think from the photos, yours is a 2/5.

 

Maybe try from the real floppy, and see if you still get errors as well, if you don't see if there's a firmware change for the FloppyEmu that might help.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...