code: plan9front

Download patch

ref: 6468f848bc16cae5a74ec15337298e33a2ff1aae
parent: d65589c29941b16a5239f6f2e9c8f6fea5c863a2
author: qwx <qwx@sciops.net>
date: Sat Jan 21 13:15:08 EST 2023

games/dmid(1), games/opl3(1): formatting and update for streaming

clarifications and formatting; we also now include
doom's shareware, use it in the examples.

--- a/sys/man/1/dmid
+++ b/sys/man/1/dmid
@@ -20,7 +20,9 @@
 .SM OPL3
 instructions suitable for playback by
 .IR opl3 (1).
-To program instruments, an OPL2 instrument bank formatted as
+To program instruments, an
+.SM OPL2
+instrument bank in the same format as
 .SM GENMIDI
 lumps from
 .I doom
@@ -36,9 +38,11 @@
 The
 .B -s
 flag enables streaming mode,
-in which the input file is a stream of MIDI events.
-The file needn't provide any timing information such as MIDI tics.
-This is suitable for MIDI instruments.
+in which the input is a
+.IR pipe (3)
+streaming MIDI events.
+It needn't provide any timing information such as MIDI timing clocks.
+This is suitable for MIDI devices transmitting in real time.
 .PP
 In
 .SM GENMIDI
@@ -58,9 +62,8 @@
 file:
 .IP
 .EX
-% games/wadfs /sys/games/lib/doom/doom2.wad
-createfile SW18_7: file already exists
-% games/mus /mnt/wad/d_doom | games/dmid | games/opl3 >/dev/audio
+% games/wadfs /sys/games/lib/doom/doom1.wad >[2]/dev/null
+% games/mus /mnt/wad/d_e1m8 | games/dmid | games/opl3 >/dev/audio
 .EE
 .PP
 Play a MIDI stream from a USB device (see
@@ -67,8 +70,8 @@
 .IR usb (3)):
 .IP
 .EX
-% games/wadfs /sys/games/lib/doom/doom2.wad >[2]/dev/null
-% games/dmid -s /dev/usb/ep10.1/data | games/opl3 >/dev/audio
+% games/wadfs /sys/games/lib/doom/doom1.wad >[2]/dev/null
+% games/dmid -s /dev/usb/ep10.1/data | games/opl3 -s >/dev/audio
 .EE
 .SH SOURCE
 .B /sys/src/games/dmid.c
@@ -77,6 +80,7 @@
 .IR mus (1) ,
 .IR opl3 (1) ,
 .IR audio (3) ,
+.IR pipe (3) ,
 .IR usb (3) ,
 .IR wadfs (4)
 .SH HISTORY
--- a/sys/man/1/opl3
+++ b/sys/man/1/opl3
@@ -4,6 +4,8 @@
 .SH SYNOPSIS
 .B opl3
 [
+.B -s
+] [
 .B -r
 .I rate
 ] [
@@ -11,10 +13,10 @@
 ]
 .SH DESCRIPTION
 .I Opl3
-is an emulator of a single Yamaha 262 chip, also known as
+is an emulator of a single Yamaha YMF262 chip, also known as
 .SM OPL3.
 .PP
-The emulated chip is programmed by a stream of commands either from
+The emulated chip is programmed by a series of commands either from
 .I file
 or from standard in.
 It then synthesizes stereo 16-bit little-endian PCM samples
@@ -24,6 +26,13 @@
 default 44.1 kHz rate,
 and writes them to standard out.
 .PP
+The
+.B -s
+flag enables streaming mode,
+in which the input is a pipe streaming commands
+in identical format and semantics as described below,
+but in real time.
+.SS "Command format"
 Commands are 5 bytes wide, in little-endian byte order:
 .PP
 .RS
@@ -55,6 +64,7 @@
 .SH SOURCE
 .B /sys/src/games/opl3
 .SH "SEE ALSO"
+.IR dmid (1) ,
 .IR audio (3)
 .PP
 Yamaha