home *** CD-ROM | disk | FTP | other *** search
/ Mega A/V / mega_av.zip / mega_av / SOUNDUTL / MUSIQUE.ZIP / MUSIQUE.DOC next >
Text File  |  1991-09-06  |  34KB  |  679 lines

  1. /* Warning! This documentation contains extended characters! */
  2.  
  3. Program: MUSIQUE.ZIP (freeware)
  4.          Entered with PC-LITE 1.00
  5.          Compiled with TCC 2.0 (-ms -d -f- -A -K -G -O -w)
  6.          Patched with DEBUG 3.3
  7.          Compressed with PKLITE 1.12
  8. Author:  François Jalbert (jalbert@IRO.UMontreal.CA) (jalbert@CS.UBC.CA)
  9. Date:    July 1991
  10. Version: 1.1
  11. Files:   MUSIQUE.EXE
  12.          MUSIQUE.DOC
  13.          MUSIQUE.MEN
  14.          SOURCE.ZIP
  15.  
  16. Got a problem? Look up the frequently asked Q/A section at the end!
  17.  
  18.  
  19. Syntax: MUSIQUE [/a | /b | /c] [/d | /e | /f] [/h] [/i<decimal>] 
  20.                 [/k<type><decimal>...] [/m] [/n | /s | /v] [/o] [/p] 
  21.                 [/t<letter>] [/0 | [/1|/2|/3]...] [/?] [menu_file[.men]] 
  22.  
  23.  
  24. Description:
  25.  
  26.   MUSIQUE is an "intelligent" shell for playing modules with ModPlay. 
  27.   It lets you select modules, finds them, and calls ModPlay to play them. 
  28.   If necessary, it will move/decompress some modules, and later delete them. 
  29.   Modules are always assumed compressed with PKZIP, because it remains the 
  30.   fastest decompression utility, while achieving near LHARC compression levels. 
  31.   MUSIQUE should run fine in any video mode (standard & non-standard) as long 
  32.   as the video routines in the BIOS comply. 
  33.  
  34.  
  35. Parameters:
  36.  
  37.   All parameters must be separated by at least one space.
  38.   Given conflicting parameters, the last one always takes precedence.
  39.   Any invalid parameter will abort the program.
  40.  
  41.   /a                AT < 12 MHz
  42.   /b                AT = 12 MHz  (default)
  43.   /c                AT > 12 MHz
  44.  
  45.   /d                Run in german
  46.   /e                Run in english
  47.   /f                Run in french (default)
  48.  
  49.   /h                High intensity display (normally disabled)
  50.  
  51.   /i<decimal>       Force video mode to be used (132*60*16 is /i86 for me)
  52.  
  53.   /k<type><decimal> Set <type> to color <decimal> (see "Colors" below)
  54.  
  55.   /m                Mouse input enabled for text modes only (normally disabled)
  56.  
  57.   /n                Display only DOS file names in the menu
  58.   /s                Display only song names in the menu (default)
  59.   /v                Display almost all (verbose) the fields in the menu
  60.  
  61.   /o                Output with the BIOS (normally directly to video RAM)
  62.  
  63.   /p                Pause before/after main operations (good for debugging)
  64.  
  65.   /t<letter>        Force temporary drive (typical /tE)
  66.  
  67.   /0                Force no parallel port
  68.   /1                Force parallel port at 3BCH (see "Parallel Ports" below)
  69.   /2                Force parallel port at 378H (see "Parallel Ports" below)
  70.   /3                Force parallel port at 278H (see "Parallel Ports" below)
  71.  
  72.   /?                Display syntax 
  73.  
  74.  
  75. Menu Files:
  76.  
  77.   A menu file is necessary for MUSIQUE to know which modules to list and where 
  78.   these modules can be found. The optional default extension is .men
  79.   The default menu file is: musique[.men]
  80.  
  81.   A menu file contains lines (at most 350 of them) of the form:
  82.  
  83.        floppy_disk_ID    score    DOS_path    DOS_file_name    song_name 
  84.  
  85.   Maximum field lengths: floppy_disk_ID     2 letters 
  86.                          score              2 letters
  87.                          DOS_path         127 letters
  88.                          DOS_file_name      8 letters 
  89.                          song_name         19 letters
  90.   These lengths have been chosen to maximize the use of the screen in /v mode.
  91.   Note that no field may be empty. 
  92.  
  93.   These fields are space-separated and the song_name may contain spaces. 
  94.   Use a ? (say) for empty fields but use a . to indicate the empty DOS_path. 
  95.   Any non-trivial DOS_path field must end with : or \ for concatenation. 
  96.   There is limited space (±25Kb) for all the DOS_path's, so be reasonable! 
  97.   The DOS_file_name must not include the .mod or .zip file name extensions. 
  98.  
  99.   A menu line with a % character in the first column is ignored altogether. 
  100.   This is used to discard modules while keeping a record of having tried them. 
  101.   You will find in my MUSIQUE.MEN comments as to why some modules won't play.
  102.  
  103.  
  104. Colors:
  105.  
  106.   No color setup is guaranteed to be satisfactory on all color systems.
  107.   Therefore, it is possible with a few /k<type><decimal> flags to reconfigure 
  108.   all the colors used by MUSIQUE to your liking. 
  109.  
  110.   The standard 8 basic colors are:
  111.  
  112.       0 = Black
  113.       1 = Blue 
  114.       2 = Green
  115.       3 = Cyan
  116.       4 = Red
  117.       5 = Violet
  118.       6 = Yellow (brown)
  119.       7 = White
  120.  
  121.   By adding 8 to these values, you get high intensity colors. (same as /h flag)
  122.   For example, a color of 8 is high intensity black; grey (or black).
  123.   The observed colors can vary *greatly* depending on your hardware.
  124.   This is particularly true for the border colors of CGA, EGA and VGA adapters.
  125.  
  126.   The types of display element and their default colors are:
  127.  
  128.       1 = Screen outline     4 = Red        (foreground)
  129.       2 = ModPlay title      3 = Cyan       (foreground)
  130.       3 = Unpicked item      2 = Green      (foreground)
  131.       4 = Picked item        1 = Blue       (foreground)
  132.       5 = Keyboard cursor    3 = Cyan       (background)
  133.       6 = Mouse cursor       4 = Red        (background)
  134.       7 = Screen background  0 = Black      (background)
  135.  
  136.   For example, to change the mouse cursor from red to violet, use the /k65 flag.
  137.   The default colors have been picked out of personal taste.
  138.  
  139.   The 16 text colors just described are available on any color video adapter.
  140.   In graphics modes, the number of available colors varies from 2 to 256
  141.   depending on the color adapter and the mode selected.
  142.   No error checking is performed on the colors supplied so fancy video modes 
  143.   can perhaps be fully exploited by the knowledgeable user.
  144.  
  145.   On the most recent color video adapters, each of the 16 text colors can also 
  146.   be reprogrammed from a wide range of available colors. 
  147.   I do not plan on supporting such specialized palette reconfigurations.
  148.   If you must, you can always change palettes prior to using MUSIQUE.
  149.   There are stand-alone programs for this, but debug can also be used.
  150.  
  151.   Some types of display elements are background elements by default.
  152.   You can only change the color and intensity of such display elements.
  153.   Display elements in the foreground can be changed to background elements.
  154.   This is done by multiplying the color desired by 16.
  155.   For example, to get a reverse-video red picked item, use the /k464 flag.
  156.   You can combine foreground and background colors as well if desired.
  157.   For example, /k281 gives a violet background blue foreground title element. 
  158.   Remember, such a flexibility is possible for foreground elements only.
  159.  
  160.   People with black and white displays will appreciate the ability to
  161.   reconfigure colors to better exploit reverse video and intensity control.
  162.   This works particularly well for CGA, EGA, MCGA and VGA B/W screens.
  163.   For example, use the /k57 /k67 flags for reverse white video cursors and
  164.   the /k315 /k4112 flags for the unpick/pick status.
  165.   Several similar B/W color configurations are possible. 
  166.   The MDA has a far less flexible design, see the Q/A section.
  167.   
  168.  
  169. Parallel Ports:
  170.  
  171.   MUSIQUE supports only the three standard IBM parallel ports. It does not sup- 
  172.   port homemade parallel ports and the soundblaster, but by using a batch file 
  173.   MODPLAY.BAT, you can replace MUSIQUE's parallel port parameter with the one 
  174.   of your choice, prior to starting the real ModPlay program. For example, your 
  175.   file MODPLAY.BAT could contain the statement: C:\MP116E /s1 %2 %3 
  176.  
  177.   Standard IBM parallel ports are found at I/O addresses 3BCH, 378H, and 278H. 
  178.   This is the order in which they are looked for by the BIOS when the computer 
  179.   is powered-up. Here are all the possible combinations of parallel ports and 
  180.   their DOS assignments: 
  181.  
  182.               LPT1:  LPT2:  LPT3:
  183.               3BCH
  184.               378H                    (common AT setup)
  185.               278H
  186.               3BCH   378H             (my setup)
  187.               3BCH   278H
  188.               378H   278H             (common AT setup)
  189.               3BCH   378H   278H
  190.  
  191.   One can see that a parallel port at 3BCH can only show up as LPT1: A parallel 
  192.   port at 378H can be LPT1: or LPT2: depending on what other parallel ports you 
  193.   have. Finally, a parallel port at 278H can be any of LPT1: or LPT2: or LPT3: 
  194.   which can be quite surprising at first. 
  195.  
  196.   MUSIQUE needs to know which I/O address to use. It does not care much for 
  197.   DOS' way of numbering things, especially since LPT1: can be any of three I/O 
  198.   addresses, and so forth! One solution might be for you the user to say: "I 
  199.   want to use LPT2:" and have MUSIQUE look into the BIOS parallel port table to 
  200.   see what I/O address corresponds to LPT2: at the time. Unfortunately, not all 
  201.   parallel ports can be detected by the BIOS and therefore, a way of specifying 
  202.   parallel ports that does not rely on the BIOS' ability to properly detect 
  203.   them is called for. This explains the scheme used by MUSIQUE. I hope that you 
  204.   are still with me so far! 
  205.  
  206.   You specify parallel ports by the standard order in which they are looked for 
  207.   by the BIOS at power-up. That is /1 is 3BCH, /2 is 378H, and /3 is 278H. The 
  208.   flag /0 stands for no parallel port. Here is an equivalence table between 
  209.   ModPlay and MUSIQUE: 
  210.  
  211.                Address(es)       ModPlay    MUSIQUE
  212.                   None              /0         /0
  213.                3BCH (LPT1:)         /5         /1
  214.                378H (LPT1:)         /1         /2   (common AT setup)
  215.                278H (LPT1:)         /2         /3
  216.        3BCH (LPT1:) 378H (LPT2:)   /xs       /1 /2  (my setup)
  217.        3BCH (LPT1:) 278H (LPT2:)   /xs       /1 /3
  218.        378H (LPT1:) 278H (LPT2:)    /3       /2 /3  (common AT setup)
  219.  
  220.   I find MUSIQUE's handling of parallel ports more consistent than ModPlay's, 
  221.   but this is really just a question of personal taste. Don't forget the space 
  222.   between any of the MUSIQUE flags! 
  223.  
  224.   Note that MUSIQUE can try to find your parallel port setup-up automatically. 
  225.   I would suggest that you get into specifying parallel ports on the command 
  226.   line only if MUSIQUE's choice is not the desired one. To find the parallel 
  227.   ports I/O addresses on your computer, look into your BIOS' parallel port 
  228.   table. That is done under debug by simply typing "d 40:8 f" and then "q". 
  229.   Numbers are somewhat swapped, but you should make sense of them in a few 
  230.   seconds. If your parallel ports can't be detected by your BIOS, you'll have 
  231.   to read the documentation that came with them (Oh, shall I never!), or go by 
  232.   trial and error. You can't do any damage with an incorrect port setting. 
  233.  
  234.  
  235. Functional Description:
  236.  
  237.   Since Mark put out his superb ModPlay program, I have collected about 15Mb of 
  238.   pkzipped modules. I expect more soon. I have only limited hard-disk space so 
  239.   most of them are kept on numbered floppies. To demo ModPlay to friends, I 
  240.   typically have to figure out what is already on my hard-disk, what is on 
  241.   floppy and on which floppy exactly, copy things back onto hard-disk, occa- 
  242.   sionally decompress, delete afterward, etc. This is a waste of time and also 
  243.   quite error prone. So I decided to write a small menu program that would do 
  244.   all of these tasks for me. 
  245.  
  246.   MUSIQUE displays a menu of all the modules you have, for you to multiple-pick 
  247.   and play. I found that identical modules are sometimes stored under different 
  248.   DOS_file_name's, which caused me to waste time downloading modules by MODEM 
  249.   just to find out that I already had them in stock. So the DOS_file_name does 
  250.   not seem a-priori like a reliable way of keeping track of modules. The 
  251.   DOS_file_name also carries only 8 letters, while the built-in song_name in 
  252.   the modules has up to 19 letters (20 with EOS). So I decided that the menu 
  253.   should display the modules by song_name's, and not by the DOS_file_name. This 
  254.   is a more reliable and a more descriptive way of keeping track of modules. 
  255.   
  256.   Therefore, when MUSIQUE starts, it needs to know the song_name's of all the 
  257.   modules you intend to use. One way would have been to scan all the modules 
  258.   that can be found using some user-specified path, and then look for their 
  259.   song_name's. This would have also required some pkunzipping and later dele- 
  260.   ting of modules, and in my case, also a lot of floppy swapping. This is 
  261.   clearly unacceptable since nobody wants to spend 10 minutes fiddling prior to 
  262.   starting to use a program which is supposed to simplify your life in the 
  263.   first place. 
  264.  
  265.   I decided that MUSIQUE would require a menu file. The menu file specifies all 
  266.   the modules you want to use by DOS_file_name and by song_name. You pick up 
  267.   song_name's, and MUSIQUE will handle the DOS_file_name's for you. The menu 
  268.   file also says which floppy holds which module. So it may prompt you to in- 
  269.   sert the right floppy in case a module is not found first on your hard-disk. 
  270.   The menu file can be used to associate a score to each module, so you know 
  271.   easily which modules suit you best when giving a quick demo to a friend. Fi- 
  272.   nally, the menu file also specify under which directory on your hard-disk any 
  273.   given module might be found. Given the small price of having to prepare a 
  274.   menu file, the flexibility seems very good. 
  275.  
  276.   If you run ModPlay with the /o flag, it will output the DOS_file_name's and 
  277.   the song_name's of all the modules in the current directory. Using piping, 
  278.   you end up with most of the work done for you! All that's needed to get 
  279.   started immediately (without using the fancier capabilities of MUSIQUE) is a 
  280.   little bit of polishing to add some dummy parameters. You will quickly have a 
  281.   menu file ready to use. Later, as you move modules onto floppy for permanent 
  282.   storage, you can modify the menu file slightly to reflect that move. It's 
  283.   really quite simple. If you are really in a hurry, piping a simple DOS direc- 
  284.   tory listing into a file is also a good way of getting started. 
  285.  
  286.   ModPlay has a few peculiarities which influenced the making of MUSIQUE. These 
  287.   assumption may not hold anymore for the current version of ModPlay, but they 
  288.   did at one point and that's why MUSIQUE operates the way it does. For exam- 
  289.   ple, the modules to be played must be in the current directory of the current 
  290.   drive. This resulted in the notion of a temporary_drive which MUSIQUE uses 
  291.   extensively. ModPlay does not zero out parallel ports after usage, so MUSIQUE 
  292.   will do that for you. ModPlay runs only in CO80 video mode, so MUSIQUE will 
  293.   handle video mode switching so you can use any extended text modes (and even 
  294.   any graphics mode if you don't use a mouse!) at your leisure. 
  295.  
  296.   You start MUSIQUE from the current_drive. MUSIQUE will look immediately for a 
  297.   temporary_drive. This temporary_drive is where ModPlay and the modules will 
  298.   sit for playing. So the modules will be in the same directory and drive as 
  299.   ModPlay itself. If you have 8 drives and the 6th happens to be a RAM-disk 
  300.   (blazing fast access), you can tell MUSIQUE to use it as its temporary_drive 
  301.   with a command line flag [/tF]. Without any command line information about 
  302.   drives, MUSIQUE will make a guess. If MUSIQUE was started from a floppy drive 
  303.   (A: B:), it will use the last drive as its temporary_drive. Hopefully, this 
  304.   will be a RAM-disk or a hard-disk. If MUSIQUE was started from a non-floppy 
  305.   drive (C: and up), it will stick to that drive as its temporary_drive. These 
  306.   tests are more reliable when you use the standard LASTDRIVE statement in your 
  307.   CONFIG.SYS file. 
  308.  
  309.   MUSIQUE will then hunt for the PKUNZIP program used to pkunzip modules. It 
  310.   will look first on the temporary_drive, then along the DOS path, and finally 
  311.   on the current_drive. If the PKUNZIP program can't be found, you will be 
  312.   allowed to play only non-pkzipped modules. If the PKUNZIP program is found on 
  313.   the current_drive, and this drive is different from the temporary_drive, then 
  314.   MUSIQUE will copy temporarily the PKUNZIP program onto the temporary_drive. 
  315.   This move is done since in many cases, the temporary_drive will be a RAM-disk 
  316.   which is much faster than the current_drive, may it be floppy or hard-disk. 
  317.   When terminating, MUSIQUE will clean up the temporary_drive. 
  318.  
  319.   MUSIQUE also hunts for the MODPLAY program. It uses exactly the same scheme 
  320.   as for the PKUNZIP program. However, if the MODPLAY program is not found, 
  321.   MUSIQUE will abort. MUSIQUE will look for MODPLAY.COM, then for MODPLAY.EXE, 
  322.   and then for MODPLAY.BAT before giving up on finding the MODPLAY program. So 
  323.   MUSIQUE is ready for any future change in the MODPLAY program format, and 
  324.   even for new ModPlay flags through the batch file approach. 
  325.  
  326.   You can select which parallel ports you wish MUSIQUE to use. Without any com- 
  327.   mand line information about ports, MUSIQUE will make a guess. It will try to 
  328.   write, wait some, and read back a few patterns at the standard parallel port 
  329.   I/O addresses. Any parallel port found will be assumed available for output. 
  330.   This test can only work with parallel ports that support both output and in- 
  331.   put. Indeed, the BIOS detects the parallel ports in any given machine using a 
  332.   very similar test. 
  333.  
  334.   Shortly after reading the menu file and finishing its initialization, MUSIQUE 
  335.   will log permanently onto the temporary_drive and display a screen full of 
  336.   song_name's. You can move around with the usual 4 cursor keys. <Home> brings 
  337.   you to the first screen and <End> to the last. <PgUp> and <PgDn> have the 
  338.   usual effect as well. All nine keypad keys can also be used while holding the 
  339.   <Shift> keys. Their action is then restricted to within the current window, 
  340.   instead of within the whole menu file. <Ctrl> keys are not used since they 
  341.   are not fully supported by the BIOS, and I'd rather stick to the BIOS as my 
  342.   input interface. 
  343.  
  344.   The current song_name can be picked/unpicked for playing with the <Space> 
  345.   key. You can pick as many song_name's as you wish. You can even pick all and 
  346.   unpick all with the @ key. This is also useful for clearing out the pick sta- 
  347.   tus of all song_name's. You start up the current batch of song_name's with 
  348.   the <Enter> key. MUSIQUE will treat each module in turn, before eventually 
  349.   returning to the menu display. A mouse can also be used to move in the usual 
  350.   four directions. You can pick/unpick modules with the left button, and the 
  351.   current batch of song_name's is started with the right button. Scrolling 
  352.   speed with the mouse is limited artificially to a reasonable 20msec/scroll.
  353.  
  354.   The search for a module to play starts on the temporary_drive. MUSIQUE always 
  355.   looks for a .MOD file first, before trying out a .ZIP file. The .ZIP exten- 
  356.   sion is tried if and only if the PKUNZIP program could be located a while 
  357.   earlier. The search then covers the DOS_path of the current song_name in the 
  358.   menu file. Any module found there is moved/pkunzipped to the temporary_drive. 
  359.   Finally, MUSIQUE will give the current_drive a try as well. Again, any module 
  360.   found will be moved/pkunzipped to the temporary_drive. If the current_drive 
  361.   is a floppy, MUSIQUE may ask you to insert a floppy using the floppy_disk_ID 
  362.   of the current song_name in the menu file. If the current_drive is non-flop- 
  363.   py, MUSIQUE may give up on the current song_name. All modules that had to be 
  364.   moved/pkunzipped will be deleted afterward by MUSIQUE, so the temporary_drive 
  365.   does not fill up with modules. 
  366.  
  367.   Hopefully, the proper module will eventually end up in the temporary_drive. 
  368.   MUSIQUE will then fire up ModPlay with the appropriate parameters. After 
  369.   ModPlay is done, MUSIQUE will gradually zero out any parallel port used. This 
  370.   will prevent voltage fluctuations from ending up in your stereo system while 
  371.   the hard-disk is being used. On some computer systems, it's like listening to 
  372.   the drive with a stethoscope! The zeroing is gradual to avoid creating any 
  373.   scratching noise in your speakers. Some parallel ports are more sensitive 
  374.   than others to this problem. I did what I could! 
  375.  
  376.   You can go through several sessions of picking/playing using MUSIQUE. Press- 
  377.   ing the <Escape> key quickly after a module finished playing aborts the cur- 
  378.   rent batch of modules. Pressing <Escape> under the menu terminates MUSIQUE. 
  379.   All remaining temporary files on the temporary_drive will be erased, and 
  380.   MUSIQUE will log back onto the current_drive. Pressing both mouse buttons 
  381.   from the menu also exits MUSIQUE. You cannot however, use the mouse to abort 
  382.   a batch of modules. MUSIQUE always plays the modules in the order in which 
  383.   you picked them. If you select all the modules with the @ key, it will play 
  384.   them in the menu file order. You can also use the * key to randomly select 
  385.   the order in which the currently selected modules will be played.
  386.  
  387.   So I hope that this little tour helps you understand what MUSIQUE does and 
  388.   does not do. It is intended to be an "intelligent" module player. It is not a 
  389.   module manager that could maintain menu files automatically in the background 
  390.   while you pkzip, pkunzip, copy, and delete module on hard-disk and on flop- 
  391.   pies. It is also not intended to be a module validity tester or a module edi- 
  392.   tor. Within its intended purpose, I hope that you will find MUSIQUE as help- 
  393.   ful as I did. 
  394.  
  395.  
  396. Internal Operation:
  397.  
  398.   To initialize itself, MUSIQUE will:
  399.     Switch video mode, iff user-supplied and suspected necessary.
  400.     Determine the current_drive: 
  401.     Determine the temporary_drive, iff not already user-supplied:
  402.     Look for ModPlay on the temporary_drive, DOS PATH, and current_drive:
  403.       One of MODPLAY.COM, MODPLAY.EXE, or MODPLAY.BAT must be found.
  404.     Look for PKUNZIP.EXE on the temporary_drive, DOS PATH, and current_drive:
  405.       If PKUNZIP.EXE is not found, only *.MOD's can be played.
  406.     These two programs will be copied (iff necessary) to the temporary_drive.
  407.     Determine the parallel ports to be used, iff not already user-supplied.
  408.     Turn off gradually any parallel port to be used.
  409.     Determine the video mode, iff not already user-supplied. 
  410.     Determine the size of the screen.
  411.     Look at byte 484H (lines) for evidence of an extended text mode.
  412.     Initialize the mouse, iff user-requested.
  413.     Clear the screen, set border color, and enable high intensity backgrounds.
  414.     Log onto the temporary_drive.
  415.  
  416.   Then you enter the menu itself:
  417.     Browse with the usual eight keys (keypad) through the menu file. (mouse)
  418.     Browse with the usual nine <Shift> keys (keypad) through the window.
  419.     Pick/unpick a module with <Space>. (left button)
  420.     Pick/unpick all modules with @.
  421.     Randomize the priority of picked modules with *.
  422.     Play the current batch of modules with <Enter>. (right button)
  423.     Abort prematurely the current batch of modules playing with <Escape>.
  424.     Exit to DOS from the menu with <Escape>. (both buttons)
  425.  
  426.   When a module is to be played, MUSIQUE will:
  427.     Check if the user is aborting the current batch with the <Escape> key.
  428.     Look for the .MOD file, then for the .ZIP file (iff PKUNZIP.EXE found):
  429.     Copy the module to the temporary_drive iff necessary.
  430.     Call PKUNZIP to decompress the module on the temporary_drive iff necessary.
  431.     Wait for any active floppy to turn itself off.
  432.     Call MODPLAY to play the module on the temporary_drive.
  433.     Turn off gradually any parallel port used.
  434.     Delete the module on the temporary_drive iff it was copied/decompressed.
  435.     Reset start-up video mode iff necessary.
  436.     Clear the screen, set border color, and enable high intensity backgrounds.
  437.     Display the menu once again.
  438.  
  439.  
  440. Patch for all video modes (offsets may vary):
  441.  
  442.   Any program compiled with Turbo-C may insist on resetting the video adapter 
  443.   to one standard text mode at start-up. This is always the case if that pro- 
  444.   gram (like MUSIQUE) has been instructed to potentially use only the BIOS to 
  445.   perform its output. 
  446.  
  447.   If you want to use MUSIQUE in some extended mode, you would have to always 
  448.   specify the extended video mode with the /i<decimal> flag. I thought this was 
  449.   too annoying since I prefer to use my mode switching program first, and then 
  450.   start MUSIQUE to run in the default mode, may it be standard or non-standard. 
  451.  
  452.   The following two patches prevent MUSIQUE from resetting the video mode upon 
  453.   start-up. They have already been performed on your copy of MUSIQUE.
  454.  
  455.   55          PUSH BP
  456.   8BEC        MOV  BP,SP
  457.   8A4604      MOV  AL,[BP+04]
  458.   3C03        CMP  AL,03 <=== 03 becomes FF
  459.   7606        JBE  60FA
  460.   3C07        CMP  AL,07
  461.   7402        JZ   60FA
  462.  
  463.   Shortly thereafter,
  464.  
  465.   803E123A03  CMP  BYTE PTR [2AE0],03 <=== 03 becomes FF
  466.   760C        JBE  612F
  467.   803E123A07  CMP  BYTE PTR [2AE0],07
  468.   7405        JZ   612F
  469.  
  470.   The offsets may vary slightly due to last minute changes in MUSIQUE.
  471.  
  472.  
  473. Requirements: 
  474.  
  475.   Fast enough AT (±12 MHz for ModPlay)
  476.   Color-capable display adapter (for ModPlay)
  477.   Hard-disk (or RAM-disk) strongly recommended
  478.   DOS 3.0 or better is recommended for its LASTDRIVE statement
  479.   MODPLAY.COM program (version 1.16c, 1.16e, or better)
  480.   PKUNZIP.EXE program (only if some of your modules are pkzipped)
  481.   Plenty of *.MOD (and/or *.ZIP) modules
  482.   Generic mouse (optional)
  483.  
  484.  
  485. Possible Enhancements:
  486.  
  487.   A configuration file MUSIQUE.CFG
  488.   Texture
  489.   User-selected displayed fields in the window
  490.   User-selected key assignments
  491.   User-selected mouse X/Y motion/pixel ratios
  492.   Mouse button swapping for left-handed
  493.   Quick mouse moves à la NeXT through X/Y derivatives monitoring
  494.   Several decompression utilities supported and auto-detected
  495.   DOS_name's in menu files with optional .MOD or .ZIP extensions
  496.   A way of picking modules by searches on the menu fields
  497.   Mouse icons for totally keyboard-less operations.
  498.   Acknowledgements possible with the mouse while using the /p flag.
  499.   Current drive flag.
  500.   Make selected modules play several times in a row.
  501.   Make a batch of modules play forever, randomly too if requested.
  502.   Mouse support in graphics mode.
  503.  
  504.  
  505. Frequently Asked Questions:
  506.  
  507. Q. ModPlay runs fine, but I hear nothing.
  508.  
  509. A. Always run MUSIQUE without any parallel port flags at first.
  510.    It could just make a better parallel port choice than you quickly can. 
  511.    MUSIQUE and ModPlay use a different way of specifying parallel ports.
  512.    For more info, read the "Parallel Ports" section of this brief guide.
  513.    You could also use the /p flag to see what parameters ModPlay receives.
  514.  
  515. Q. MUSIQUE insists on using the E: drive as its temporary drive. 
  516.    There is no E: drive on my system!
  517.  
  518. A. DOS assumes internally that 5 drives are present, unless you say otherwise.
  519.    Please use the standard LASTDRIVE statement in your CONFIG.SYS file.
  520.    Or simply supply explicitly the temporary drive with the /t<letter> flag.
  521.  
  522. Q. MUSIQUE uses my network drive G: which won't work properly.
  523.  
  524. A. Specify the desired temporary drive with the /t<letter> flag.
  525.  
  526. Q. I couldn't care less for all the fancy (useless!) MUSIQUE options.
  527.    How can I quickly play a few modules just sitting on my hard-disk now?
  528.  
  529. A. Create first a list of your modules with "DIR *.MOD >MYLIST.MEN".
  530.    Edit that list so you get something like: ? ? . MODULE1 ?
  531.                                              ? ? . MODULE2 ?
  532.                                              ? ? . MODULE3 ?
  533.                                                   etc
  534.    Then simply run "musique mylist /n" from your hard-drive.
  535.    But you'll never know what you're missing...
  536.  
  537. Q. After playing some modules, my extended screen is not restored properly.
  538.  
  539. A. MUSIQUE uses the standard INT 10H (AH=0 AL=mode) call to set video modes.
  540.    It also uses the standard INT 10H (AH=F) to read your extended mode.
  541.    Does your fancy EGA/VGA card have a complete BIOS in ROM?
  542.    Have you run at least once your generic mode switching program?
  543.    These programs often leave permanently some part of themselves in memory.
  544.    Run "musique /p" and compare the video mode used with the correct one.
  545.    Use the /i<decimal> flag to specify explicitly your video mode.
  546.    Are you using a *decimal* number with the /i flag?
  547.    Also note that MUSIQUE always uses the first text page of your adapter.
  548.  
  549. Q. My screen is a mess.
  550.  
  551. A. MUSIQUE uses by default video RAM assumed continuous.
  552.    Some fancy console drivers (ANSI) may also cause compatibility problems.
  553.    Try the /o flag to see if your BIOS does a better job.
  554.  
  555. Q. Where can I get modules from.
  556.  
  557. A. I got most of my modules by FTP from 128.155.23.64 under amiga/...
  558.    If you want more FTP sites, ask for help under rn.
  559.    If you can't FTP, also ask for help with rn. Lots of folks out there...
  560.    Some local site might just have an e-mail server with modules on-line.
  561.  
  562. Q. After a while, I sometimes get (null) strings printed on the screen.
  563.  
  564. A. ModPlay occasionally corrupts randomly the computer memory with 0's.
  565.    Mark is working actively on that bugette, it's a tough one.
  566.    I suggest that you immediately reboot the computer and avoid playing the 
  567.    module that caused the problem. Do not assume the last module played is the 
  568.    culprit, experiment some more first. 
  569.  
  570. Q. My computer freezes as soon as ModPlay starts.
  571.  
  572. A. Is your computer fast enough? How about using the /a flag?
  573.    Some computers using DOS=HIGH under DOS 5 are known to have speed problems.
  574.    Are you using an Amiga computer!!!
  575.  
  576. Q. I can see ModPlay starting, but it just displays some text and quits.
  577.  
  578. A. It's probably receiving parameters that it doesn't recognize.
  579.    Are you using ModPlay 1.16c, 1.16e, or better?
  580.    You could try "musique /p" to see what parameters it is receiving.
  581.    You could also use some batch file MODPLAY.BAT to adjust the parameters.
  582.  
  583. Q. None of my modules are ever found.
  584.  
  585. A. Remember that MUSIQUE looks into the temporary_drive, the DOS_path you 
  586.    supplied into the menu file for the current module, and the current_drive. 
  587.    It does not look for modules under the standard DOS PATH or DATA path.
  588.    Does : or \ terminate all non-trivial DOS_path strings in the menu file?
  589.    If you are using .ZIP modules, run "musique /p" to see if the PKUNZIP.EXE 
  590.    program has been located on your system during the initialization.
  591.  
  592. Q. To center myself in a window, I must use <Shift> 5 (keypad).
  593.    Why can't I use simply 5 (keypad)?
  594.  
  595. A. That key is not supported by the BIOS. 
  596.  
  597. Q. My mouse doesn't work properly, or at all.
  598.  
  599. A. Have you loaded your mouse driver?
  600.    Is it a standard INT 33H driven mouse driver?
  601.    Are you using the "/m" flag with MUSIQUE?
  602.    How about trying out the BIOS approach with a /o flag?
  603.    Note that the mouse won't work properly in graphics mode.
  604.  
  605. Q. I can't get the bloody syntax in english!
  606.  
  607. A. Try "musique /e /?"
  608.  
  609. Q. Your german stinks!
  610.  
  611. A. Please don't rub it in, and tell me where I made mistakes instead. 
  612.  
  613. Q. MUSIQUE won't run properly on my mono system.
  614.  
  615. A. MUSIQUE should run fine with any video adapter, including mono.
  616.    However, MDA color attributes are not as flexible as color ones.
  617.    You could try something like "musique /k3112 /k4114 /k515"
  618.    Note that right now, ModPlay does not run on a MDA as far as I know.
  619.    Hopefully, Mark will work on that one eventually.
  620.    I am too lazy just now to support dual-screen MDA/CGA systems.
  621.    Use the MODE program to perform the switch prior to starting MUSIQUE.
  622.    Or perform a back and forth switch in your MODPLAY.BAT file.
  623.  
  624. Q. I find garbage on my hard-disk after a session.
  625.  
  626. A. MUSIQUE should clean up its temporary files before any normal exit.
  627.    Have you aborted MUSIQUE with <Escape> at any time?
  628.  
  629. Q. I have a parallel port at a non-standard address, so what?
  630.  
  631. A. Create a MODPLAY.BAT file that disregards the first parameter received
  632.    from MUSIQUE and replaces it with the correct one for you, say "/xm303".
  633.    Then run "musique /0" as if you wanted to use the internal speaker.
  634.    For more info, read the "Parallel Ports" section in this brief guide.
  635.  
  636. Q. I have only two floppies, what do I do?
  637.  
  638. A. Use the floppy with the biggest capacity (say B:) as the source of modules. 
  639.    The small floppy (say A:) will be your temporary_drive. (even 360K is enough)
  640.    Copy MUSIQUE.EXE MUSIQUE.MEN (PKUNZIP.EXE) and MODPLAY.COM onto A:
  641.    Log onto B: and type something like "a:musique a:musique.men /tA".
  642.    You can then feed in modules from B: and have the temporary files on A:
  643.    It's slow, but I guess it's still better than nothing.
  644.    Note that there are a number of alternate ways of handling this situation.
  645.  
  646. Q. I can barely see the menu on my screen.
  647.  
  648. A. Use the "/h" flag to force a uniform high intensity signal.
  649.    Reconfigure colors with a few /k<type><decimal> flags using high colors.
  650.  
  651. Q. When I start MUSIQUE, I hear some noise on my speakers.
  652.  
  653. A. That's MUSIQUE figuring out which parallel ports you have.
  654.    If you really can't stand it, specify with the proper flags your ports.
  655.    I really did my best to be quiet!
  656.  
  657. Q. The mouse cursor doesn't show up on my screen.
  658.    The picked items disappear on my screen.
  659.    Etc...
  660.  
  661. A. Adjust the appropriate colors with some /k<type><decimal> flags.
  662.    For more info, read the "Colors" section in this brief guide.
  663.  
  664.  
  665. Acknowledgments:
  666.  
  667.   I warmly thank Mr. M. Romanycia for trying out for me versions α ß Γ δ ε ∞.
  668.   Marc's numerous comments helped make this program a much better one. They 
  669.   also made for numerous sleepless nights... 
  670.  
  671.   Of course, Mr. M. Cox also deserves high praise for his ModPlay program.
  672.   Keep up the good work, Mark!
  673.  
  674.  
  675. Public Request:
  676.  
  677.   If you have any modules I don't have, please let me know where you got them. 
  678.   MUSIQUE.MEN lists all the modules that I have. Thanks! Franzl
  679.