GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - vampirefrog/mdxtools: A bunch of tools for handling the MDX music format (music for the Sharp x68000)

BranchesTags
Open more actions menu

Latest commit

 

History

459 Commits
459 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
docs
docs
 
 
midilib @ cd90d86
midilib @ cd90d86
 
 
sounds
sounds
 
 
tests
tests
 
 
x68ksjis @ fc80ba0
x68ksjis @ fc80ba0
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
Soundfont.c
Soundfont.c
 
 
Soundfont.h
Soundfont.h
 
 
TODO
TODO
 
 
adpcm-decode.c
adpcm-decode.c
 
 
adpcm-driver-test.c
adpcm-driver-test.c
 
 
adpcm-encode.c
adpcm-encode.c
 
 
adpcm.c
adpcm.c
 
 
adpcm.h
adpcm.h
 
 
adpcm_driver.c
adpcm_driver.c
 
 
adpcm_driver.h
adpcm_driver.h
 
 
adpcm_midi_driver.c
adpcm_midi_driver.c
 
 
adpcm_midi_driver.h
adpcm_midi_driver.h
 
 
adpcm_pcm_mix_driver.c
adpcm_pcm_mix_driver.c
 
 
adpcm_pcm_mix_driver.h
adpcm_pcm_mix_driver.h
 
 
ansidecl.h
ansidecl.h
 
 
arch.h
arch.h
 
 
cmdline.c
cmdline.c
 
 
cmdline.h
cmdline.h
 
 
fixed_generic.h
fixed_generic.h
 
 
fixed_resampler.c
fixed_resampler.c
 
 
fixed_resampler.h
fixed_resampler.h
 
 
fm-driver-test.c
fm-driver-test.c
 
 
fm_driver.c
fm_driver.c
 
 
fm_driver.h
fm_driver.h
 
 
fm_midi_driver.c
fm_midi_driver.c
 
 
fm_midi_driver.h
fm_midi_driver.h
 
 
fm_opm_driver.c
fm_opm_driver.c
 
 
fm_opm_driver.h
fm_opm_driver.h
 
 
fm_opm_emu_driver.c
fm_opm_emu_driver.c
 
 
fm_opm_emu_driver.h
fm_opm_emu_driver.h
 
 
gensinc.c
gensinc.c
 
 
installOptions.ini
installOptions.ini
 
 
mamedef.h
mamedef.h
 
 
md5.c
md5.c
 
 
md5.h
md5.h
 
 
mdx-driver-test.c
mdx-driver-test.c
 
 
mdx.c
mdx.c
 
 
mdx.h
mdx.h
 
 
mdx2midi.c
mdx2midi.c
 
 
mdx2mml.c
mdx2mml.c
 
 
mdx2opm.c
mdx2opm.c
 
 
mdx2pcm.c
mdx2pcm.c
 
 
mdx2vgm.c
mdx2vgm.c
 
 
mdx_compiler.c
mdx_compiler.c
 
 
mdx_compiler.h
mdx_compiler.h
 
 
mdx_decompiler.c
mdx_decompiler.c
 
 
mdx_decompiler.h
mdx_decompiler.h
 
 
mdx_driver.c
mdx_driver.c
 
 
mdx_driver.h
mdx_driver.h
 
 
mdx_pcm_driver.c
mdx_pcm_driver.c
 
 
mdx_pcm_driver.h
mdx_pcm_driver.h
 
 
mdx_pcm_renderer.c
mdx_pcm_renderer.c
 
 
mdx_pcm_renderer.h
mdx_pcm_renderer.h
 
 
mdxdump.c
mdxdump.c
 
 
mdxinfo.c
mdxinfo.c
 
 
mdxplay.c
mdxplay.c
 
 
mdxtools.nsi
mdxtools.nsi
 
 
mdxtools.sublime-project
mdxtools.sublime-project
 
 
midi_timer_driver.c
midi_timer_driver.c
 
 
midi_timer_driver.h
midi_timer_driver.h
 
 
mkpdx.c
mkpdx.c
 
 
mml2mdx.c
mml2mdx.c
 
 
mmlc.l
mmlc.l
 
 
mmlc.y
mmlc.y
 
 
okim6258.c
okim6258.c
 
 
okim6258.h
okim6258.h
 
 
pcm_timer_driver.c
pcm_timer_driver.c
 
 
pcm_timer_driver.h
pcm_timer_driver.h
 
 
pdx.c
pdx.c
 
 
pdx.h
pdx.h
 
 
pdx2sf2.c
pdx2sf2.c
 
 
pdx2wav.c
pdx2wav.c
 
 
pdxinfo.c
pdxinfo.c
 
 
resample-test.c
resample-test.c
 
 
speex_resampler.c
speex_resampler.c
 
 
speex_resampler.h
speex_resampler.h
 
 
stack_alloc.h
stack_alloc.h
 
 
stream.c
stream.c
 
 
stream.h
stream.h
 
 
timer-driver-test.c
timer-driver-test.c
 
 
timer.c
timer.c
 
 
timer.h
timer.h
 
 
timer_driver.c
timer_driver.c
 
 
timer_driver.h
timer_driver.h
 
 
tools.c
tools.c
 
 
tools.h
tools.h
 
 
vgm_logger.c
vgm_logger.c
 
 
vgm_logger.h
vgm_logger.h
 
 
ym2151.c
ym2151.c
 
 

Repository files navigation

mdxtools

Project status GitHub latest commit GitHub Release License

Linux Build MSYS2 MINGW64 Build MacOS Build

A bunch of tools for handling the MDX music format (music for the Sharp X68000 using the MXDRV sound driver).

These tools are aimed at the large collections of MDX files available online (see below for download links). They are meant to convert to other formats, such as vgm, midi and for the curious, MML and dumping the raw MDX data.

  • mdxplay (WIP) - play a mdx file, currently linux only (libao)
  • mdx2pcm (WIP) - render a mdx file to a wav file
  • mdx2vgm (WIP) - convert to VGM format
  • mdxinfo - extract information from a MDX file, and output in .csv format
  • mdx2mml - an MML decompiler
  • mml2mdx - an MML compiler
  • mdxdump - dump all the information in a MDX file.
  • mdxstat - analyze and print out some statistics and totals about given MDX files.
  • mdx2midi (WIP) - a MML to MIDI file converter. Use in conjunction with pdx2sf2 to hear the samples too.
  • mididump - Dump all the info and events in a .mid file. Useful for development. You can also use MidiPiano for a GUI version.
  • mdx2opm (WIP) - Extract OPM voices from MDX file (usable in VOPM).
  • pdx2wav - extract the samples from a PDX file, into 16-bit WAV files.
  • pdx2sf2 - generate a SoundFont file with the samples from the PDX file. Useful for importing a song into a DAW.
  • pdxinfo - extract information from a PDX file, and output in .csv format
  • adpcm-decode - decodes ADPCM data from stdin and outputs 16-bit PCM to stdout (sample rate does not change)
  • adpcm-encode - encodes PCM data from stdin and outputs APDCM data to stdout (sample rate does not change)

The rest of this document is work in progress.

Download music library

  • Neko's collection with >28k songs http://nfggames.com/X68000/Music/MXDRV_Neko68k.rar
  • Another collection (to open, use DiskExplorer) http://nfggames.com/forum2/index.php?topic=4813.0

Ways to listen to MDX files

Windows:

  • Winamp plugin (source available): http://www.vesta.dti.ne.jp/~tsato/soft_sound.html
  • Foobar2000 plugin: http://www.vesta.dti.ne.jp/~tsato/soft_fb2k.html
  • MXV, MXDRVg.dll, X68Sound.dll (sources available): http://gorry.haun.org/mx/index_e.html
  • MDXWin: http://www.pat.hi-ho.ne.jp/sata68/mdxwin.html#mdxwin
  • KbMedia Player: http://hwm5.gyao.ne.jp/kobarin/

Unix:

  • MDXPlay, command line player (mirror)

X68000:

  • MMDSP (runs on the X68000 or an emulator): http://www.gamesx.com/wiki/doku.php?id=x68000:sxsi_disk_image_with_games_and_lots_of_mdx_files

About MML (Music Macro Language)

MML is a text format, containing sound commands similar to MDX and to MIDI as well.

  • MML resources & compilers: http://woolyss.com/chipmusic-mml.php
  • MML description for MXDRV (japanese): http://www16.atwiki.jp/mxdrv/pages/19.html
  • Another MML description: http://www.geocities.co.jp/Playtown-Denei/9628/mck/mckc-e.txt
  • NRTDRV MML description: http://nrtdrv.sakura.ne.jp/index.cgi?page=MML%A5%B3%A5%DE%A5%F3%A5%C9%B0%EC%CD%F7

Compiling MML files to MDX files: Get run68 from http://sourceforge.jp/projects/sfnet_run68/ , then get MDX_TOOL.lzh from http://nfggames.com/x68000/Mirrors/x68pub/x68tools/SOUND/MXDRV/ . Unpack the lzh file in the same folder as run68, then open a command prompt, navigate to the run68 folder, and run run68.exe mxc.x <file.mml> .

You can find other ways of compiling on this page: http://gimic.jp/index.php?MDX%E3%83%87%E3%83%BC%E3%82%BF%E4%BD%9C%E6%88%90

Decompiling: Similar procedure, but get DMDX from DMDX.lzh.

Other tools and resources

  • mdxpg (convert to MIDI): http://www.geocities.jp/sam_kb/VOPM/MDXPG/index.html
  • nfggames x68000 file archive: http://nfggames.com/x68000/
  • especially the tools here (see MDX_TOOL.lzh) http://nfggames.com/x68000/Mirrors/x68pub/x68tools/SOUND/MXDRV/

File formats

  • MML
  • MDX
  • PDX

About the Sharp x68000

It is a desktop computer released by Sharp in 1987 (see wikipedia page). It contains two sound chips, the YM2151 (8 FM channels) and OKI MSM6258 (1 4-bit PCM). There is an expansion card called Mercury unit that can increase the PCM channels to 8.

Emulators

  • XM6 2.06 (source available for 2.05)
  • XM6 Pro-68k
  • XM6 TypeG
  • XM6i
  • WinX68k (source available on the XM6 Pro-68k page)
  • Virtual X68000 (linux)
  • More emulators at Zophar's

Licensing

Please see the LICENSE file for more information.

Contributing

If you would like to improve or contribute to this project, I highly encourage you to submit pull requests instead of maintaining your own fork. This way, it is less confusing for users. I will do my best to include your patches.

Stargazers over time

About

A bunch of tools for handling the MDX music format (music for the Sharp x68000)

Topics

adpcmemulatorm6258mdxmdx-filesmdx-music-formatmidimmlmusicokiokim6258opmsharpvgmx68000ym2151

Resources

Readme
GPL-3.0 license
Activity

Stars

93 stars

Watchers

11 watching

Forks

21 forks
Report repository

Releases

Sponsor this project

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.