Skip to content

How to add a Chip

Persune edited this page Mar 28, 2023 · 5 revisions

Note: Dn-FamiTracker's aim is to fill in the gaps of NSF, NSFe and NSF2 features and/or emerging NESDev homebrew standards that 0CC or Vanilla fails to meet due to a lack of maintenance. As such, Dn-FT will only implement features present in current NSF/NSFe/NSF2/INES/INES2.0 standards and definitions, keeping in mind the original goal of producing music for the NES/Famicom-systems.

All of these must be implemented in one go before you can have a chance to prototype and debug:

  1. Emulation core and emu core class handler. eg. EPSM.cpp; emu_YMF288.cpp
  2. sound handling and mixing (eg. APU.cpp, Mixer.cpp, SoundGen.cpp implementations)
  3. Channel handler (eg. ChannelsEPSM.cpp, ChannelHandler.cpp)
  4. Instrument handling (eg. InstrumentEPSM.cpp, InstrumentHandlerEPSM.cpp, InstrumentEditorEPSM.cpp, SeqInstHandlerEPSM.cpp)
  5. Document bindings and types (eg. APU\Types.h, ChannelFactory.cpp, ChannelMap.cpp, DetuneDlg.cpp, FamiTrackerDoc.cpp, FamiTrackerTypes.cpp, FamiTrackerView.cpp, TrackerChannel.cpp)

After prototyping and debugging and making sure everything works okay, be sure to implement the NSF driver

  1. (see bhop)
Clone this wiki locally