From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from wopr.sciops.net ([216.126.196.60]) by ewsd; Tue Jul 10 12:31:04 EDT 2018 Received: (qmail 45666 invoked from network); 10 Jul 2018 09:30:50 -0700 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on wopr.sciops.net X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,RDNS_DYNAMIC, TVD_RCVD_IP autolearn=no autolearn_force=no version=3.4.1 Received: from 243.216.7.109.rev.sfr.net (HELO u24.nope) (qwx@109.7.216.243) by wopr.sciops.net with ESMTPS (ECDHE-RSA-AES128-GCM-SHA256 encrypted); 10 Jul 2018 09:30:50 -0700 Message-ID: From: qwx Date: Tue, 10 Jul 2018 18:30:52 +0200 To: 9front@9front.org Subject: doom music and opl3 emulation MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: content-addressed virtual service hypervisor content-driven interface Hello, I've been working on a MIDI player which supports GENMIDI lumps in doom wad files. These are instrument banks used with OPL2-compatible sound cards. The end result is a fairly good approximation of what doom sounds like on DOS with such a sound card. To try it out: - grab dmid, opl3 and rc/dmus from my contrib - install the dmus script so it's accessible as /bin/dmus - cd dmid; mk dmid.install - cd opl3; mk install - mount the doom wad you'll play using wadfs, for example: games/wadfs /sys/games/lib/doom/doom2.wad - launch games/doom with the same wad Wadfs is required to access the wad's GENMIDI (it will be accessible as /mnt/wad/genmidi by default). Dmid uses GENMIDI to convert a MIDI file into OPL3 instructions; opl3 then synthesizes pcm audio. If the dmus script exists, it is launched by doom to play a music lump, and it writes raw audio to its stdout. I'm not sure these belong in 9front, since all three components are required, it's a bunch of code, and they don't yet have a use outside of doom music. Anyway, enjoy, qwx