The design goal is to provide an elegant and practical one-box design while containing costs. Based on the components recommended in Chapter 5 and Zalman’s HD160XT home-theatre PC case, the project implements in full the configuration options discussed in this paper. It provides easy access to a full music library and user-friendly remote operation. The design aims to:
- Ensure bit-perfect delivery of precision-upsampled (24/192) data via a soundcard to an external DAC with no compromise in jitter performance.
- Eliminate hard disk activity during playback without the inconvenience of manually copying data into a virtual (RAM) drive. Advanced RAM playback is based on system’s available physical RAM (as reported by Task Manager or Process Explorer). This means up to 4GB (XP’s limit) can be used allowing for 24/192 RAM playback. Using 1GB RAM yields available physical RAM of ~830MB - enough for any CD at 16/44.1. cMP achieves memory playback via the system cache and not through a simulated virtual drive. This approach removes Windows disk I/O overheads (irrespective of whether disk is physical or virtual) hence, it’s more optimal.
- Provide the optimum platform for cPlay (or other players). cMP's open architecture allows for any player to be used: Foobar2000, XXHighEnd, Winamp, etc.. The player just needs to handle cue files like foobar2000 (otherwise just play entire wav or flac files).
- All cue files are processed by cMP which means the player focuses only on playing the media. In Foobar2000, the album list control component is not needed. In ‘techno speak’ this is called separation of concerns.
- No proprietary / lock-in stuff. Your entire library that you so diligently ripped is fully compatible with cMP˛. Just point cMP to your music folders containing cue files. cMP supports any content file as long as cue files are defined for them. For flac content files, the known EAC bug of adding an additional ‘.flac’ suffix to the content file’s name must be removed (otherwise your cue’s content file directive will not be found).
- Provide a CD/DVD-ROM drive without degrading sound quality. For the purist, this can be excluded.
- Provide full function remote control using a wireless mouse. The entire library can be navigated: play any media, exit it, jump to any track or change volume. This is achieved using just ONE mouse button: the Wheel! Use the mouse as a normal one (left-click) or hold it in your hand (like a remote control) and wheel away using your thumb. Of course other buttons are used for more convenience. There’s no need to find that tiny mouse cursor and left click!
The design utilises high quality power supplies and invokes a series of measures aimed at making the operating system’s footprint smaller even than that of the ‘embedded’ operating systems used in comparable commercial designs.
Further design and measurement information is provided in chapters 1 to 4:
- Why PCs? explains the rationale for exploiting advanced and cost effective PC technologies to achieve high quality audio playback.
- Upsampling correctly remains a significant challenge. Insights on some of the open source technologies used is covered together with a wider discussion on what is meant by the term upsampling.
- Jitter is certainly the scourge of digital audio. cMP's jitter performance is provided.
- Bit Perfect? delivery is measured.
The picture shows the back of the Zalman case and illustrates the use of two mains power connectors, one for the motherboard PSU and a second for ‘dirty’ PSUs powering disk drives and ancilliacies such as the USB backplate. The cable connecting the display to the on-board graphics controller is also visible.
The motherboard’s USB ports are used only for USB-based soundcards if fitted – a USB backplane is fitted to connect external drives and the wireless mouse receiver. It is separately powered.
The soundcard is the $150 ESI Juli@. The manufacturer recommends rotating its analogue PCB for best sound quality but here it has been removed to eliminate interference from the analogue circuitry: the board handles digital data only.
It can act as the clock master (see Chapter 3) and its excellent ASIO drivers offer latency down to 48 samples (0.5ms at 24/96).
Inside the case there are no fans (the four supplied with the case have been removed). The design features heat pipe technology for fanless CPU cooling – a passive Thermalright cooler can be seen next to the main PSU (bottom left).
The Granite Digital PSUs that power the disk drives, touch screen and peripheral devices (including USB) are secured under the CD/DVD-ROM drive and 2.5” disk drives are mounted with adapters in the 3.5” drive bay, top right.
Cabling for the front panel buttons, USB and Firwire interfaces, temperature sensors, fans, etc have been discarded. The USB backplate’s connectors are modified so that they are powered by the Granite Digital PSUs to reduce USB bus noise.
Building your own cMP˛ is fun and hugely rewarding. Detailed instructions are covered within well structured chapters that are easy to follow and informative. Should you need clarification or help, simply post at the relevant forum (cMP or cPlay) where many other cMP˛ users will share their experiences and offer assistance.
The journey begins at chapter 5.
Step 1: Components (Chapter 5)
provides an exhaustive list and useful links to all the items needed for the build. This requires some investment on your part (~$1000). An alternative is to use an existing Windows PC to experiment and learn.
Step 2: PC Build
- Assemble above components.
- Install Windows XP SP2/3 Professional (other versions can be used but is not recommended). Be sure to use at least 1GB of RAM. Lower RAM can only be used once cMP˛ is fully built (many optimisations allow for a significant reduction in memory thus enabling RAM as low as 256MB to be installed). Do not install the fanless CPU cooler until BIOS settings are in effect (that enable low power consumption and temperature). Instead use Intel's supplied fan based cooler.
- HTPCs often supply additional items (like media centre software, remote control, etc.) which must be ignored! Only perform the following installation using the mobo supplied CD:
- Mobo chipset drivers,
- USB drivers, and
- Video & LAN drivers (these are optional items).
Using the HTPC installation CD, install Touch Screen software (only connect touch screen's USB connector to mobo header when prompted by the installer).
- Check DPC Latency performance. An important validation of mobo quality and installation is DPC latency. Download DPC Latency Checker and run it. Take note of the latency performance before optimisations. An ideal setup would show DPC latency of less than 5 µs (the case below shows consistent performance of 1-2 µs). Excessively high latencies suggests either the Windows installation is incorrect (e.g chipset drivers not installed or other device driver issues) or the mobo is faulty.
- Perform BIOS setup. New components will need some burn-in period before reaching lower voltage and frequency settings. Expert users can choose to perform BIOS setup before installing Windows.
- Install soundcard using supplied instructions. Be sure to use latest drivers (check manufacturer website). For PCI soundcards, use slot #1 (closest to CPU) as this ensures a dedicated IRQ (chapters 7 & 10).
Step 3: Windows Optimisations
- Chapter 7 Perform optimisations using the Control Panel, Device Manager and Registry Editor.
- Chapter 8 Perform low level operating system optimisations using the Autoruns utility.
- Chapter 9 Perform Windows Kernel level optimisations.
- Chapter 10 Optimise soundcard.
Step 4: cMP software
cMP's software can be downloaded and installed on any PC with or without any of the optimisations described here. Be sure to read the instructions
on how to use and setup the software. Only set 'cMP Mode' when the Welcome Screen is disabled
otherwise your system will not start the cMP shell (an unfortunate Windows quirk).
Step 5: Advanced
provides important options to further improve your cMP˛. Minlogon, although risky, is highly recommended together with PSU modifications.
Congratulations, you're done!
Setting up Windows XP Professional (SP2)
Although the final setup does not need a CD-ROM, one has to be installed (and the BIOS set to boot from it) to load the operating system. Insert the CD and boot. The installer will prompt for a RAID driver. If appropriate, press F6 and, when prompted, S to load it from floppy. RAID is not an essential component and only improves RAM load times.
Setup will prompt for partitioning and formatting instructions. It is suggested that the boot disk is partitioned into a system drive of, say, 5 GB and a data drive occupying the rest of the space. A system partition can be backed up with an imagefile utility such as Norton’s Ghost or the excellent Snapshot. Data are safer for being kept separate from the operating system.
After partitioning, disks need to be formatted. Use NTFS with default settings for the system drive but set the allocation unit to 64 kB for the music drive. (Music files are large and the large size makes for slightly more efficient use of space and a small reduction in overheads.) Once Windows has finished loading, install the chipset drivers.
Some audiophiles argue that Windows Vista is better for audio than XP. The native audio software has undeniably improved but, as it is by-passed here, this is of little relevance. XP SP2 Professional is used because its settings have been exhaustively tested.
Design-specific changes to Windows
cMP˛ assumes a minimum screen resolution of 1024x768. These changes allow for easier viewing when using the HTPC's 7" touch screen.
- Change Video Settings to 120 DPI for clearer and larger text.
Control Panel > Display > Settings Tab > Advanced Button > General > Set DPI to 'Large size (120 DPI’. Answer Yes to prompt and restart Windows
- Set the Display to use an Extra Large Font. For a seven-inch touchscreen, this makes a big difference:
Control Panel > Display > Appearance Tab > Set Font size to Extra large