Skip to content

Instantly share code, notes, and snippets.

@SirYodaJedi
Created November 15, 2022 18:06
Show Gist options
  • Save SirYodaJedi/67f429b95e4f99f6a104791bd0872ed8 to your computer and use it in GitHub Desktop.
Save SirYodaJedi/67f429b95e4f99f6a104791bd0872ed8 to your computer and use it in GitHub Desktop.
Convert Dark Forces GMD to regular MIDI files
:: This script runs the DOS program GMIDI, which can be found here:
:: https://df-21.net/downloads/utilities/gmidi05b/gmidi05b.zip
:: Put this script and all the GMDs in the GMIDI directory
:: If using DOSBox, put MOVE.EXE from FreeDOS in the GMIDI directory, which can be found here:
:: https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/repositories/1.3/base/move.zip
:: Run this script from the GMIDI directory
@ECHO OFF
mkdir TXTBAK
move *.TXT TXTBAK
mkdir BOSS-05
mkdir BOSS-08
mkdir BOSS-10
mkdir BOSS-11
mkdir BOSS-14
mkdir CARGO
mkdir CLOSCRED
mkdir CRIXMUS
mkdir DEFAULT
mkdir EXECMUS
mkdir FIGHT-01
mkdir FIGHT-02
mkdir FIGHT-03
mkdir FIGHT-04
mkdir FIGHT-05
mkdir FIGHT-06
mkdir FIGHT-07
mkdir FIGHT-08
mkdir FIGHT-09
mkdir FIGHT-10
mkdir FIGHT-11
mkdir FIGHT-12
mkdir FIGHT-13
mkdir FIGHT-14
mkdir FRIGMUS
mkdir GROMAS1
mkdir GROMAS2
mkdir GROOVE2
mkdir JABBAMUS
mkdir NOTELOOP
mkdir OPENCRED
mkdir ROBOT1
mkdir ROBOT2
mkdir RUMBLE
mkdir SMOFFICE
mkdir STALK-01
mkdir STALK-02
mkdir STALK-03
mkdir STALK-04
mkdir STALK-05
mkdir STALK-06
mkdir STALK-07
mkdir STALK-08
mkdir STALK-09
mkdir STALK-10
mkdir STALK-11
mkdir STALK-12
mkdir STALK-13
mkdir STALK-14
mkdir STAR-THM
mkdir SURFIN
mkdir TEMP
mkdir TEST1
mkdir TEST2
mkdir VICTORY
move BOSS-05.GMD BOSS-05
move BOSS-08.GMD BOSS-08
move BOSS-10.GMD BOSS-10
move BOSS-11.GMD BOSS-11
move BOSS-14.GMD BOSS-14
move CARGO.GMD CARGO
move CLOSCRED.GMD CLOSCRED
move CRIXMUS.GMD CRIXMUS
move DEFAULT.GMD DEFAULT
move EXECMUS.GMD EXECMUS
move FIGHT-01.GMD FIGHT-01
move FIGHT-02.GMD FIGHT-02
move FIGHT-03.GMD FIGHT-03
move FIGHT-04.GMD FIGHT-04
move FIGHT-05.GMD FIGHT-05
move FIGHT-06.GMD FIGHT-06
move FIGHT-07.GMD FIGHT-07
move FIGHT-08.GMD FIGHT-08
move FIGHT-09.GMD FIGHT-09
move FIGHT-10.GMD FIGHT-10
move FIGHT-11.GMD FIGHT-11
move FIGHT-12.GMD FIGHT-12
move FIGHT-13.GMD FIGHT-13
move FIGHT-14.GMD FIGHT-14
move FRIGMUS.GMD FRIGMUS
move GROMAS1.GMD GROMAS1
move GROMAS2.GMD GROMAS2
move GROOVE2.GMD GROOVE2
move JABBAMUS.GMD JABBAMUS
move NOTELOOP.GMD NOTELOOP
move OPENCRED.GMD OPENCRED
move ROBOT1.GMD ROBOT1
move ROBOT2.GMD ROBOT2
move RUMBLE.GMD RUMBLE
move SMOFFICE.GMD SMOFFICE
move STALK-01.GMD STALK-01
move STALK-02.GMD STALK-02
move STALK-03.GMD STALK-03
move STALK-04.GMD STALK-04
move STALK-05.GMD STALK-05
move STALK-06.GMD STALK-06
move STALK-07.GMD STALK-07
move STALK-08.GMD STALK-08
move STALK-09.GMD STALK-09
move STALK-10.GMD STALK-10
move STALK-11.GMD STALK-11
move STALK-12.GMD STALK-12
move STALK-13.GMD STALK-13
move STALK-14.GMD STALK-14
move STAR-THM.GMD STAR-THM
move SURFIN.GMD SURFIN
move TEMP.GMD TEMP
move TEST1.GMD TEST1
move TEST2.GMD TEST2
move VICTORY.GMD VICTORY
gmidi BOSS-05\BOSS-05.GMD
move *.MID BOSS-05
move *.TXT BOSS-05
gmidi BOSS-08\BOSS-08.GMD
move *.MID BOSS-08
move *.TXT BOSS-08
gmidi BOSS-10\BOSS-10.GMD
move *.MID BOSS-10
move *.TXT BOSS-10
gmidi BOSS-11\BOSS-11.GMD
move *.MID BOSS-11
move *.TXT BOSS-11
gmidi BOSS-14\BOSS-14.GMD
move *.MID BOSS-14
move *.TXT BOSS-14
gmidi CARGO\CARGO.GMD
move *.MID CARGO
move *.TXT CARGO
gmidi CLOSCRED\CLOSCRED.GMD
move *.MID CLOSCRED
move *.TXT CLOSCRED
gmidi CRIXMUS\CRIXMUS.GMD
move *.MID CRIXMUS
move *.TXT CRIXMUS
gmidi DEFAULT\DEFAULT.GMD
move *.MID DEFAULT
move *.TXT DEFAULT
gmidi EXECMUS\EXECMUS.GMD
move *.MID EXECMUS
move *.TXT EXECMUS
gmidi FIGHT-01\FIGHT-01.GMD
move *.MID FIGHT-01
move *.TXT FIGHT-01
gmidi FIGHT-02\FIGHT-02.GMD
move *.MID FIGHT-02
move *.TXT FIGHT-02
gmidi FIGHT-03\FIGHT-03.GMD
move *.MID FIGHT-03
move *.TXT FIGHT-03
gmidi FIGHT-04\FIGHT-04.GMD
move *.MID FIGHT-04
move *.TXT FIGHT-04
gmidi FIGHT-05\FIGHT-05.GMD
move *.MID FIGHT-05
move *.TXT FIGHT-05
gmidi FIGHT-06\FIGHT-06.GMD
move *.MID FIGHT-06
move *.TXT FIGHT-06
gmidi FIGHT-07\FIGHT-07.GMD
move *.MID FIGHT-07
move *.TXT FIGHT-07
gmidi FIGHT-08\FIGHT-08.GMD
move *.MID FIGHT-08
move *.TXT FIGHT-08
gmidi FIGHT-09\FIGHT-09.GMD
move *.MID FIGHT-09
move *.TXT FIGHT-09
gmidi FIGHT-10\FIGHT-10.GMD
move *.MID FIGHT-10
move *.TXT FIGHT-10
gmidi FIGHT-11\FIGHT-11.GMD
move *.MID FIGHT-11
move *.TXT FIGHT-11
gmidi FIGHT-12\FIGHT-12.GMD
move *.MID FIGHT-12
move *.TXT FIGHT-12
gmidi FIGHT-13\FIGHT-13.GMD
move *.MID FIGHT-13
move *.TXT FIGHT-13
gmidi FIGHT-14\FIGHT-14.GMD
move *.MID FIGHT-14
move *.TXT FIGHT-14
gmidi FRIGMUS\FRIGMUS.GMD
move *.MID FRIGMUS
move *.TXT FRIGMUS
gmidi GROMAS1\GROMAS1.GMD
move *.MID GROMAS1
move *.TXT GROMAS1
gmidi GROMAS2\GROMAS2.GMD
move *.MID GROMAS2
move *.TXT GROMAS2
gmidi GROOVE2\GROOVE2.GMD
move *.MID GROOVE2
move *.TXT GROOVE2
gmidi JABBAMUS\JABBAMUS.GMD
move *.MID JABBAMUS
move *.TXT JABBAMUS
gmidi NOTELOOP\NOTELOOP.GMD
move *.MID NOTELOOP
move *.TXT NOTELOOP
gmidi OPENCRED\OPENCRED.GMD
move *.MID OPENCRED
move *.TXT OPENCRED
gmidi ROBOT1\ROBOT1.GMD
move *.MID ROBOT1
move *.TXT ROBOT1
gmidi ROBOT2\ROBOT2.GMD
move *.MID ROBOT2
move *.TXT ROBOT2
gmidi RUMBLE\RUMBLE.GMD
move *.MID RUMBLE
move *.TXT RUMBLE
gmidi SMOFFICE\SMOFFICE.GMD
move *.MID SMOFFICE
move *.TXT SMOFFICE
gmidi STALK-01\STALK-01.GMD
move *.MID STALK-01
move *.TXT STALK-01
gmidi STALK-02\STALK-02.GMD
move *.MID STALK-02
move *.TXT STALK-02
gmidi STALK-03\STALK-03.GMD
move *.MID STALK-03
move *.TXT STALK-03
gmidi STALK-04\STALK-04.GMD
move *.MID STALK-04
move *.TXT STALK-04
gmidi STALK-05\STALK-05.GMD
move *.MID STALK-05
move *.TXT STALK-05
gmidi STALK-06\STALK-06.GMD
move *.MID STALK-06
move *.TXT STALK-06
gmidi STALK-07\STALK-07.GMD
move *.MID STALK-07
move *.TXT STALK-07
gmidi STALK-08\STALK-08.GMD
move *.MID STALK-08
move *.TXT STALK-08
gmidi STALK-09\STALK-09.GMD
move *.MID STALK-09
move *.TXT STALK-09
gmidi STALK-10\STALK-10.GMD
move *.MID STALK-10
move *.TXT STALK-10
gmidi STALK-11\STALK-11.GMD
move *.MID STALK-11
move *.TXT STALK-11
gmidi STALK-12\STALK-12.GMD
move *.MID STALK-12
move *.TXT STALK-12
gmidi STALK-13\STALK-13.GMD
move *.MID STALK-13
move *.TXT STALK-13
gmidi STALK-14\STALK-14.GMD
move *.MID STALK-14
move *.TXT STALK-14
gmidi STAR-THM\STAR-THM.GMD
move *.MID STAR-THM
move *.TXT STAR-THM
gmidi SURFIN\SURFIN.GMD
move *.MID SURFIN
move *.TXT SURFIN
gmidi TEMP\TEMP.GMD
move *.MID TEMP
move *.TXT TEMP
gmidi TEST1\TEST1.GMD
move *.MID TEST1
move *.TXT TEST1
gmidi TEST2\TEST2.GMD
move *.MID TEST2
move *.TXT TEST2
gmidi VICTORY\VICTORY.GMD
move *.MID VICTORY
move *.TXT VICTORY
move TXTBAK\*.* .
del TXTBAK
ECHO GMDs with multiple tracks have been exported as multiple MIDs. Only the first
ECHO MID has instruments assigned; use the instruments from that MID for all
ECHO subsequent MIDs. A TXT file with a list of all tracks in the GMD has been
ECHO created for such tracks, and can be used to reconvert to GMD with GMIDI.
@ECHO ON
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment