===== AlphaPC 164SX ===== ^ AlphaPC 164SX ^^ ^ CPU | [[wp>Alpha_21164#Alpha_21164PC_(PCA56)|21164PC]] (PCA56), 400 or 533 MHz | ^ Core logic | [[hardware:chipsets#21174|21174]] (Pyxis) | ^ Memory | 4 DIMM slots, SDRAM (ECC optional), up to 1 GiB | ^ Buses | 64-bit PCI, 32-bit PCI, ISA | ^ Form factor | ATX | ^ Onboard I/O | Cypress IDE, floppy, 2 serial, parallel, keyboard, mouse | ^ Firmware | SRM (last V5.8), AlphaBIOS, MILO | ^ Kernel option | ''CONFIG_ALPHA_SX164'' | ^ Linux | Supported | The AlphaPC 164SX is an ATX form factor motherboard for the PCA56 (21164PC), released by Digital in 1997. [(>{{wiki:hardware:motherboards:pc164sx:pc164sx_product_brief.pdf?linkonly|AlphaPC 164SX Motherboard Product Brief}}, May 1997)] It uses the same core logic as the [[hardware:motherboards:pc164lx|AlphaPC 164LX]]. wiki:hardware:motherboards:pc164sx:pc164sx-1.jpg Digital AlphaPC 164SX ==== Specifications ==== * 400 or 533 MHz [[wp>Alpha_21164#Alpha_21164PC_(PCA56)|PCA56]] CPU * 1 MiB external L2 cache * 21174-CA chipset * 4x 168-pin 100 MHz unbuffered SDRAM DIMMs (see below) * 2x 33 MHz 64-bit PCI slots * 2x 33 MHz 32-bit PCI slots * 2x ISA slots * Cypress CY82C693U-NC EIDE controller and ISA bridge * SMSC FDC37C669 Super I/O controller * Floppy disk controller * PS/2 keyboard and mouse * 2x RS-232 * 1x Parallel port * ATX board, 30.48 cm x 24.38 cm (12.0 in x 9.6 in) [(>{{wiki:hardware:motherboards:pc164sx:pc164sx_technical_reference_manual.pdf?linkonly|AlphaPC 164SX Motherboard Technical Reference Manual}}, p. 3-2)] Instead of jumpers, the board is configured with switchpack SW1; in the manual's tables, 1 is the on position. [(>{{wiki:hardware:motherboards:pc164sx:pc164sx_technical_reference_manual.pdf?linkonly|AlphaPC 164SX Motherboard Technical Reference Manual}}, pp. 2-4 to 2-6)] ^ Switch ^ Function ^ Settings ^ | SW1 CF0, CF1 | Bcache size | 1 MiB: CF0 on, CF1 off (default); 512 KiB: both off; 2 MiB: CF0 off, CF1 on | | SW1 CF2 | Password bypass | On requires the AlphaBIOS password (default); off bypasses and clears it | | SW1 CF3 | Mini-Debugger | On (default); off traps to the SROM Mini-Debugger before the flash ROM code runs | | SW1 CF4 to CF6 | CPU speed | 400 MHz: all on; 533 MHz: CF4 on, CF5 off, CF6 on | | SW1 CF7 | Boot option | On loads AlphaBIOS or SRM; off loads the fail-safe booter | ==== CPU ==== The 164SX documentation lists only two CPU speed settings, 400 and 533 MHz; the other settings are reserved and have been reported to yield 400 MHz. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1999-October.mbox#L4541|"164SX overclocking"]], Kurt Ludwig, axp-list, 5 Oct 1999)] No 600 MHz 164SX was ever made. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2008-November.mbox#L873|"searching for a wide alpha cpu heatsink"]], Jay Estabrook, axp-list, 5 Nov 2008)] ==== Memory ==== Both 64-bit and 72-bit (ECC) 100 MHz SDRAM modules are supported and must be installed in pairs. Modules up to 128 MiB are officially supported, but some 256 MiB modules also work. The following table lists some RAM modules known to work or not work with the 164SX board. ^ Vendor ^ Part # ^ Size ^ Chip # ^ Works ^ | Kingston | KVR133X64C3Q/256 | 256 MiB | D1608SV1R-75 | Yes | | Unknown | 2910103282 | 256 MiB | S80016LK7TW-75AD | Yes | | Unknown | Unknown | 128 MiB | 48LC8M8B4-8E | Yes | | Kingston | KVR133X72C3/256 | 256 MiB | HYB39S256800DT-7 | No | | Acer | 71.85325.111 | 256 MiB | HYB39S256800CT-7.5 | No | Unlike the [[hardware:motherboards:pc164lx|164LX]], the 164SX does not require ECC memory. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1999-April.mbox#L33282|"PC164SX system building questions"]], Tony Hoover, axp-list, 21 Apr 1999)] ECC is enabled only if all installed DIMMs are ECC modules, and the DIMMs in each pair must be identical. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/debian-alpha-mbox/2001-October.mbox#L1028|"164SX Memory"]], Christopher C. Chimelis, debian-alpha, 10 Oct 2001)] ECC and non-ECC modules should not be mixed. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2001-July.mbox#L36682|"164SX memory"]], Maurice Hilarius, axp-list, 26 Jul 2001)] As on the 164LX, 4x 256 MiB (1 GiB) is reported to work. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2003-January.mbox#L10815|"RAM for 164SX"]], Marco Benton, axp-list, 23 Jan 2003)] [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2004-September.mbox#L6386|"Memory Upgrade for 164SX"]], Jiann-Ming Su, axp-list, 30 Sep 2004)] Single-sided Hyundai HY57V28820HCT-H 128 MiB DIMMs were reported not to work. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2001-August.mbox#L1885|"164SX memory"]], Iso-H, axp-list, 6 Aug 2001)] ==== Power supply and cooling ==== The power supply requirements and the CPU fan connector are the same as on the [[hardware:motherboards:pc164lx#power_supply_and_cooling|AlphaPC 164LX]]: a 300 W supply is sufficient for a typical workstation, and the fan connector has a different pin order from PC fans, whose pins must be rearranged before use. A rewired PC fan ran on a 164SX, but the CPU would not start, because the board did not accept the fan's tachometer signal. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2002-January.mbox#L1167|"Need 164SX CPU Fan"]], Donald White, axp-list, 6 Jan 2002)] ==== Firmware ==== The flash ROM holds only one console image at a time, either AlphaBIOS or SRM. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1999-April.mbox#L37112|"Can't downgrade from SRM to AlphaBios on PC164SX ......"]], Thomas Leitner, axp-list, 23 Apr 1999)] The final releases are SRM V5.8 [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2002-January.mbox#L25599|"SUMMARY: SRM compatible UW SCSI controller"]], Jay Estabrook, axp-list, 30 Jan 2002)] [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2005-June.mbox#L1688|"Help needed for install on 164SX"]], Jay Estabrook, axp-list, 9 Jun 2005)] and AlphaBIOS 5.7. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2001-April.mbox#L5721|"SRM -> AlphaBios fails on PC164SX"]], KirkE, axp-list, 5 Apr 2001)] Switching from AlphaBIOS to SRM is done by copying ''sx164srm.rom'' to a FAT-formatted floppy, choosing Upgrade AlphaBIOS, and then power cycling the machine. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/tru64-unix-managers-mbox/2000-January.mbox#L17373|"SUMMARY: Linux --> Tru64 on AlphaPC 164SX"]], Gernot Salzer, tru64-unix-managers, 13 Jan 2000)] [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/debian-alpha-mbox/2001-April.mbox#L54|"Upgrading PC164SX firmware"]], Rich Payne, debian-alpha, 10 Apr 2001)] The ''SMMTABLE.TXT'' file on the V7.3 firmware CD lists SRM 5.8 as the last version for the board but names no update file for it (the entry is ''[ARCHIVE]NOFILE.EXE''). [(>''SMMTABLE.TXT'', Alpha Systems Firmware Update CD V7.3, 14 Mar 2007)] === SRM V5.8 hardware support === * SRM V5.8 supports the same Adaptec SCSI controllers on the 164SX as on the [[hardware:motherboards:pc164lx#srm_v5.8_hardware_support|164LX]]. * The console's BIOS emulator can initialize ATI Rage 128 and Radeon cards, which older Alpha consoles cannot. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2002-February.mbox#L20624|"ATI Radeon on PC164??"]], Jay Estabrook, axp-list, 27 Feb 2002)] PCI Radeon cards were recommended for the 164SX. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2002-September.mbox#L3927|"Well supported PCI graphics card for 164SX"]], Jay Estabrook, axp-list, 6 Sep 2002)] ==== Firmware recovery ==== On the 164SX, DIP switch 7 starts the fail-safe booter, which can update the console from a floppy. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/debian-alpha-mbox/2001-April.mbox#L1|"Upgrading PC164SX firmware"]], Craig Small, debian-alpha, 11 Apr 2001)] Switching from SRM back to AlphaBIOS can fail on the 164SX, as on the 164LX; a workaround is described on the [[hardware:motherboards:pc164lx#firmware_recovery|AlphaPC 164LX]] page. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1999-March.mbox#L64605|"AlphaPC 164SX, AlphaBIOS, and SRM"]], Eric Dittman, axp-list, 21 Mar 1999)] ==== Beep codes ==== * 6 beeps: checksum error when the image was read back from memory, reported on a 164SX with newly installed non-ECC DIMMs. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1999-February.mbox#L28484|"164sx beep-codes?"]], Danilo Godec, axp-list, 17 Feb 1999)] ==== Linux ==== Current kernels support the AlphaPC 164SX with ''CONFIG_ALPHA_SX164''; it boots from SRM with [[software:boot_loaders:aboot|aboot]]. [(>[[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/alpha/Kconfig?h=v7.3-rc1|arch/alpha/Kconfig]], Linux 7.3)] In 2016, Debian's generic 4.x kernels returned to the SRM prompt with "BOOT FAILURE" on the 164SX, while a kernel built for the SX164 booted, [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/debian-alpha-mbox/2016-February.mbox#L997|"can't boot kernel 4.x on SX164"]], Michael Cree, debian-alpha, 20 Feb 2016)] [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/debian-alpha-mbox/2016-February.mbox#L2246|"can't boot kernel 4.x on SX164"]], Alex Winbow, debian-alpha, 25 Feb 2016)] so a kernel built with ''CONFIG_ALPHA_SX164'' is the safer choice. * The PCA56 CPU corresponds to GCC's ''-mcpu=pca56'' [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2000-March.mbox#L39096|"different alpha cpu compatibility issues?"]], Jay Estabrook, axp-list, 28 Mar 2000)], and it was the first Alpha CPU to support the MVI instruction set extension. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2002-January.mbox#L563|"Playing DVDs"]], Jay Estabrook, axp-list, 3 Jan 2002)] The [[hardware:chipsets#21174|21174]] core logic supports byte and word access to I/O space, which the kernel enables. [(>[[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/alpha/kernel/core_cia.c?h=v7.3-rc1|arch/alpha/kernel/core_cia.c]], Linux 7.3)] * IDE: the onboard Cypress CY82C693 controller uses the ''pata_cypress'' driver, which supports DMA. [(>[[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/ata/pata_cypress.c?h=v7.3-rc1|drivers/ata/pata_cypress.c]], Linux 7.3)] Without DMA, the onboard IDE runs in PIO mode and heavy disk I/O severely degrades system performance. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1999-October.mbox#L16865|"IDE I/O slows down 164SX to a crawl"]], Andreas Krebs, axp-list, 12 Oct 1999)] * Cypress IDE DMA transfers can disrupt ISA devices (PCI devices are not affected). [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/2000-March.mbox#L44075|"PCI devices causing machine lockups on SX164"]], Ivan Kokshaysky, axp-list, 31 Mar 2000)] * The SMSC FDC37C669 Super I/O controller provides the floppy controller, serial ports, and parallel port; the Cypress chip provides the keyboard and mouse controller and the time-of-year clock. [(>{{wiki:hardware:motherboards:pc164sx:pc164sx_technical_reference_manual.pdf?linkonly|AlphaPC 164SX Motherboard Technical Reference Manual}}, p. 1-4)] They use the standard PC drivers: * Serial ports: ''8250'', at the standard PC addresses listed in the Alpha serial port table. [(>[[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/alpha/include/asm/serial.h?h=v7.3-rc1|arch/alpha/include/asm/serial.h]], Linux 7.3)] * Parallel port: ''parport_pc''; floppy: ''floppy''; keyboard and mouse: ''i8042''. [(>[[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/parport/parport_pc.c?h=v7.3-rc1|drivers/parport/parport_pc.c]], Linux 7.3)] [(>[[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/block/floppy.c?h=v7.3-rc1|drivers/block/floppy.c]], Linux 7.3)] [(>[[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/input/serio/i8042.c?h=v7.3-rc1|drivers/input/serio/i8042.c]], Linux 7.3)] * Clock: the Alpha platform code reads the time-of-year clock itself rather than using ''rtc-cmos''. [(>[[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/alpha/kernel/rtc.c?h=v7.3-rc1|arch/alpha/kernel/rtc.c]], Linux 7.3)] * USB: the Cypress chip includes a USB controller, which Linux detects, but its pins are not connected to the USB connector footprints on the board. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1999-February.mbox#L29728|"USB Ports on 164sx"]], Richard Henderson, axp-list, 18 Feb 1999)] ==== Known issues ==== * **Clock battery:** the DS1287-compatible real-time clock is backed up by a replaceable CR2032 coin cell at XB1. [(>{{wiki:hardware:motherboards:pc164sx:pc164sx_technical_reference_manual.pdf?linkonly|AlphaPC 164SX Motherboard Technical Reference Manual}}, pp. 2-3, 4-6)] Console settings that do not survive a power cycle usually mean the cell is exhausted; see [[hardware:systems#common_problems|Systems: Common problems]]. ==== Clones and OEM systems ==== * DCG Computers [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1998-January.mbox#L15655|"vendors selling 164SX systems"]], Scott Alexander, axp-list, 15 Jan 1998)] * Enorex [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1998-March.mbox#L17218|"Anyone with an Enorex PC164sx have problems with milo?"]], Racter, axp-list, 13 Mar 1998)] ==== Conflicting information ==== The following sources conflict with each other or with the account given above. They are listed here for further investigation. * **ECC memory requirement** * [[https://github.com/alphalinux/mailing-list-archives/blob/main/axp-list-mbox/1999-April.mbox#L33061|"Re: PC164SX system building questions"]], Eric Dittman, axp-list, 21 Apr 1999: "I tried a pair of non-ECC PC-100 memory on mine and they didn't work. I installed a pair of ECC PC-100 memory and they worked." * Later reports cited in the Memory section say non-ECC memory works. ==== Documentation ==== ^ Document ^ Part number ^ Date ^ | {{wiki:hardware:motherboards:pc164sx:pc164sx_windows_nt_user_manual.pdf?linkonly|AlphaPC 164SX Motherboard Windows NT User's Manual}} | EC-R57DB-TE | October 1998 | | {{wiki:hardware:motherboards:pc164sx:pc164sx_technical_reference_manual.pdf?linkonly|AlphaPC 164SX Motherboard Technical Reference Manual}} | EC-R57EB-TE | October 1998 | | {{wiki:hardware:motherboards:pc164sx:pc164sx_digital_unix_user_manual.pdf?linkonly|AlphaPC 164SX Motherboard DIGITAL UNIX User's Manual}} | EC-R8P7B-TE | October 1998 | | {{wiki:hardware:motherboards:pc164sx:pc164sx_product_brief.pdf?linkonly|AlphaPC 164SX Motherboard Product Brief}} | EC-R57CA-TE | May 1997 | | {{wiki:hardware:motherboards:pc164lx:alphapc_v5.3_firmware_release_notes.pdf?linkonly|AlphaPC 164SX/164LX/164 Motherboards Firmware Update Procedures, V5.3}} | | October 1998 | | {{wiki:hardware:motherboards:pc164lx:alphapc_v5.7_firmware_release_notes.pdf?linkonly|AlphaPC 164SX/164LX/164 Motherboards Firmware Update Procedures, V5.7}} | | March 2000 | {{gallery>:wiki:hardware:motherboards:pc164sx}} {{tag>hardware motherboard 21164pc digital}}