@DPCM<num> = { "<str>", <param1>, <param2>, <param3>, <param4> }

<num> (0 — 63)
The note [semitone] to map the sample to in the E track. Starts with note c0. Because it maps to semitones, it's recommended to use direct notations (@DPCM0 corresponds to n0, @DPCM1 to n1, etc.); alternatively, map samples only to values that correspond to the "white keys" of a keyboard (e.g. @DPCM0, @DPCM2, @DPCM4 for C0, D0 and E0 respectively, and so on). Both these methods will make it easier for you to type and read your DPCM track.

The file path to the DMC sample file relative to the location of ppmck_e.exe.

<param1> (0 — 15)
Changes the pitch of the sample. 15 is normal. 0 is slow/low.

Values for this parameter do not correspond to a linear series of pitches. Refer to this chart for value/pitch comparison:

DPCM Pitch Chart
Value Pitch difference (in semitones) Example
0 -36 C-1
1 -34 D-1
2 -32 E-1
3 -31 F-1
4 -29 G-1
5 -27 A-1
6 -25 B-1
7 -24 C-2
8 -22 D-2
9 -19 F-2
10 -17 G-2
11 -15 A-2
12 -12 C-3
13 -8 E-3
14 -5 G-3
15 0 C-4


<param2> (0 — 4081)
OPTIONAL. The playback size of the sample. Specifying 0 or leaving this parameter out will make playback size equal filesize, which is ok. If the sample filesize is less than the size you specify here, the sample will be padded to it at playback.

<param3> (0 — 15)
OPTIONAL. To use, you must specify param1 and 2 also. This param3 is the Initial Delta Counter value, which is written to $4011 on note trigger. $ff is recommended. If you put in $00, you may get clicks. Using a non-zero value may change the volume of Triangle track C and and Noise Track D.

<param4> (0 — 2)
OPTIONAL. To use, you must specify param1, 2 and 3 also. DMC Playback mode.
0 = normal playback mode.
1 = looped playback mode.
2 = normal playback mode with IRQ (not recommended).

Defines the path to and paramaters for a delta pulse modulation channel (DPCM) sample to be played on track E. The DPCM channel will play back 1-bit samples. Useful for drums and other short sound effects. There is no volume control, so adjust your volumes accordingly before conversion to the DMC format.

; A standard DPCM definition to note C0.
@DPCM0 = { "..\..\examples\dmc\snare.dmc", 15 }

; expanded definition, LOOPED playback.
@DPCM1 = { "..\..\examples\dmc\snare.dmc", 15, 0, 0, 1 }
Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.