VCC - Virtual CD Changer for DOS

VCC is the custom frontend software that I wrote specifically for my car computer. It consists of two parts:
-- a front-end program which handles the directory navigation
-- a tsr program which remains active while MPXPlay is running

The music is organized in a two-level directory structure. From the music directory I use a directory for each letter of the alphabet. Inside the directories is subdirectory for each album:

                 /          \
                A    ...     Z
               /              \
          ACDC1      ...       ZZTOP3
         /     \              /      \
       01.wav...10.wav    01.mp3...10.mp3

The music directory can be in any place, but requires this structure for the software to function properly. The navigation is entirely directory-based. This eliminates the need for playlists and the hassle of maintaining them. This system works like a 26-cartridge CD-changer would, assuming the CDs are grouped alphabetically. Short filenames are used for both the music directories and the sound files.

Track and disc info are stored in two text files: fileinfo.txt and discinfo.txt. Discinfo.txt is used for disc naming. Fileinfo.txt is optional. If the file is present is will be used for track naming. If it's missing, track naming won't work unless the music files are tagged.

An example fileinfo.txt is as follows:
01.FLA AC/DC:Jailbreak
02.FLA AC/DC:You Ain't Got a Hold on Me
03.FLA AC/DC:Show Business
04.FLA AC/DC:Soul Stripper
05.FLA AC/DC:Baby Please Don't Go

While putting the band name on each line is a bit redundant, MPXPlay doesn't see it as a valid list-file without it.

Likewise, discinfo.txt looks like this:
'74 Jailbreak

The advantage to using text files is that no special utilities are needed to update any of disc / track information. Your favorite text editor will do the job.

Hardware Requirements:
Logitech Precision Gamepad (or similar) connected to a Hobbyronics USB host controller board, as described on the DOS USB Gamepad page
Matrix Orbital 2041 (or similar) serial LCD display
Pentium Class PC (a Pentium 75 or better)

Software Requirements:
DOS (tested on MSDOS 7.1 and FreeDOS 1.2)
MPXPlay 1.62 (will probably work on MPXPlay 1.57 and later)


To make VCC startup automatically every time the machine is booted, add the following lines to the autoexec.bat:
cd c:\playerdir
c:\playerdir\frontend.bat c:\musicdir

Replace playerdir and musicdir with the names of the directories that you made for the player and the music.


[Logitech Precision Gamepad]

The following info is displayed, by default, on the 20X4 LCD:

[20X4 LCD in action]  Line1: Band Name
 Line2 : Album Title
 Line3: Track #  /  Track Title
 Line4: Time / Spectrum Analyzer / Bitrate or compression percentage

Testing in VMware Workstation 12 Player:

DOS, MPXPlay, and VCC can be run inside of a virtual machine. The LCD and gamepad can also be emulated in software. The process for getting this to run on a 64-bit version of Windows (without using any special hardware) is as follows:

[Screenshot of VCC, LcdEm, and GPSim]

If you plan to experiment with this for any length of time, you'll want to supply your own music. To avoid potential legal hassles, I trimmed all of the audio files down to 30 seconds in length. You can transfer files by enabling the "Shared Folders" feature in VMware, and using the "VMFTP" utility, included in the "C:\VMWARE" directory. See "VMFTP.TXT" or this link for instructions.

Last Update: 10-02-2018