General Category > Lisa Troubleshooting and Repair

Apple Lisa PSU error 47 on cold boot

<< < (2/2)

ried:

--- Quote from: stepleton on September 01, 2024, 10:10:10 am ---Silly question but does your PSU replacement provide a reliable +5V standby power? I'm wondering if your RTC and parameter RAM are taking on random/invalid values each time you restore power after turning the machine off.

A different but very related question: do you find that the Error 47 occurs with an original PSU after you unplug the Lisa and plug it back in?

--- End quote ---

It does provide reliable power that keeps the time, startup disk settings, etc. Unless you use its built-in power switch - in which case it cuts power to the machine entirely (resetting the time).

Error 47 never appears with the original PSU under any circumstances.

James M. kindly suggested that Error 47 could indicate a malfunction, and that the +5v rail could be drooping below spec during the cold boot and generating the error. He suggested removing one of the memory boards to see if that helped. While I was in there, I removed both the secondary memory board (a 1.5MB RamStak) and the LisaDAC. I can confirm with certainty that the LisaDAC is causing the issue. Removing it resolves Error 47 with the new PSU entirely.

So, to my untrained eye, it seems the LisaDAC is just a little too power hungry for the new PSU. Everything else including the XLerator with SCSI, PFG, Parallel card, X/ProFile, and 512K Apple RAM + 1.5MB RamStak function just fine when used with the new PSU. Add the LisaDAC, however, and we get Error 47 on cold boot. Choosing "Restart" and ignoring the error by choosing "Startup from..." allow the Lisa to continue without issue, but it seems that Error 47 is inevitable with the LisaDAC installed.

I shall put the original PSU back into this particular machine.

sigma7:

--- Quote from: anotherLISAguy on September 01, 2024, 07:42:59 am ---... added code/reliance added to the XL ROM (assuming all other things equal)
whether the 'original 16MHz XLerator with SCSI, PFG, X/ProFile, etc' are adding any additional checks/flags

--- End quote ---

None of these bits of hardware add or alter code to be executed per se.

The 16 MHz XLerator does affect the timing of ROM code, which causes error 42 (with non 3A ROMs) due to it not being able to read the serial number. The 12.5/18 MHz XLerator design doesn't affect the timing as much.

sigma7:

--- Quote from: ried on September 01, 2024, 01:55:43 pm ---I can confirm with certainty that the LisaDAC is causing the issue. Removing it resolves Error 47 with the new PSU entirely.

--- End quote ---

The LisaDAC isn't particularly power hungry, so that's pretty mysterious to me, especially since you reduced the overall load otherwise. Did you try moving it to another slot?

Looking at the SETVCTRS routing in the ROM listing, it looks like all of the unusual/unexpected "exceptions" result in error 47, which means all of them except:

* $08 Bus Error
* $0C Address Error
* $10 Illegal Instruction
* $28 A-Trap
* $2C F-Trap
* $7C NMIOthers would include
Divide by Zero
CHK instruction
FTraps (other than the F-Trap emulator)
Other unanticipated interrupts
... and more!

So error 47 means something went wrong in an obscure way, such as fetching an instruction resulted in something garbled that didn't execute correctly.

The LisaDAC does use an interrupt, but I think that isn't enabled until the software loads the LisaDAC; ie. well into booting MW+/II.

ried:
Well, I'll be a monkey's uncle 8) Sigma7 is right again. Moving the LisaDAC from expansion slot 1 to 3 resolves the Error 47 issue. The new PSU is now working as normal in the Macintosh XL. Thank you, James.

I do not know why the original PSU was fine with the LisaDAC being in slot 1, but the new PSU requires it to be in slot 3. Such is the mystery of vintage computing.

Now that this issue has been resolved, I will continue testing this new PSU and report back with any additional issues that may arise. So far, it appears to be a solid alternative to the original.

Navigation

[0] Message Index

[*] Previous page

Go to full version