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:
MUSICDIR / \ 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:
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:
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.
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)
DOS (tested on MSDOS 7.1 and FreeDOS 1.2)
MPXPlay 1.62 (will probably work on MPXPlay 1.57 and later)
- Make a directory (e.g. c:\player )
- Add this directory to the path statement in the autoexec.bat
- Download and unzip MPXPlay 1.62 into this directory
- Edit mpxplay.ini and configure it as follows:
- Set MaxFilenames in mpxplay.ini to a non-zero value thats greater or equal to the largest number of music files that you'll have in a directory. The default for older versions of MPXPlay is 9999.
- Set StartupType to 7 so that MPXPlay can pick up when it left off when pressing stop/play.
- Download and unzip VCC to the same directory
- Make a music directory, then create the appropriate directory structure, as described above.
To make VCC startup automatically every time the machine
is booted, add the following lines to the autoexec.bat:
Replace playerdir and musicdir with the names of the directories that you made for the player and the music.
Line1: Band Name
The following info is displayed, by default, on the 20X4 LCD:
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:
- Download, install and configure Com0Com
- Download the signed version of Com0Com from here.
- Run the installer program
- Click "Next" and agree to the license
- Under "Select components to install", de-select "CNCA0 < - > CNCB0", then make sure "COM# < - > COM#" is selected. Click "Next."
- Enter the install location, or accept the default location, then click "Install."
- Make sure the "Launch Setup" checkbox is checked, then click "Finish."
- The setup program will have one pair of COM ports created: COM3 and COM4. Click on "Add Pair" to create a second pair of COM ports.
- The second pair of COM ports will be named CNCA1 and CNCB1 (or similar). Change the names to COM5 and COM6, then click "Apply."
- Download and install LcdEm
- Download the latest version of LcdEm from here.
- Create a folder for LcdEm.
- Unzip the zip file to the folder you just created.
- Download and install GPSim
- Download the latest version of GPSim from here.
- Create a folder for GPSim.
- Unzip the zip file to the folder you just created.
- Download and unzip the latest preconfigured virtual machine for VCC
- Download the latest version of preconfigured virtual machine from here.
- Unzip the zip file to a folder where you keep your VMware virtual machines.
- Run LcdEm. Change the port to COM3, then click "Start."
- Run GPSim. Change the port to COM5, then click "Start."
- Boot the virtual machine
- Run VMware Workstation 12 Player.
- Click "Open a Virtual Machine."
- Browse to the folder where you unzipped the virtual machine earlier, select VCC3.vmx, then click "Open."
- Click "Play Virtual Machine."
- On the "This virtual machine might have been moved or copied" dialog click "I Copied It."
- Type "Y" at the "Start VCC" prompt.
- You should see disc/track information displayed in LcdEm. In GPSim, click on the "2" button. You should hear music start to play.
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
Copyright © 2001-2023, Brent Harris
All rights reserved.