
                   YAMPP-3/USB CD Version with AUDIO CD support 
                    Romuald Bialy (alias MIS) <romek_b@o2.pl>

*****************************************************************************************
* THIS SOFTWARE SUPPORT STANDARD YAMPP-3 BOARD WITH CHANGED CPU TYPE TO ATMEGA161/2 AND *
* NEW YAMPP-3/USB BOARD WITH ATMEGA161 or ATMEGA162 CPU (in M161C comatibility mode).	*
* PRECOMPILED VERSION IS FOR YAMPP-3/USB, 12.288Mhz VS1001 CRYSTAL AND 2x16 LINES LCD	*
*****************************************************************************************

This is new yampp-3/USB firmware for use with an ATAPI CD-ROM and support AUDIO CD.

HISTORY:
-----------------------------------------------------------------------------------------
2006-05-01 - v1.51
-added multisession discs support with MP3 data discs
-----------------------------------------------------------------------------------------
2005-03-17 - v1.50
-sources changed for comptibility with WinAVR 20050214

!!! Sources designed for compilation with AVR-GCC 3.4 
    (version: WinAVR-20050214-install.exe)
-----------------------------------------------------------------------------------------
2004-12-25 - v1.12
- adding autodetection of MASTER/SLAVE device. 
  Now jumper position in CD-ROM drive is not important.
- Fixed playing hangup at end of last audio track (with audio CD).
- Edhanced and fixed Random and Repeat modes.
- code cleaning
-----------------------------------------------------------------------------------------
2004-02-18 - v1.11
- definitivly changed method of manual Eject detecting. Now should work on all CD-ROM's.
- added trap for damaged disc reading. Now player don't lock, but skip bad block, and
  try continuing playing from next block.
- added displaying "Wrong Disk" if inserted CD is data CD without any MP3 file on it.
- fixed compatibility problems with CD burned in Linux.
-----------------------------------------------------------------------------------------
2004-01-10 - v1.10
- added constant for Audio CD F.FWD and F.REW skip time select.
- improved randomizer.
- fixed accidentally tray opening during playing.
- change compiler version !!! This firmware is designed for compilation with AVR-GCC 3.3 
    (version: WinAVR-20030312-bin-install.exe) !!!
- succesfully tested on y3 board with upgraded CPU to ATmega161(162).
-----------------------------------------------------------------------------------------
2003-09-15 - v1.06
- fixed compilation errors with 4x16 LCD
-----------------------------------------------------------------------------------------
2003-05-03 - v1.05
- added three Repeat modes: Whole CD, One Song and One Dir. Of course audio CD's 
  not have Dir repeat mode.
- added configurable method of CD-Eject detection. If one not work, uncomment
  #define ALT_EJECT_DETECT in Constants.h file.
- added support for sleep timer control. Need external hardware for turn-off
  yampp power source.
- added a Function event for all options be accesable from local keyboard. Press Function
  key several times for find needed function, and change value with pressing Play key.
- fixd bug in ATAPI "GetDataFromCD" function
- fixed bug in setup remote codes procedure (i forgot any call to this procedure)
-----------------------------------------------------------------------------------------
2003-04-01 - v1.04
- fixed progressbar flicker during fast rewind
- better remain time presentation on VBR files, but stay not perfect
- on VBR files bitrate displaying value is updated continously
- fixed manual tray opening detection with some models of CD-ROM drive.
- slow down the CD-ROM before reading TOC from CD.
- enlarge MP3 playing buffers size to 2x4096 bytes.
- changes in ATAPI functions, change timeouts, error control ect.
-----------------------------------------------------------------------------------------
2003-03-16 - v1.03
- fixed bitrate displaying in some songs with bad header
- added firmware scan tag for yamppLink firmware updating support
-----------------------------------------------------------------------------------------
2003-02-23 - v1.02
- added Fast Forward and Fast Rewind search during Audio discs playing.
- added new version of vs1001 equalizer with 12 presets
- songtime calculation based on song bitrate readed from vs1001
- better songtime calculation during Fast Forward and Fast Rewind
- improved visualisation on 4 lines LCD
- added bitrate displaying on two lines lcd's and 4x20 LCD
- added national characters conversion on Joliet volumes (see Constants.h)
- added time mode storing in eeprom
- improved directory caching
- fixed Directory searching
- fixed Directory Name displaying after new disc is inserted
- fixed Audio CD recognization
- changed uart baudrate to 115200
-----------------------------------------------------------------------------------------
2003-01-20, Version 1.0 Beta - initial beta test version.

Features with MP3 discs:
- Reads ISO9660 and Joliet discs ( NO MULTISESION SUPPORT ).
- On multisesions disc - read first session.
- Search for MP3 files in root directory and all subdirectories.
- Support maximum 4096 songs on disc.
- Selectable read speed from x1 to x16 (preffered x4)
- Pause mode.
- Two Random modes: on whole disc or within one directory.
- In random mode keys "Next" and "Previous" do randomize.
- Next, Prevous, +10, -10, NextDir and PrevDir song navigation.
- Fast Forward and Fast Rewind search.
- Fast MP3 song load inside one directory.
- Direct number song enter from numeric key on remote controller. 
- Autorepeat on remote controller keys: Volume Up/Down , Fast Forward and Fast Rewind.
- Progressbar and songtime displaying for current song.
- Remain time mode.

Features with Audio discs:
- Read digital AUDIO discs. No multisesion mixed disc support.
- Playing via CD-ROM audio output.
- Support maximum 99 songs on disc.
- Pause mode.
- Random mode.
- In random mode keys "Next" and "Previous" do randomize.
- Next, Prevous, +10, -10, song navigation.
- Direct number song enter from numeric key on remote controller. 
- Progressbar and songtime displaying for current song.
- Remain time mode.

Other:
- CD tray OPEN/CLOSE from button in CD-ROM or remote.
- Easy setup remote codes option.
- Trap for quickly repeated codes from some remote controlers.
- Support for older that "K" version of VS1001 chip
- Support for 2x16, 2x20, 2x24, 4x16, 4x20 LCD displays. 
- Support for automatic audio source switch.

WARNING: (not important from version 1.12 of firmware)
Atapi CD-ROM must be jumpered to MASTER position. Be sure to change the jumper from
CD-ROM default slave position to master.

-----------------------------------------------------------------------------------------

For use with AUDIO CD you must make any audio output switch for selecting audio source.
First source is VS1001 chip while playing MP3 files, second source is CD-ROM unit audio 
output. Firmware use free port line (PD2 on y3/usb board or PD4 on standard y3 board)
for automatic source switching. This line go to high state if yampp detect AUDIO CD,
and go to LOW state if detect data CD with MP3 files. Audio switch can be done on any
analog multiplexers chip like CD4052, CD4053, CD4066, or simple mechanical relay plus 
one NPN transistor and one 10k resistor for relay coil control.

-----------------------------------------------------------------------------------------

							Best Regards,
							    MIS
