MODAC Copyright 1993 by Cornel Huth. All Rights Reserved. MODAC1.EXE, 12-Mar-1993. MODAC. A shareware mod file player and digital VOC and WAVE file player/recorder. Continued use requires registration of $15, US DOLLARS ON US BANK. No Credit Cards. Pre-paid orders only. US Currency accepted for foreign orders. See the sign-on screen for order address. MODAC was written using my RUCKUS-DAC, with Mod extensions, sound library. Also available is RUCKUS-MIDI. The graphics is done with my QB/EVGFX, level 2, graphics library. The compiler used was Microsoft BASIC 7.1. The sound and graphics libraries are shareware, available for download on my BBS. The latest version Modac, and my other shareware products, may be downloaded from The Fortieth Floor BBS, 1(210)684-8065. 16 hours of operation: 17:00 to 09:00 Central Time. Minimum Requirements: IBM PC or compatible 256K RAM DOS 3.0+ VGA Note: See the Additional Notes at the end of this document. PC speaker can be used, as can an LPT-DAC on the first LPT port, the Disney Sound Source, the AdLib, the Sound Blaster and the Sound Blaster Pro. Recording requires either of the Sound Blasters. Additional Recommendation: IBM AT or compatible (for mod file playback, a 386/25+) 1MB extended RAM XMS 2.0 (3.0+ required for XMS use under 386 memory managers) Mouse Sound Blaster Pro sound card Incompatibilities: Use of DOSMAX has been demonstrated to affect performance by as much as 50% in mod file playback. 386 memory managers have no noticable effect. Tandy 2000-series computers may have an incompatible timer chip. DMA-only operations should not be affected. -- This software was developed on an Intel 486/33, Symphony chipset, using the Sound Blaster Pro, and a Tseng VGA card w/ET4000AX. Bus-based mouse should not be using a Microsoft MOUSE.xxx driver in the version 7.xx. Use 6.xx or the 8.xx versions. Some 386 and 486 machines are unable to play Mod data when using both DMA and BG modes. Neither of my two machines are affected by this, but be aware that some machines will lock up when DMA+BG is used for mod file playback. Performance: Varies, depending on machine. DMA mode offers good across-the-board sound performance on VOC/WAVE data, regardless of CPU power. For TIMER-0 operation, the more CPU power, the better. AdLib digital output demands lots of CPU power. For mod processing, the best performance is achieved with foreground processing (BG disabled) and DMA processing. 45.5kHz processing rate is possible with a 486/33 and an SBPro. With DMA-BG processing, 40kHz is about it for a 486/33. In stereo, a mod process rate of 22.75kHz is no problem for a 486. If you've never heard a mod played in stereo using Modac and an SBPRO, you just haven't heard a mod played. You should be aware that over-taxing the machine when playing a mod may lock your machine up. Use the CPU RESERVES: status in the NOSCOPE scope window. If it doesn't say OKAY, you are over-taxing your system. The AdLib output level may be rather low so turn up your volume. For mod playback you should limit the rate to no more than 10kHz. 13kHz tops. BASIC INFO ----------------------------------------------------- At start-up, Modac scans for sound devices. The highest numbered device is the device that Modac uses by default. Modac knows about the following devices: 0-PC speaker (PCSPK0 at startup) 1-LPT-DAC 2-Disney Sound Source 3-Adlib (ADLIB0 at startup) 4-Sound Blaster 5-Sound Blaster Pro Note that the LPT-DAC is found if there is a parallel printer port, even if no DAC is hooked up to it. All PCs have the PC speaker device. Modac has two PC speaker drivers. PCSPK0 is the default. PCSPK1 up-samples and offers a better quality sound than PCSPK0. Use Ctrl-S to toggle between the two when the device is selected. Ctrl-S also toggles the ADLIB0/ADLIB1 mode. Do not use the -1 versions to playback voc/wave files that are already at a high sample rate (over 8kHz or so). The -1 versions are for voc/wave playback; there is no difference when playing mods. The AdLib is a very slow device for doing digital output. It can be done but for best results (as far as the AdLib goes), a fast CPU is desired. When using ADLIB1, make sure that the original sample is no greater than 8kHz. After loading the VOC/WAV file, adjust the desired sample rate so that it is slightly less than the actual files sample rate. In some cases ADLIB1 can simply not be used. Use ADLIB0 mode if you have too much trouble with ADLIB1. Modac down-samples where required so even the PC speaker can play a 44kHz stereo WAV file, for example. Adjust the interrupt rate in the STATUS BOARD to approximate the desired rate. Modac makes on-the-fly adjustments to meet the desired rate. For PCSPK1, set the sample rate equal to the actual file sample rate. The result will be a 2x up-sample for remarkably clear sound. To have the SB (non-PRO) play stereo or high-rate samples, you must use timer-0 mode. ------------------------------------------------------------------ Note: To adjust a rate with the mouse, use the LEFT MOUSE BUTTON to decrease, and the RIGHT MOUSE BUTTON to increase. In the case of adjusting the sample rate, each click results in a 100Hz change. For 1000Hz changes, press CTRL while clicking, or for finer adjustments, hold down the ALT key while clicking. BG must be enabled for adjustments to be made while playing. If you click the right mouse button on a volume/level control, all related sliders are set to that position. ------------------------------------------------------------------ For overriding Modac defaults or using Modac without a mouse, see section II. COMMAND-LINE OPTIONS. Device Select. Available devices are in low-green. Unavailable are low-red. The currently selected device is in hi-green. Note: The AdLib card is a supported device in Modac. It is also supported in the CHIMPS program. CHIMPS is similar to Modac, except that it plays MIDI files (General MIDI, MT-32, and CMF). To change the current device, click on its button. If the PCSPK or ADLIB is currently selected, you can use Ctrl-S to switch between the two playback modes available. File Select. Modac starts up in DIGITAL file mode. The file manager scans for all *.VOC or *.WAV files in the current directory. To load a file, click on its name in the FILE MANAGER window. Use the up/down buttons to scroll through the file list. To change file modes, go to the STATUS BOARD and click on the file mode button until MOD is displayed. To change directories, click on the desired directory name. To move back to the parent directory, click on the .. entry. To move to another drive, click on the drive's letter to the right of the file entries. Foreground/Background Play Mode. Before playing, you may want to select background play by click- ing on BG in the SPECIAL FUNCTION BOARD. If BG is not selected, all computer resources are spent playing. To exit foreground play, press Ctrl-Alt. BG has the advantage of letting you perform other tasks while the playing takes place. You can scan through directories, looking for what to play next or select one of the various scope meters to give the audio a visual accompaniment. You can also adjust volume, filters, playback rate, etc. Play. To play the loaded file, click on the PLAY button in the STATUS BOARD. Stop. To stop play, click on the STOP button or press the Esc key. Exit Modac to DOS. To end the program and return to DOS, press Alt-X or click on the EXIT button at the lower-right of the display. DOS ENVIRONMENT VARIABLE & COMMAND-LINE OPTIONS --------------------- Modac uses the DOS variable MODAC=. To have Modac start up in a certain state, you can set this variable to your values. Command-line options take precedence over the MODAC environment variable states. For example: SET MODAC=FILE:*.MOD BG SR:44 has Modac start up in mod file mode, background processing, and a process rate of 44kHz (de-rated to 22kHz if stereo is selected-- the default mode of the SBPRO). You can use a command-line option to override this, say, by using a sr:32 on the command line. Example command line: C>modac file:daisychn.mod sr:32 color:67 To override some of Modac's defaults, you can use the following options: FILE:file.ext Load file.ext and play. Also switches Modac file mode to .ext. File must reside in current drive\directory. 8-bit VOC or .WAV files are supported, up to 45.5kHz, mono and stereo. BG Start up in background play mode. SR:nn Set sample rate in kHz. For example, use 22 for 22kHz. For stereo playback of FILE:file.ext on the SBPRO, double the value. E.g., to play DAISYCHN.MOD in stereo at 22kHz, use SR:44. DMAX:nn Sets the startup mod file DMA background buffer fill slice count. Higher numbers devote more processing time to the buffer fill routine. This may be beneficial to slower machines. On fast machines the default value of 1 should be just fine. Setting the value too high may cause the time-of-day clock to loose time. The max value for DMAX:nn is 64. This value should be set to 1 if BG is not enalbled. DMAX: only affects mod file processing. If DMAX is set 64-99 then DMAX is set to 512. DEVICE:n Select startup device. Device must be installed. Devices are: 0-PC speaker 1-LPT-DAC on first parallel printer port 2-Disney Sound Source 3-AdLib 4-Sound Blaster (1.03 or above) 5-Sound Blaster Pro COLOR:hh Alter Modac color scheme. The first h is for the underlying screen color; the second for the board foreground. h is a hex value, 0-F. The default scheme is COLOR:67. NoUMB Prevent Modac from using UMB memory for storing some mod file data. If DOS=,UMB is in CONFIG.SYS, Modac uses as much UMB memory for mod file data as it can. muSBP For Sound Blaster emulation of the SB PRO's mixer facility and data display. KEY: Unlocks advanced save feature to save recordings made by Modac. Also performs format translation. You can load a .WAVfile and save it in .VOC format, or vice versa. CONTROLLING MODAC -------------------------------------------------- The L-R MOD switches The FAST MOD is for left/right output slow PCs attempting channels on stereo to play mod files. mod output. Click to toggle state. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ ³ DEVICE BOARD Device selection is made here. ³L-R ³FAST ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ ÚÄÄÄÄÄ¿ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ S F ³³ CONTROL BOARD ³³ STATUS BOARD ³ P U ³³ ³³ ³ E N ³³ In VOC/WAV mode, this board ³³ Various Modac states are set ³ C C ³³ controls volumes and SBPRO mixer ³³ here. With the SB, you can use ³ I T ³³ levels, filters, input source, ³³ DMA or TIMER-0. XMS memory needs ³ A I ³³ and record mode (stereo/mono). ³³ DMA mode. Memory used/reming is ³ L O ³³ ³³ shown, as is timer-0 priority, ³ N ³³ In mod mode, it controls volumes,³³ scope mode, running clock, file ³ B ³³ DMA buffer size, output filter, ³³ mode, interrupt process rate, ³ O ³³ and stereo/mono output mode. ³³ CPU stats and more. ³ A ³³ ³³ ³ R ³³ The lamp at the lower-right is ³³ ³ D ³³ red when the SB speaker is on. ³³ ÀÄÄÄÄÄÙÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ FILE MANAGER ³³ SCOPE ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³³ ³ ³Z:\CURRENT\FILE.VOC ³ ³³ Various scopes are available. Scopes ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³³ operate only if BG is enabled, or if DMA ³ ÚÄ¿ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³³ processing and not in mod file mode. ³ ÃÄ´³FILE.VOC ³ Drives ³³ ³ ³e³³.. ³ ³³ Not all scopes are available for all devices ³ ³r³³MOREDIR\ ³ A B C ³³ in all modes. SBPRO has all scopes available ³ ³r³³OTHER\ ³ ³³ when in DMA mode. ³ ³o³³WAVS\ ³ D E F ³³ ³ ³r³³ Click on file/dir ³³ ³ ³ ³³ entry to load or move ³³ ³ ÃÄ´³ to new directory. ³³ ³ ÀÄÙÀÄÄÄ ³³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ INFO WINDOW Messages/error messages ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ TIPS: When recording using the Sound Blaster or Pro, the SB speaker output should be off. This is automatically done by Modac when recording starts. However, if you adjust the Main Volume, the SB speaker is set on. To turn it off, turn the Main Volume to 0. When RECORD is selected, all available memory is allocated for the recording. You may stop recording at any point. To clear memory, press the SCANSOFT button in the SPECIAL FUNCTION BOARD. The PRIORITY window in the STATUS BOARD may be set to 2 to disable normal BIOS clock updating and gives all background time to the RUCKUS digital processing code. Setting the PRIOR to 0 is not recommended. The mod DMA 4/8/16K buffer size gives good results at 4 with a fast machine. Larger buffer sizes makes the VUMETER bars out-of-sync since the VU meters respond to the mod data currently being processed, while the sound playing is coming from buffered data. The slower the rate the more noticable the effect. For slow machines and higher mod processing rates, a larger buffer makes for a smoother sound. Additional Notes. Modac.exe has also been tested on a 286 machine using a mono video system. It works. No UI is available; you need a VGA for that. But you can use the CL options and have Modac operate as a foreground task. To play a file on a mono system, do: C>modac FILE:filename.ext SR:16 To end playback early, press Ctrl-Alt. Otherwise, the tune plays until it's over.