The "DOS Head Unit"
Introduction

Current head units while starting to support USB drives and MP3/WMA
files have a few drawbacks - firstly there a limits on the number of
files that can be accessed by various media, secondly they are
painfully slow loading files, and thirdly they are yet to support
lossless music files (excluding the Phatnoise Phatbox). My aim was to
produce a music player capable of playing both lossy (MP3/WMA/etc) and
lossless media (FLAC/APE/WAV) for the price of a cheap headunit.
Things high on my list were a fast loading time, fast song change time
and low resource requirements. Low on the list were a fancy colour
screen, touchscreen, etc.
Software
My first task was to find any software capable of undertaking this
task. After playing with varying versions of Windows, ignoring Linux as
I'm not capable of a well stripped down install, and ignoring BeOS/Zeta
due to possible hardware compatability issues, I came to DOS (MS-DOS,
DR-DOS, FreeDOS, they are all pretty much identical). In DOS I had an
operating system with a fast boot time, practically zero resource
overheads, and is damn easy to use.
The downside of DOS was the realisation of "Where the hell am I going to
find a modern media player for it?" After painstaking browsing I
finally happened across a website linking to the strangely titled
application - MPXPLAY.
Looking at the features it supported all the files I was interested in:
AAC (Advanced Audio Coding from http://www.audiocoding.com (in RAW/ADTS/ADIF fileformats))
MP4/M4A (MPEG4 container (only AAC in MP4 is supported))
AC3 (Dolby AC3 from http://ess.engr.uvic.ca/~aholtzma/ac3 and http://www.dolby.com)
APE (Monkey's Audio from http://www.monkeysaudio.com)
DTS (Digital Theatre Systems from http://www.videolan.org/dtsdec.html)
FLAC (Free Lossless Audio Codec by http://flac.sourceforge.net and http://ffmpeg.sourceforge.net)
MP2,MP3 (Audio MPEG Layer II/III from http://www.mpg123.de)
MPC (MPEGPlus/MusePack from http://www.uni-jena.de/~pfk/mpp)
OGG (Ogg Vorbis from http://www.xiph.org)
WAV (uncompressed wave files)
CDW (Audio-CD 'ripp and play' on the fly)
It also supported many types of playlist. The next thing to grab me on
the spec list was the support for LCDs. Not the 7" colour screen type,
but the old fashioned text mode type with the dot-matrix style makeup.
The price difference between a modest colour screen and one of these
old style LCDs was around £100 so there was a major saving. Another
advantage was the system requirement list for various files: MP3
playback only required a 486, and the most system intensive files, DTS,
only required a Pentium II - opening up the avenue of using cheap
hardware. While the list of supported soundcards was limited it claimed
to support anything SoundBlaster Pro compatible, which most cards are.
To enable MPXPLAY to display long file names, DOSLFN was used.
Hardware
The next stage was to procure hardware. While my first plan was to use an
old Pentium 200MMX motherboard and CPU I had laying around alongside a
SoundBlaster AWE32 soundcard, I soon ran into difficulties what with
them being too large to feasibly fit into my Toyota MR2. I needed a small
motherboard and I wanted it to be cheap!
The answer was the VIA EPIA 5000 motherboard running a 533 MHz Eden CPU.
It was easily up to the job at hand while only measuring 17cm x 17cm x
4.5cm - small enough to fit into the DIN slot in a car.
While hardly a powerful machine it was more than up
to the task at hand. I needed memory for it which came in the form of
an old 128MB stick of SDRAM I had lying around.
After the hardware to run the software I needed a power supply for it.
While it's possible to use a 12V-240V inverter and a normal PC PSU it's
incredibly wasteful of space in the car, and is generally frowned upon electrically.
The solution there came in the form of the M1-ATX PSU, it only weighs in at 90W but that's enough to
power the motherboard, and a couple of regular PC hard drives, or a
couple of laptop hard-drives and a laptop CD drive.
To store the music I needed a hard drive, so I purchased a 40GB laptop
drive with an adaptor to use it with a regular pc.
Finally I got the screen, it's an inexpensive Hitachi HD44780 based screen that runs
from the parallel port on the motherboard and features a 20 character
wide, 4 line display.

All in all the raw parts cost weighed in around £170.
Construction
Assembling the parts was easy. The power supply itself takes a live,
ground and ignition feed from the car to run, and it gives a remote out
when it is on. The PSU connects to the motherboard via a regular ATX
power lead and there are a set of jumpers that can be connected to the
motherboard's power switch pins that allows the PSU to turn the PC on
and off.
Once assembled the hard drive was put into my desktop PC where
it was formatted as FAT32 and MS-DOS 6.22, DOSLFN and MPXPLAY were
installed. The mpxplay.ini and autoexec.bat files were configured
(explained later) and saved on the drive. Then music files were copied
across. Once complete the hard drive was put on the rig and it was test
booted from a car battery, whereupon all worked fine. At this stage I
was using a keyboard to control the software, and was testing
compatability with a SoundBlaster Live card.

*Advert* Tiny ARTiGO Pico-ITX Kits! *Advert* Plenty in stock at the Mini-ITX.com Online Store. We serve the UK, Europe, USA and beyond. Order in-stock items before 7.30PM GMT and we'll ship same day! |
|
|