First post, by theelf
- Rank
- Oldbie
Hi all!
Back in 1994 I wrote a small MIDI player for DOS as a commission for a client who was into electronic music. The source code was lost on a hard drive that died, but I recently managed to recover it, so I finished it, polished everything a bit, and here is the new version.
Its made for 286 with a Roland SC-55/88/whaatever GM connected through the MPU-401. If someone need aa 8088 version i can try compile
Features
- Plays .MID / .RMI / .KAR files through any MPU-401 in UART mode (330h by default, or the P= value from your BLASTER variable, or MPUPORT= in the ini)
- Streaming player: MIDIs are read from disk while playing, so even big files start instantly on a 286. No XMS/EMS needed
- Sends everything to the module: all channel messages and SysEx (GS resets, effects, etc.)
- Text mode UI (80x25, custom 8x16 font) that draws an SC-55 front panel, with a 16-channel level meter on the LCD, song length and elapsed time
- File browser with long names: reads DIR.LST (folder names) and FILES.LST (file names) in each folder, format SHORTNAME=Long name. UTF-8 / Latin-1 names are converted to CP437
- "Game - Song" names are split automatically for loose files (game on top, song at the bottom)
- SPACE plays the whole folder (up to 1000 files per folder), ENTER plays a single file, and you can keep browsing while music plays
- Configurable colors (SC55COLOR=, LCDCOLOR=) by reprogramming the VGA DAC, so you can get the original grey/amber look
- Optional background effects: EFFECT=STARS or EFFECT=SNOW
- Command line mode: MPUMID song.mid just plays the file with no GUI and no video mode change (safe for Hercules/MDA). It only prints the name/copyright stored in the MIDI
Requirements
- 286 or better
- VGA for the GUI (command line mode works on anything)
- MPU-401 compatible interface in UART mode + a GM/GS module (SC-55, SC-88, MT-32 in GM mode, etc.)
Keys
Arrows / PgUp / PgDn / Home / End: move
ENTER: play file / enter folder
SPACE: play whole folder
BACKSPACE: go up
I: info
ESC: stop music / exit
MPUMID.INI
PATH=C:\MIDI ; start folder for the browserSC55COLOR=80,79,75 ; body color (R,G,B or 0-15 palette index)LCDCOLOR=255,197,12 ; LCD colorEFFECT=STARS ; NONE, STARS or SNOW;MPUPORT=330 ; MPU-401 port (hex)
Notes
- The UI texts are mostly in Spanish for now (sorry!). If people are interested I can add an English option
Screenshots:
Download:
Bug reports and feedback are very welcome. Hope someone enjoys it as much as I do!