2014 Retrochallenge Winter Warmup, Retrochallenge

2014 Retrochallenge Winter Warmup – Post 01

(This is part one of the chronicle of my 2014 Retrochallenge Winter Warmup submission.  The mediocrity starts here.)

A2MP3 Project: Synopsis

The A2MP3 is a creation of retro-engineer Vince Briel. It’s a peripheral card for the Apple II/II+/IIe/IIgs and allows the Apple II to programmatically control an embedded VMusic2 MP3 player created by Future Technology Devices International Ltd which itself is plugged onto the back of the A2MP3 card. (whew). Audio files are stored on a USB storage device such as a thumb drive. Audio output is sent to a phone jack on the VMusic2. The intermediary between the Apple II and the MP3 player is the workhorse 6551 chip – created to enable UART serial communications for 6502-based systems.

A2MP3The VMusic2 device is a member of F.T.D.I’s Vinculum family of the USB host controller devices. These devices listen for and respond to control commands delivered across its UART signal lines. For example, the command “V3A” will tell the VMusic2 to play all tracks; “VP” will pause playback.

A2MP3-backIncluded with Briel’s A2MP3 kit is a sample Applesoft program and an assembly-language program that work together to provide a menu-driven user interface and sends MP3-specific commands to the VMusic2 device.

However the 15 or so MP3-specific commands are a superset of the commands common to all devices in the Vinculum family. Most interesting to me are commands related to file operations on the USB storage device, such as “MKD” to create a directory or “OPW” to open a file for writing. Just look at all the other commands available in the firmware.

Vinculum Firmware User Manual

With this knowledge it seems possible to transfer a disk image from a physical floppy disk to the USB storage device on the VMusic2 using the following process:

  1. Open a file for writing on the VMusic2 USB storage device using its “OPW” command.
  2. Read a sector from the Apple II floppy disk into RAM using the Read Write Track Sector (RWTS) API included in Apple’s DOS 3.3
  3. Write the data from the Apple’s RAM to the VMusic2 USB storage device using its “WRF” command
  4. Repeat steps #3, #4 for all tracks/sectors on a floppy
  5. Close the file on the VMusic2 USB storage device