blob: db9259cabd194c734d119ecb4d5da48c2d8bcb68 [file] [log] [blame] [raw]
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 80386 CPU
- VGA
- 512K 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|playlist.m3u
/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).
/nosound Disable sound (not very useful for a music player!)
*** 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.