Skip to content
shaw02 edited this page Sep 6, 2019 · 2 revisions

Structure Reference: nsd_dpcm

Define

nsd.inc (Include file for C language)

typedef struct{
    char        Control;            /*  I/O 0x4010  */
    char        DA;                 /*  I/O 0x4011  */
    char        Address;            /*  I/O 0x4012  */
    char        Size;               /*  I/O 0x4013  */
} nsd_dpcm;

nsd.h (Include file for assembly language)

.Struct nsd_dpcm
        Control         .byte       ;I/O 0x4010
        DA              .byte       ;I/O 0x4011
        Address         .byte       ;I/O 0x4012
        Size            .byte       ;I/O 0x4013
.ifdef  DPCMBank
        Bank            .byte       ;Bank number
        Next            .byte       ;Next number(note)
.endif
.Endstruct

Members

  • Control for the control register address 0x4010.
  • DA for the control register address 0x4011.
  • Address for the control register address 0x4012.
  • Size for the control register address 0x4013.

Contents

MML compiler nsc.exe will convert the DPCM{} command into this structure nsd_dpcm when comile the MML file.
In this structre, there is the delta pcm information about each note.
First is note C1, Secound is note C#1, and etc...

  • Home
  • Developer's Guide
  • Function reference
  • Structure reference
  • MML command reference
    • Setting command
    • Define Envelope pattern (E(){})
    • Define Patch pattern (P(){})
    • Define Delta PCM (DPCM{})
    • Define FDS carrer wave (FDSC(){})
    • Define FDS modulator wave (FDSM(){})
    • Define VRC7 voice (VRC7(){})
    • Define N16x voice (N163(){})
    • Define Sequence (BGM(){},SE(){},Sub(){})
      • Notes (a,b,c,d,e,f,g)
      • Rest (r,w)
      • Key shift (k)
      • Length (l)
      • Octave (o)
      • Quantize (q)
      • Sweep (s)
      • Tempo (t)
      • Volume (v)
      • Memory witer (y)
      • VRC7 register write (yV)
      • Detune (D,D%)
      • Envelop (E@,Ev,Em,En)
      • Pseudo echo (EC)
      • Pseudo echo buff control
      • SN5b Envelop Frequency (F)
      • Key signature (K{})
      • Scale (scale())
      • Jump (j)
      • Loop (L)
      • n16x channnel number (NC)
      • Portamento (P)
      • Portamento2 ({})
      • Relase control (Rm,R@,Rv)
      • Sub routine call (S)
      • SE call (SE)
      • Track (TR)
      • Call macro ($)
      • Define local macro ($$)
      • Set Instruments (@)
      • Set Patch (@P)
      • Set VRC7 user instruments (@V)
      • Set FDS carrer waveform (@FC)
      • Set FDS modulator wafevorm (@FM)
      • Set FDS modulator frequency (@FF)
      • Set FDS master volume (@FV)
      • Load n16x wafe vorm (@N)
      • Load n16x wafe vorm (@NL)
      • Set n16x sample length (@NS)
      • Relative volume ((,))
      • Relative octave (<,>,",')
      • Repeat type A ([,:,])
      • Repeat type B (|:,\,:|)
      • Tie (^)
      • Transpose (_,__)
Clone this wiki locally