My retro computer project with PcChips M559

Navigation:

PcChips M559 with HOLTEK HT6552IR PcChips M559 with HOLTEK HT6552IR

My summary on the UT85C501 chipset page was: the memory and the IDE interface are quite slow.

Why should I build up a retro computer with so kind of motherboard? The answer is simple: I like things that are not mainstream...

In addition to the chipset, the motherboard also demands a willingness to compromise - it is a PcChips board that didn't get better just because it was in a closet for 20 years...

Do you want some examples?

Facts

Manufacturer:PcChips / version with HOLTEK HT6552IR
Year of manufacture:February 1998
Bios-String:51-0225-001437-00101111-071595-559-001_10_UTRON-F
Bios:AMIBIOS 559_V65_19990225S
Chipset:VXPRO-II HT82C371USB-II (52/1997)
VXPRO-II HT82C437VX-II (49/1997)
Manual:559v53mu

Strong points:

Weak points:

Operation system for the board

The choice is very simple here for BSD fans: OpenBSD because NetBSD or FreeBSD have no driver for the (generic) PCI-bridge of the board anymore (and so you couldn't use any PCI-slots...).

Puffy artwork for OpenBSD 6.8

I used OpenBSD 6.8 from 2020 with the generic kernel for all measurements. I switched off all not needed demons and functions (no kernel reordering, no random libraries...) to start it with a 200MHz CPU and 128MB RAM.

What is the best CPU?

If we won't to overclock the PCI-bus (and gets some troubles) the highest bus speed is 66MHz. The maximum CPU clock is in further consequence 200MHz (because the highest multiplier is 3x).

Now if you fear you don't have enough choice - you have:

CPUs for PcChips M559

I don't respect any Pentium rates or launch dates - I tested all which run with 200MHz. I also included two predecessors: the fastest AMD K5 and Cyrix/IBM 6x86 to have a feeling for the ongoing development.

All measurements are documented here.

First the integer performance: the AMD K5 is the highlight for me here because it has with 117Mhz clock nearly the same calculation power as an Intel Pentium MMX with 200MHz:

Dhrystone 2 performance of different CPUs on PcChips M559

A look at the floating point calculation power of the AMD K5 puts the picture into perspective. Intel was the undisputed leader here with its Pentium:

Mega flops performance of different CPUs on PcChips M559

Note: the relatively bad performance of the Rise MP6 must be caused by the motherboard. Normally, on a 100MHz Super-socket 7 board Rise wins easily against Cyrix at 200MHz (Dhrystone and MegaFlops).

Are we smarter now with the synthetic benchmarks?

I want to use this retro computer to digitalize my CD collection and to store them into a compressed and/or lossless format. Which mix of floating point and integer calculation power do I need for this task?

And there is also so kind of esotericism: when I work with OpenBSD it seems the Cyrix MX and MII processors performance best with the mainboard - in contrast to the results of the synthetic benchmarks?!

I created here my own "benchmark": I played a song in Ogg-Vorbis and FLAC-format and measure the system reserve with "systat cpu".

The results are surprising:

Playing an ogg-vorbis file with different CPUs on PcChips M559

The Cyrix processors do the job best (with the highest system reserve) - in this case my feeling wasn't wrong...

The processors with a system reserve of zero can't play Ogg-Vorbis on this system without interrupts. But you can play FLAC files with all processors:

Playing a FLAC file with different CPUs on PcChips M559

Fast Page Memory (FPM) or Extended Data Output (EDO) memory?

The motherboard supports EDO-RAM but it can't generate a real benefit with this technology:

EDO or FPM - it doesn't matter on PcChips M559

PCI IDE controllers

Tested PCI IDE controller on PcChips M559

We can't do anything against the slow memory interface but we can use an Ultra-DMA PCI controller to boost the hard disc access:

Performance of different IDE controllers on PcChips M559

50% more performance means: the PCI controllers need the half time for a transfer in comparison to the onboard IDE controller.

The ITE controller isn't shown in the chart because a connected hard disc doesn't boot in combination with the M559 motherboard.

The ARALION controller would work together with the M559 but OpenBSD hasn't a driver for it...

Retro computer setup

Hardware: Reason: Alternatives:
Motherboard PcChips M559 with 128MB FPM and Cyrix MII-300GP PcChips M559 has a CMI8330 ISA sound card on board. The Cyrix processor works fine together with this mainbaord. EDO RAM would be also possible. An AMD K6 or an IDT WinChip2 with 200MHz are also an excellent choice.
Sil0680 PCI IDE controller To compensate the slow IDE interface of the board. My card has two LED outputs: for primary and secondary IDE channel. HighPoint HPT370 or Promise Ultra100 card
NEC ND-1300A DVD burner (connected as master to the primary channel of the onboard IDE-controller) Speed is not so a big topic here but I can boot so from a CD/DVD for an OS update (in contrast to the PCI IDE controller which can't boot from CD) Other DVD/CD drives would do also a good job (burners have a negative reputation for audio CD reading but the NEC and a tested TRAXDATA CDRW481248Plus work fine in combination with the program cdparanoia - no jitter, no reading errors...?!)
An IDE to CompactFlash bracket For a fast data exchange, connected with the second channel of the Sil0680 controller. Well, an USB 2.0 PCI card would be an option but it doesn't fit into the time of the M559...
OPTi FireLink 82C861 USB1.0 PCI card I didn't get any serial mice up and running in combination with the X.org server (console works with wsmoused). Not needed if you use the console only. USB2.0 card: see above. Additional, USB2 needs more resources...
ATI Mach64 PCI card with 2MB RAM It is still supported by OpenBSD's X.org implementation but needs a xorg.conf file to generate a feasible screen resolution. OpenBSD supports the following X.org video drivers: xf86-video-amdgpu, xf86-video-apm, xf86-video-ast, xf86-video-ati, xf86-video-cirrus, xf86-video-intel, xf86-video-mach64, xf86-video-mga, xf86-video-nv, xf86-video-openchrome, xf86-video-r128, xf86-video-savage, xf86-video-siliconmotion \ xf86-video-vesa, xf86-video-geode.
REALTEK RTL8139 100MBit PCI card It needs less space. Any other network card which is supported by OpenBSD... :o)

The housing is a standard desktop with a little bit case modding for poor people... :o)

Standard desktop with a little bit case modding

I cut a hole into the cover of the housing and glued a acrylic glass on the backside of the cover.

I also mounted some cheap LED-stripes (they shouldn't be very bright) around the acrylic glass.

Finally I re-painted the metal housing with white radiator color because it fits the "computer white" quite good:

The acrylic glass in the top of the case

Tuning of OpenBSD

OpenBSD has a lot of secure and good features but some of them are fatal for a 200MHz system. So I had to strip it a little bit:

File: Reason:
/etc/rc The commands "reorder_libs" and "reorder_kernel" were commented out because it takes very long on such a kind of computer. I think this is okay because you wouldn't use the system as an 24/7 server and you have, nevertheless, an unique kernel generated during the installation process...
/etc/rc.conf.local I commented out here all not needed services to safe CPU power.
Customer kernel The OpenBSD guys don't really like kernels other than "GENERIC" because a (bad) customized kernel can generate a lot of questions or requests. The GENERIC kernel has 14.228MB which is quite a lot for a system with only 128MB RAM. I tested it and commented out all what I don't need on this computer (no SCSI, no WLAN, only my LAN card...but APM, ACPI and one I2C module are necessary - otherwise the kernel can't be linked). The final result: a kernel with only 4.692MB.
X.org configuration for a graphic card with 2MB RAM OpenBSD trusts fully the auto-configuration of X.org which generates for a graphic card with 2MB video RAM a screen with 800x600 pixels at the highest color resolution. My LCD-monitor has a resolution of 1280x1024 pixels which is still possible with 2MB RAM but you have to decrease the color depth to eight bits (or 256 colors). The configuration file mentions only the graphic card, the monitor and the screen section - no keyboard or mouse is needed because they are automatically added.

Summary

Well, an optimized retro-computer project generates a lot of work (see above... :o) ) but finally I built up a really nice working system...

I will feat it now with my audio CD collection to backup them for the next years...


falk.richter*at*yandex.com
Last update: May 22, 2021