Skip to content
shaw02 edited this page Sep 3, 2019 · 5 revisions

Welcome to the NES Snund Driver & Libraly (Nsd.lib) wiki!
This is a sound driver for the Nintendo Entertainment System (NES) and other compatible machines.
You can use it to play Background Music (BGM) and Sound Effects (SE) in your game projects and demos.

Features

  • This sound driver was developed with CPU load and code size in mind. The sequence data is optimized to take up as little ROM space as possible.
  • The library functions can be called from both Assembly and C.
  • A MML Compiler, written in C++, converts MML files into sequence data the driver can use. It can output in assembly language as well as the NSF music format.
  • This driver has various effects and commands to allow for ample musical expressiveness.
  • 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