| DOSMid - a low-requirements MIDI player for DOS | |
| http://dosmid.sourceforge.net | |
| *** INTRO *** | |
| DOSMid is a MIDI player for DOS. It's a real mode application designed to run | |
| on very modest hardware configurations. It plays both MIDI and RMID files. | |
| DOSMid is not a software MIDI emulator, thus it requires a MIDI-capable | |
| hardware available via the standard MPU-401 interface. Some sound cards | |
| provide such interface natively, although many need an additional 'wavetable' | |
| daughterboard to produce actual MIDI sound. | |
| Minimal requirements: | |
| - a MPU-401 compatible sound card with a synthesizer (wavetable or external) | |
| - an 8086 CPU or better | |
| - a video card able to display an 80x25 text mode (ie. CGA or better) | |
| Highly recommended: | |
| - an 80286 CPU | |
| - VGA | |
| - 256K of available XMS memory | |
| *** USAGE *** | |
| During runtime, DOSMid can be controlled with the keyboard: | |
| ESC Quits to DOS | |
| +/- Volume up/down | |
| ENTER Skip to next song | |
| At the command-line, DOSMid accepts several options, as listed below: | |
| DOSMID [/noxms] [/delay] [/mpu=XXX] file.mid | |
| /noxms Use conventional memory instead of XMS. This is obviously useful | |
| only if you don't have have XMS. Don't use this option otherwise, | |
| since without XMS you won't be able to load MIDI files bigger | |
| than a few dozen KiBs (at least not all tracks). | |
| /nodelay Do not wait 2ms before each XMS access. Such waiting is sometimes | |
| required when the MPU controller is emulated by a TSR driver | |
| (specifically, the AWEUTIL driver used with SoundBlaster AWE 32/64 | |
| cards happens to crash if XMS accesses are not slightly delayed). | |
| If you are a MIDI puritan (and NOT using AWEUTIL), you can use | |
| /nodelay, but you are unlikely to hear any difference anyway. | |
| /mpu=XXX Force dosmid to use MPU-401 on port XXX. If not forced, DOSMID | |
| scans the BLASTER environment variable for the MPU port, and if not | |
| found, it fallbacks to port 330h. | |
| /log=FILE Logs all DOSMid activity to FILE. This is clearly a debugging | |
| option that you shouldn't be interested in. Beware, the log file | |
| can be pretty big (much bigger than the MIDI file you are playing). | |
| /fullcpu Do not let DOSMid being CPU-friendly. By default DOSMid issues an | |
| INT 28h when idle, to let the system be gentler on the CPU, but on | |
| some hardware this might lead to degraded sound performance. | |
| /dontstop Never ask the user to press a key after an error occurs. This is | |
| useful if you want to play a long playlist and don't care about | |
| bad MIDI files, simply skipping them (or if you play a single file | |
| and wish that DOSMid exit immediately if the file is unplayable). | |
| *** LICENSE *** | |
| Copyright (C) 2014,2015, Mateusz Viste | |
| All rights reserved. | |
| Redistribution and use in source and binary forms, with or without | |
| modification, are permitted provided that the following conditions are met: | |
| 1. Redistributions of source code must retain the above copyright notice, this | |
| list of conditions and the following disclaimer. | |
| 2. Redistributions in binary form must reproduce the above copyright notice, | |
| this list of conditions and the following disclaimer in the documentation | |
| and/or other materials provided with the distribution. | |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
| ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE | |
| LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |
| CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |
| SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
| INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |
| CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |
| ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
| POSSIBILITY OF SUCH DAMAGE. |