:: 2022-04-24 13:53:32
AlphaPC 164LX rescue
Due to unknown causes this board has developed a condition where it can't load its SRM firmware (Alpha has two main firmware "BIOS" versions, SRM for booting VMS and UNIX, and ARC/AlphaBIOS for booting Windows NT). Diag card slipped into a PCI slot reveals undocumented error code 0xA3 right after 0x15 (which is where the CPU loads the firmware from ROM and starts executing it).
At this point the CF7 jumper can be enabled (fail-safe booter), which means the CPU will load a 60Kb fail-safe ROM from address 0x0 of the built-in 1MB flash, which then tries to load firmware files (LX164NT.ROM if ARC, LX164SRM.ROM if SRM, etc) from a floppy. Trying to load AlphaBIOS yielded an error for invalid NVRAM contents, which the BIOS tries to fix, but fails with "Device error".
Another option is to load the Debug Monitor ROM (LX164DBM.ROM) from a floppy, which is a very useful debugger tool, capable of reading/writing to/from floppy/serial/network/flash ROM, perform memory tests with machine checks enabled/disabled, etc. Attempts to load SRM from the DBM also failed with 0xA3. Enabling machine checks results in the board falling into a neverending loop of system machine check interrupt vector 0x660 (I have no idea what it is but it's obviously important). Attempts to flash a new ROM from this DBM suspiciously fails with "Could not find flash device", and after this command the contents of the ROM are read errorneously until a reboot or ROM reload.
Interestingly, AlphaBIOS version 5.68-1 (specifically. Size is 463568 bytes) does not seem to find/care about NVRAM errors, in fact it recognizes old environment values for some Linux shit. It can also successfully flash the ROM with itself (just needs LX164NT.ROM on a floppy). The Debug Monitor can also be flashed into the ROM if needed.
So if the NVRAM supposedly does work (other AlphaBIOS versions still fail though! Very strange), and the ROM can be flashed, what's the real problem here? Let's try to install Windows 2000 on and old Quantum Shitball, maybe that can show what this system machine check means. Unfortunately the install hangs when the NT kernel is loaded.
So let's try Red Hat Linux 7.1, maybe that tells me something. Well I only got as far as the MILO bootloader, which says (or rather ends with):
Memory size is 384 MBytes
PYXIS machine check: vector=0x660 pc=0xfffffc0000d05c40 code=0x202
machine check type: unknown
Pyxis is the motherboard chipset but this is as far as I get because removing all PCI cards and swapping memory modules changes nothing. So in the end the Debug Monitor was flashed into ROM and the board shelved for another decade.
Rescue status: FAILED