Another CD Player Version 1.12 12/16/96 ***** Xmas Edition ***** Program and documentation written by Andr s K‚kesi E-mail addresses: keki@goliat.eik.bme.hu keki@atlantis.bme.hu FastMem Unit (version 3.2) written by Robert Rothenburg Walking-Owl E-mail addresses: robert.rothenburg@asb.com rrothenb@ic.sunysb.edu 1. Introduction 2. Requirements 3. Getting started 4. Features 5. Initialization 6. Interactive mode 7. Command line mode 8. Troubleshooting 9. Hot key summary 10. DOS exit codes 11. Future versions 12. History 13. About the author 1. Introduction If you want to know what's new since the previous release, see chapter 12.. ACP is a full feature, text-screen CD player for DOS. It has many useful features like EGA and VGA video modes, mouse handling, easy-to-use user interface, command line mode, random and programmable playing modes, and it is easy to configure using initialization file or command line options. This software may only be used for non-commercial and/or non-profit purposes. You can freely copy and use it as long as all files in this package are copied and none of the files are modified. Although this software was tested carefully, it may still contain bugs. No guarantees or warrantees are made for the use of this software, nor will the author be held responsible for damages resulting from the use of this software. In other words, use on your own risk. 2. Requirements a. Hardware requirements - 80286 or compatible processor - CD drive with audio disc support b. Software requirements These must be installed before starting ACP. - MSCDEX or compatible CD extension program c. Optional - VGA for special display features (see chapter 4.) - a Microsoft or Mouse System compatible mouse and an installed mouse driver (see chapter 4.) d. Files in the archive - ACP.EXE The program - ACP.INI Initialization file - ACP.DOC This documentation - FILE_ID.DIZ Information file for BBSs 3. Getting started If you want simply play the entire disc then start ACP and press F2 to open the drive door. Then insert a music CD into the drive and press F3 to close the door. Now press 'T' to begin playing. You can see two bars with the available hot keys - one on the top, one on the bottom (see chapter 9.). If you want stop the music, press 'S'. If you want quit ACP, press F10 (this will also stop playing the disc). If you don't want to stop the music, press Esc. This will activate Background playing (see chapter 4.). Or you can type at the DOS prompt 'ACP E' to eject the door, then 'ACP P' to play the entire disc, and 'ACP S' to stop playing it (see chapter 7.). 4. Features - ACP can handle audio compact discs up to 99 tracks. You can enter maximum 99 track numbers on the Programmable playing list. - Background playing Enjoy the music while running other programs - and this without using any memory! In fact this is a feature of the CD drive. You can start playing a CD in the program, then quit it by pressing Esc, and the playing won't stop. Or simply type 'ACP P' at the DOS prompt (see chapter 7.). Note that this is not a TSR (Terminate and Stay Resident) portion of the program, it gives only a command block to the CD drive to play one or more tracks. Note that this feature doesn't work for Random and Programmable playing. - Random playing Press 'R' in the program, and the tracks will be playing randomly. - Programmable playing Press 'P' in the program, and you can set the order of the tracks to play. You must enter a list describing the track numbers (see chapter 5. for the list rules). You can use Backspace and Esc to edit the list line. Backspace deletes one character, Esc deletes the entire line. If you finished, press Enter. If you don't want to play the tracks, just enter an empty string. - Rewind and Forward You can use these features to search a part of a track on the disc (see chapter 5.). - Special VGA video modes You can use VGA text modes like 80x28, 80x30, 80x34, 80x50 and 80x60. These will give you nicer display than the original 80x25, especially 80x30 and 80x34. Note that in these modes the screen may flicker like in graphics mode (depends on your monitor and video card). - Initialization file You can personalize ACP to your needs by editing ACP.INI with an ASCII text editor (see chapter 5.). - Mouse support Just click on a track in the Track box to play that. Or just click in the left top corner to exit the program without stopping playing. You can use the mouse to do anything - just click on the appropriate area on the top or bottom bar. - Command line mode You can use ACP like a DOS command. See chapter 7. for more information about this feature. 5. Initialization ACP uses an initialization file called ACP.INI. This file must be in the same directory than the main program or on the path. You can edit this file with an ASCII text editor, but there are few rules: - Lines beginning with semicolon (;), double cross (#), star (*), dollar ($), percent (%), et (&), space, tabulator or a control character (ASCII 0-31 decimal) are treated as comments. - Blank lines and case are ignored. - The options must be in keyword=value format. - Don't use spaces or tabulators before or after the equal sign (=). Note that you can use these keywords from the command line, see chapter 6. about this feature. Here is the list of the valid keywords and their values: ForceCPU=088|086|186|286|386|486|max default: max Forces to use the appropriate CPU instructions in some memory handling routines. If newer CPU is selected, ACP may speed up a little (well, VERY little - but you can say yourself: 'Yeah, this proggy uses the advanced features of my 486!'). If 'max' is selected, the correct CPU type will be detected, and you can see the detected CPU type at startup. Otherwise the selected CPU type will be shown. If your system hangs up while running ACP, try one of the following: - Use the correct CPU type instead of max - Use older CPU type than yours to disable 32/16 bit instructions (e.g. 086) Note that this option works only for those FastMem routines. VideoMode=25|28|30|34|50|60 default: the current video mode Sets the number of the rows on VGA monitors. 50 can be used on EGA monitors as 43 line mode. On CGA or Hercules monitors only 25 can be used. If you do not specify this option, ACP tries to use the current video mode. It works for 80x** text modes but for 132x** and graphic modes the program switches to 80x25 text mode (it is not the program's feature, it seems that in the CRT unit - if you are familiar with Borland/Turbo Pascal - there is a code to switch to 80x25 when starting the program instead of leaving the video mode as it was. If you know more about it please contact me because I want the program to work in SVGA text modes too.). DON'T TRY TO USE MODES, WHICH AREN'T SUPPORTED BY YOUR VIDEO CARD OR MONITOR, BECAUSE YOU CAN DAMAGE THESE DEVICES! UseMouse=yes|no default: yes ACP will use the mouse, if this option is set to yes and a mouse driver is installed. CheckSnow=yes|no default: no On CGA displays the screen may "snow" (it's an interference), so you can set this option to yes if you don't like snow. :-) SkipFrames=x (where x is a number between 1 and 65535) default: 375 Sets the skip time interval in frames (1/75 seconds) for the Fwd and Rew feature (see chapter 4.). MoreBack=yes|no default: no On EGA and VGA adapters you can use 16 background colors. On other video adapters the characters will blink if you choose light background colors. InitAction=play|continue|stop|none default: none Specifies what to do at startup. Play means that ACP should start playing the disc depending from the setting of the option TrackList. Continue forces ACP to play the disc from the current position. Stop means that ACP should stop playing, and none means that ACP shouldn't worry about inserted discs. Note that if the drive door is ejected and play selected, ACP closes the door and starts playing if there was a disc on the tray. TrackList=|random default value is an empty list Specifies the order of the tracks to play. An empty list means the original order on the disc. Random generates a random list. Here are the rules of a list: numbers are separated by commas (,) or minus signs (-). A minus sign means 'from ... to ...', so '5-7' means: 5,6,7 (from 5 to 7). If you enter two commas, it means: repeat the previous number. Here are some examples: list track order 1,7,2-5,11 1 7 2 3 4 5 11 5,3,,12-9 5 3 3 12 11 10 9 9-8,-5, 9 8 8 7 6 5 5 2-5-3 2 3 4 5 4 3 1,,,, 1 1 1 1 1 And now some WRONG examples: ,2,5,7 The list should begin with a number. -5,4 The list should begin with a number. 4--5 Only commas can be repeated. 3-,8 The minus sign must be followed by a number. Note that if you press Enter in the program, it will play the list defined under this option. You can see the current playing mode in the Status window, and the program total times in the Program window. TrackDelay=x (where x is a number between 1 and 65535) default: 0 Sets the delay time in frames (1/75 seconds) between two tracks when playing with 'P', 'R' or Enter (see chapter 9.). You cannot specify 0 for this option; if you do not want delay between tracks, do not use this option at all. Note that this option has no meaning to the key 'T' (see chapter 9.), it plays the tracks as they are on the disc. TwoDigits=yes|no default: yes Specifies which mode to use when you enter a track number from the keyboard (see chapter 9.). The following options set up the colors. Background colors: black, blue, green, cyan, magenta, red, brown, white Foreground colors: gray, lightblue, lightgreen, lightcyan, lightmagenta, lightred, yellow, brightwhite If you set MoreBack to yes, you can use the foreground colors as background colors (16 foreground colors and 16 background colors). HeaderFore= default: black The foreground color of the header line. HeaderBack= default: white The background color of the header line. FooterFore= default: black The foreground color of the footer line. FooterBack= default: white The background color of the footer line. MainFore= default: yellow The foreground color of the main screen. MainBack= default: gray The background color of the main screen. WindowFore= default: yellow The foreground color of the windows. WindowBack= default: lightblue The background color of the windows. CurrentFore= default: brightwhite The foreground color of the current track. CurrentBack= default: gray The background color of the current track. 6. Interactive mode If you start ACP in interactive mode, you can override the settings in ACP.INI. Simply type the appropriate settings at the DOS prompt in the following format: ACP keyword=value Note that you can type more options. See chapter 5. for the valid keywords and their values. 7. Command line mode If you want to start ACP in command line mode, type at the DOS prompt: ACP parameter where 'parameter' is one of the following: ? Gives you a small help about using command line mode. Pxx Play track xx. If xx is an invalid number, or you entered simply 'P', then ACP plays the entire disc from the first track. You can type 'P+' to play the next track, or 'P-' to play the previous track. Note that ACP closes the drive door if it was opened, and plays the disc if there was one on the tray. S Stop the disc. C Continue playing from the current position if the disc was stopped. R Reset CD drive. Case is ignored. If you start ACP without any parameters, it starts in interactive mode. Note that in command line mode ACP doesn't use ACP.INI. 8. Troubleshooting - If ACP hangs up, try other setting for ForceCPU (see chapter 5.). - I don't tested ACP under Windows 3.x / Windows 95, there may strange things happen (in fact, Windows has its own CD player, so if you are a Windows-only user, you don't need ACP). 9. Hot key summary Top bar [click in the left corner]: same as Esc. Enter: Play the predefined list of tracks (see chapter 5.). T: Play from the current track to the end of the disc. S: Stop playing. C: Continue a stopped track. R: Random playing (see chapter 4.). P: Program mode (see chapter 4. and 5.). Esc: Background playing (see chapter 4.). Bottom bar Up arrow: Play previous track. Down arrow: Play next track. Left arrow: Search backward (rewind). Right arrow: Search forward. F2: Eject the drive door. F3: Close drive door and read disc information. F4: Read disc information (use this if you closed the door manually or you want to play the tracks in order by pressing Enter). F9: Reset CD drive. F10: Stop playing and exit program. You can play tracks typing the track number on the numeric keypad or on the keyboard. If TwoDigits mode is off then you can play only tracks 1 to 9 this way. If TwoDigits mode is on, you must type tracks 1 to 9 as 01..09. You can toggle TwoDigits mode by pressing '/'. The current setting is in the Status window. You can flip between track pages if you press Page Up or Page Down, Home or End or if you click on the top or bottom border of the Track box. 10. DOS exit codes You can use these from batch files by monitoring the ERRORLEVEL environment variable. The meaning of the codes are: 0: Normal exit. 255: Wrong CPU type. 254: Background playing. 253: MSCDEX not installed. 252: Syntax error in ACP.INI or on the command line. 251: Program usage error. 250: Command successfully executed. 249: Help requested. 248: Command execution failed. others: I/O error while reading ACP.INI. Exit codes from 248 to 251 are command line mode exit codes. 11. Future versions In the future releases of ACP I want to add some new features: - Language support (English, German, Hungarian). - Random and Programmable playing in the background. - Graphic interface (in the far future...). Future releases will be available on Garbo and its mirror sites. The location of ACP on Garbo is: ftp://garbo.uwasa.fi/pc/cd/ If you have Usenet access, try this newsgroup: comp.archives.msdos.announce The name of the archive is acp_xxx.zip where 'xxx' is the version number (so version 1.00 -> acp_100.zip). 12. History Version 1.00 03/26/96 - The first release. Version 1.01 05/20/96 - Added command line support (see chapter 7.). - Added new option InitAction (see chapter 5.). - Selecting 'max' for ForceCPU caused to run with 8086 instructions, this bug is now fixed. - You can see the selected CPU type in the Status box. If you select 'max', the detected CPU type will be shown. - Detailed information about startup process. - Option CurentFore and CurentBack renamed to CurrentFore and CurrentBack. - Some color names renamed (see chapter 5.). - Optimized code parts (some parts were rewritten in assembly to save place and to speed up the code). - Minor bug fixes. Version 1.10 08/21/96 - A serious bug fixed: video modes can be set now correctly. - The meaning of the key 'P' changed; use 'T' instead (see chapter 9.). - Added Random and Programmable playing (see chapter 4.). - Added interactive mode option support (see chapter 6.). - Added new option TrackList (see chapter 5.). - Added Program window (see chapter 5.). - You can see in the Status box if CD playing is in process. - ACP.INI can be now on the path. - Removed the driver name from the Status window. - Minor bug fixes. Version 1.11 09/17/96 - Bug fixed: ACP crashed with some keyboard extenders (Many thanks to Dean Thompson for his help to fix this problem). - Added support for keys '1' to '9' to play the appropriate track (see chapter 9.). - Added new option TrackDelay (see chapter 5.). - Added command line parameters 'P+' and 'P-' (see chapter 7.). - Minor bug fixes. Version 1.12 12/16/96 ***** Xmas Edition ***** - Last release before Christmas '96 :-) - Bug fixed: the default value for TrackDelay was 1 instead of 0 (see chapter 5.). - Added support for typing the track number on the keyboard to play a track (see chapter 9.). - Added new option TwoDigits (see chapter 5.). - The default value for VideoMode is now the current video mode (see chapter 5.). - The CPU type is shown by startup, not in the Status window. 13. About the author I study at the Technical University of Budapest (TUB), Faculty of Mechanical Engineering. I wrote this program because I have not had any well-working, nice CD players. But now... :-) If you have any problems, questions, bug reports or comments please contact me: - by e-mail: keki@goliat.eik.bme.hu keki@atlantis.bme.hu - by snail-mail: K‚kesi Andr s Budapest P lya u. 2b H-1012 HUNGARY/EUROPE Greetings from all countries of the world are welcome!