No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A pixel-exact browser recreation of MDP.EXE, the S3M/MOD player and music-disk engine by Future Crew (1993). One site, a launcher to pick the disc, then the original menu and playing screen at the original 640x480.
| Disc | Player | Content |
|---|---|---|
journey1 | MDP v1.0 | Journey I, Purple Motion |
journey2 | MDP v1.0 | Journey II, Purple Motion |
chmind | MDP v1.1 | Chaotic Mind, Skaven (adds +/- volume, S mono/stereo) |
The original files stay untouched in their folders.
tools/build.sh dist && python3 -m http.server -d dist 8000
Open http://localhost:8000/. Pushes to main deploy to GitHub Pages (.github/workflows/pages.yml).
Mouse: wheel scrolls the menu (volume on the playing screen, with Shift: order), click selects then plays, click the progress bar to seek, click "ESC for menu" / "F10 for dos". Back button or Backspace: playing screen to menu, menu to launcher.
CRT option (display only, off by default; checkbox or C, remembered): a scanline + faint vignette overlay. The picture is then sized to a whole number k of device pixels per source row (k*480 px high) so the bands are regular, with no moire; unavailable (checkbox greyed) when k < 2.
Your own music: the launcher has a "Your own music" entry (disc.html?d=upload): pick or drop any module libopenmpt loads (MOD S3M XM IT 669 AMF AMS DBM DMF DSM FAR MDL MED MTM OKT PTM STM ULT UMX MT2 PSM ...; not libmodplug's ABC/MIDI/PAT) and it plays on the original playing screen with the same controls. The file stays in the browser. S3M and standard MODs use the exact parser; other formats get their note markers from libopenmpt's pattern data (sample volume/loop and slides are not followed, so the markers are approximate).
Keys: arrows / PgUp / PgDn and Enter in the menu; Esc switches between menu and playing screen, F10 leaves;
Left/Right change order; +/- volume and S stereo on Chaotic Mind; Space pauses. Under the canvas: pause,
seek bar and a Hi-fi / Old-school sound switch.
tools/oracle.py, tools/tests/menu_vs_oracle.mjs). The v1.1 menu and the playing screen's static parts match
DOSBox-X captures with 0 differing pixels.| Path | Content |
|---|---|
site/ | The web app (js/menu.js, text.js, play.js, vga.js, tracker.js, audio worklet), writeup.html |
tools/ | Emulator oracle, disassembler helper, DOSBox-X capture scripts, tests, build.sh |
docs/ANALYSIS.md | Reverse-engineering notes |
work/ | Disassembly dumps and the unpacked v1.0 EXE |
All content belongs to its authors: MDP, Future Crew; music, Purple Motion and Skaven; sound engine STMIK, Sami
Tammilehto; libopenmpt, the OpenMPT project (see site/vendor). Preservation and educational port.