From 09fcea6c83c545c2da2e613225bcb3cae71e271d Mon Sep 17 00:00:00 2001 From: Persune Date: Wed, 7 Jan 2026 12:25:05 +0800 Subject: [PATCH 01/18] Reword module properties descriptions --- hlp/properties.htm | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/hlp/properties.htm b/hlp/properties.htm index f5222bd..bfb0c04 100644 --- a/hlp/properties.htm +++ b/hlp/properties.htm @@ -27,17 +27,14 @@

Song editor

Screenshot of Import file dialog

- It is also possible to import module files as songs. Including - instruments is optional: if you choose to then the new instruments and sequences will be - added to the current project (it will not look for identical existing - instruments). If you choose not then only pattern data will be included, this is - used to combine multiple files where the same instrument set is - used.

+ It is also possible to import module files as songs. + Including instruments is optional: if you choose to then the new instruments and sequences will be added to the current project (it will not look for identical existing instruments). + If you choose not then only pattern data will be included, this is used to combine multiple files where the same instrument set is used.

- You can also import grooves and the - detune table from the module file. - Note that importing the detune table will overwrite the existing table.

+ You can also import grooves and the + detune table from the module file. + Note that importing the detune table will overwrite the existing table.

Expansion sound checkboxes

@@ -50,7 +47,8 @@

Expansion sound checkboxes

for the module. Any combination of expansion chips may be enabled.

- The channel count selector is only available for Namco 163.

+ The channel count selector is only available for + Namco 163.

Device mixer

@@ -84,10 +82,14 @@

Vibrato settings

Screenshot of vibrato settings section

- As of vanilla version 0.3.5, a new vibrato style is available. The new - style is bending both up and down, as opposed to down only with the old style. - The new style is default for new songs and the old style will be default for files created with earler versions of - vanilla Famitracker. Here it's possible to change the style as you wish.

+ There are two styles of vibrato. The new style bends the pitch both up + and down, while the old style bends only bends the pitch down. +
+ The new style is set by default for new songs while the old style is + set by default for files created with earler versions of vanilla + Famitracker. Here it's possible to change the style as you wish. +
+ The new style was implemented since vanilla version 0.3.5.

Pitch mode settings

@@ -95,9 +97,11 @@

Pitch mode settings

Screenshot of vibrato settings section

+ Linear pitch treats all pitch effects on melodic channels uniformly by + subdividing each semitone into 32 equal parts. +
As of vanilla version 0.4.0, linear pitch was added but not available. - It is implemented in 0CC version 0.3.14.2. Linear pitch treats all pitch effects - on melodic channels uniformly by subdividing each semitone into 32 equal parts.

+ It is implemented in 0CC version 0.3.14.2.


Back to interface · main index From efd06810820f69ad105233e1b45e39e4d37de388 Mon Sep 17 00:00:00 2001 From: Persune Date: Wed, 7 Jan 2026 13:59:19 +0800 Subject: [PATCH 02/18] Correct spelling of GitHub in Help menu - Minor correction in change log --- CHANGELOG.md | 4 ++-- hlp/main_index.htm | 12 ++++++------ hlp/menu_help.htm | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 96114f5..1ef77d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -142,10 +142,10 @@ This update simply adds the changelog information from 0.4.0.0 and 0.4.0.1 into Additions -- Updated the changelog to version 0.3.1.0 +- Updated the changelog to version 0.3.1.0 -#### Note from Dn-FT maintainer: +## Note from Dn-FT maintainer Before this release, Dn-help used to be part of the main repository, where it was first reimplemented at Dn0.3.0.0. Then, Dn-help became its own subrepository, where the initial commit was made on 2021-04-30, sometime after Dn0.3.0.0. diff --git a/hlp/main_index.htm b/hlp/main_index.htm index fd6d2ca..f175455 100644 --- a/hlp/main_index.htm +++ b/hlp/main_index.htm @@ -90,25 +90,25 @@

Contributing

If you want to contribute to the help file, please feel free to - do so by creating a pull request or issue on the Dn-Help Github. + do so by creating a pull request or issue on the Dn-Help GitHub.

- - + + - + - + - +
Dn-FamiTracker Github: Link to Github repositoryDn-FamiTracker GitHub: Link to GitHub repository
Dn-Help Github:Dn-Help GitHub: Link to Dn-Help repository
FamiTracker Website (archived link):http://www.famitracker.comhttp://www.famitracker.com
Discord:FamiTracker Discord Invite Linkfamitracker.org Discord Invite Link
diff --git a/hlp/menu_help.htm b/hlp/menu_help.htm index 4035f4c..4640316 100644 --- a/hlp/menu_help.htm +++ b/hlp/menu_help.htm @@ -25,7 +25,7 @@ Open the About Dn-FamiTracker dialog.

Check for updates...
- Sends a query to Github if a new release is published.

+ Sends a query to GitHub if a new release is published.


Back to menus · interface · main index From 1cb536bc98f0a92fa00de469c1145d92498d0b9f Mon Sep 17 00:00:00 2001 From: Persune Date: Wed, 7 Jan 2026 14:49:18 +0800 Subject: [PATCH 03/18] Declutter pattern editor selection description - Add monospace styling to single key entries --- hlp/pattern_editor.htm | 54 +++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/hlp/pattern_editor.htm b/hlp/pattern_editor.htm index e1674b6..2b0adcf 100644 --- a/hlp/pattern_editor.htm +++ b/hlp/pattern_editor.htm @@ -17,7 +17,7 @@
  • Note and octave
    - Displays the note and octave, or the commands note cut (---) and note release (===). + Displays the note and octave, or the commands note cut (---) and note release (===).
    • Note cut immediately silences the channel.
    • Note release activates the instrument release sequences.
    • @@ -25,11 +25,16 @@
      The editor must be in record mode to insert notes in this column, toggle record / normal mode with the space key.
      - Notes are located on keyboard keys: Z = C, S = C#, X = D, D = D#, C = - E... (Q, 2, W is one octave higher)
      - Default key for note cut is '1' and note release is '§', but both can be - changed in the configuration window and general tab.
      - Octave can be stepped up and down with numpad keys '/' and '*'.
      + Notes are located on keyboard keys: Z = C, S = C#, X = D, D = D#, C = + E... (Q, 2, W is one octave higher) +
      +
      + Default key for note cut is 1 and note release is \, but both can be + changed in the configuration window and general tab. +
      +
      + Octave can be stepped up and down with numpad keys / and *, but it can be configured the Shortcuts configuration menu. +

    • @@ -59,7 +64,7 @@

      Use insert-key to insert rows and delete-key to delete rows. Backspace will remove the previous row. - Each field can be cleared by using the '-' (dash) key.

      + Each field can be cleared by using the - (dash) key.

      Channels can be muted by clicking it's name in the channel header, double clicking @@ -67,13 +72,34 @@ commands are Alt+F9 & Alt+F10.

      - Selections can be done in this area with support for drag and drop operations. For selections, these commands are available:
      - Ctrl+A (first time) = select whole channel, Ctrl+A (second time) = select all - channels
      - Ctrl+C = copy, Ctrl+X = cut, Ctrl+V = paste
      - Ctrl+mouse wheel = transpose
      - Shift+mouse wheel = shift instrument/volume/effect values up/down
      - Special commands: Use Shift+Copy to copy volume column as text.

      + Selections can be done in this area with support for drag and drop operations. For selections, these commands are available:

      +
        +
      • + Ctrl+A (first time) = select whole channel, Ctrl+A (second time) = select all channels +
        +
        +
      • +
      • + Ctrl+C = copy, Ctrl+X = cut, Ctrl+V = paste +
        +
        +
      • +
      • + Ctrl+mouse wheel = transpose +
        +
        +
      • +
      • + Shift+mouse wheel = shift instrument/volume/effect values up/down +
        +
        +
      • +
      • + Special commands: Use Shift+Copy to copy volume column as text. +
        +
        +
      • +

      Additional keys can be found in key command-section.

      From f93762c6b06959e21ac4f5b3441329af0409d82e Mon Sep 17 00:00:00 2001 From: Persune Date: Wed, 7 Jan 2026 15:50:07 +0800 Subject: [PATCH 04/18] Adjust hardware length counter table layout - Clarify 5B V00 command - Close hanging paragraph tags --- hlp/effect_list.htm | 189 +++++++++++++++++++++++++++++++++----------- 1 file changed, 144 insertions(+), 45 deletions(-) diff --git a/hlp/effect_list.htm b/hlp/effect_list.htm index 99449ad..3c0b378 100644 --- a/hlp/effect_list.htm +++ b/hlp/effect_list.htm @@ -204,7 +204,7 @@ Pxx - Fine pitch

      Sets the fine pitch in xx pitch units.
      - The default value is 80.
      + The default value is 80.


      Qxy - Note slide up
      @@ -248,7 +248,7 @@ Enable - + (Silence) Tone Noise Tone
      Noise @@ -304,7 +304,7 @@
      Ixx - Custom patch byte write
      -

      Byte xx to be written at the address port specified. To be used with Hxx.
      +

      Byte xx to be written at the address port specified. To be used with Hxx.



      @@ -365,68 +365,167 @@
      Exx - 2A03 hardware length counter
      -

      Enables the length counter and sets it to the value listed in the table below.
      +

      Enables the length counter and writes the raw value listed in the table below. This raw value corresponds to a note length in + APU frame counter cycles.
      On the triangle channel, this also intializes its linear counter; whichever shorter will cut the triangle output first.
      - Default value is 01 (254).

      - - - - - - - - - - - - - - - - - - - - - - - - - + For more information, see the + length counter table.
      + Default value is 00 (10 cycles).

      + +

      Linear length values:

      + +
      x0x1x2x3x4x5x6x7x8x9xAxBxCxDxExF
      0x1025420
      + + + + + + - + + + - + + + - + + + - + + + - + + + - + + + - - + - + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + +
      Raw value (hex)Length in cycles (decimal)
      03 240
      05 480
      07 6160
      09 860
      0B 1014
      0D 1226
      0F 14
      1x1211 1624
      13 1848
      15 2096
      17 22192
      19 2472
      1B 2616
      1D 2832
      1F 30
      01254
      + +

      Base length 12:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Raw value (hex)Length in cycles (decimal)
      1012
      1224
      1448
      1696
      18192
      1A72
      1C16
      1E32
      + +

      Base length 10:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Raw value (hex)Length in cycles (decimal)
      0010
      0220
      0440
      0680
      08160
      0A60
      0C14
      0E26
      +

      This effect also works for the MMC5 pulse channels.
      Valid range: 00 - 1F.


      From ea95e273ed11bd0124776763b8bace6fb40799c0 Mon Sep 17 00:00:00 2001 From: Persune Date: Wed, 7 Jan 2026 17:05:53 +0800 Subject: [PATCH 05/18] Reword NSF export page --- hlp/nsf_export.htm | 50 +++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/hlp/nsf_export.htm b/hlp/nsf_export.htm index 164cf17..23fbcad 100644 --- a/hlp/nsf_export.htm +++ b/hlp/nsf_export.htm @@ -8,18 +8,21 @@ NSF export

      - NSF (Nintendo Sound Format, invented by Kevin Horton) is a type of file used to represent NES music, - first developed for storing ripped game music. That means NSF is not a native - music format, instead it contains a small program that plays the music using the - NES's 6502 CPU. FamiTracker compresses and converts the module data - and attaches a player program when creating the NSF file. + NSF (Nintendo Sound Format, invented by Kevin Horton) is a type of file used to represent NES music, initially developed for storing ripped game music. That means NSF is not a native music format, but a small program that plays the music using the NES's CPU in a slightly similar hardware architecture.
      + Dn-FamiTracker compresses and compiles the module data and attaches a player program when exporing the NSF file.

      - To create NSF files, select Create NSF from the File menu to open the NSF export window. - The NSF file options contains some options related to the NSF file format: the - song information fields is the same as in the control panel. There is also a - system type option: NTSC, PAL or Dual. Select Dual if you want the NSF to be - playable on both types of system.

      + To export NSF files, select Create NSF from the File + menu to open the NSF export window.
      + The NSF file options contains some options related to the NSF file + format: the song information fields is the same as in the control + panel.
      + There is also a system type option: NTSC, + PAL or Dual. Select Dual if + you want the NSF to be playable on both NTSC and PAL systems.
      + The Add. data checkbox indicates generating supporting + assembly code to be used with ASM or BIN export when compiling an + NSF file from source.

      A few other formats beside NSF are also available:

      @@ -36,41 +39,42 @@
    • NSF2
      Creates an NSF-compatible file containing NSFe metadata. This - metadata can be safely ignored in older NSF players. + metadata is safely ignored in older NSF players.

    • NES
      Encapsulates an NSF into an NROM NES file that can be played in emulators or with flash carts like PowerPaks and Everdrives.
      - Note that only non-expansion audio, non-bankswitching modules - whose data is smaller than 32KB in total are allowed. + Note that only non-expansion audio, non-bankswitching modules + whose total data is smaller than 32KB are supported.

    • BIN
      Stores only the music data and DPCM samples in separate files - for use with NSF driver sources. Enable the Add. data checkbox - to generate assembly supporting files for NSF building. + for use with NSF driver sources.

    • PRG
      Creates a single 32 kB program ROM file, ready to be used with a - NROM-compatible cart for playback on NES hardware. + NROM-compatible cart for playback on NES hardware.
      + Note that only non-expansion audio, non-bankswitching modules + whose total data is smaller than 32KB are supported.

    • ASM
      Stores the music data and samples in CA65 assembly format that - can be used with driver sources. Enable the Add. data checkbox - to generate assembly supporting files for NSF building. + can be used with driver sources.

    - As of version 0.3.5, an export plugin system has been added that - allows exporting to custom formats. New export targets will appear - in the drop-down menu when export plugin DLLs are added. As of Dn-FT - version 0.5.0.2, this has been disabled due to a potential security - attack vector.

    + As of Dn-FT version 0.5.0.2, the export plugin system has been disabled due to a potential security + attack vector.
    + In previous versions until vanilla 0.3.5, an export plugin system + was added that allows exporting to custom formats. New export + targets would appear in the drop-down menu when export plugin DLLs + were added.


    Back to interface · main index From b197b292347a012a95880b167272d0007a1a81a6 Mon Sep 17 00:00:00 2001 From: Persune Date: Fri, 9 Jan 2026 00:41:04 +0800 Subject: [PATCH 06/18] Refactor table styling - Refactor audio IC scan sizing - Reword sound hardware description - Remove unused page --- hlp/2a03.htm | 178 ++++++++++----------- hlp/effect_list.htm | 20 +-- hlp/fds.htm | 10 +- hlp/main_index.htm | 11 +- hlp/mmc5.htm | 15 +- hlp/n163.htm | 10 +- hlp/sound.htm | 124 --------------- hlp/sound_overview.htm | 58 +++---- hlp/style.css | 2 +- hlp/sunsoft.htm | 245 ++++++++++++++--------------- hlp/vrc6.htm | 11 +- hlp/vrc7.htm | 342 +++++++++++++++++++++-------------------- 12 files changed, 458 insertions(+), 568 deletions(-) delete mode 100644 hlp/sound.htm diff --git a/hlp/2a03.htm b/hlp/2a03.htm index b197810..5696793 100644 --- a/hlp/2a03.htm +++ b/hlp/2a03.htm @@ -3,36 +3,18 @@ - - 2A03/2A07 internal channels
    - -

    - Picture of the 2A03G chip

    + 2A03/2A07 APU

    About

    This is the sound generator found inside the NES CPU. The NTSC version - (America/Japan) is named 2A03 and the PAL version (europe) is named 2A07. The - difference between the chips is that NTSC version runs at 1.79 MHz - while PAL runs at 1.66 MHz.

    + (America/Japan) is named 2A03 and the PAL version (europe) is named + 2A07. The main difference between the chips is that NTSC version runs + at 1.79 MHz while PAL runs at 1.66 MHz.

    The audio update rate is typically tied to NMI or the video refresh rate, where each @@ -45,13 +27,19 @@

    • Pulse 1 and 2
      - Produces pulse waves with four duty lengths (12.5%, 25%, 50% and 25% inverted). - These channels have a hardware sweep unit that can be accessed by - H and I effects. These channels also have a - hardware volume envelope, accesible with Exx effects.

      - Note: There is a hardware quirk that resets the duty phase when the high - byte of the freqency registers are written, this can be heard as a pop and might - be noticable when using vibrato or pitch slides across those frequencies.

      + Produces pulse waves with four duty lengths (12.5%, 25%, 50% and + 25% inverted). These channels have a hardware sweep unit that can + be accessed by + H and I effects. + These channels also have a hardware volume envelope, accesible with Exx effects. +
      +
      + Note: There is a hardware quirk that resets the duty phase + when the high byte of the freqency registers are written, this can + be heard as a pop and might be noticable when using vibrato or + pitch slides across those frequencies. +
      +
    • Triangle
      @@ -79,19 +67,21 @@
    - - - - -
    -

    - Note: - The volume level - of triangle and noise channels will be affected by the DPCM channel, - due to the way the sound is mixed in the hardware. - More info is available on the bottom of this page. -

    -
    +
    +

    + Note: + The volume level + of triangle and noise channels will be affected by the DPCM channel, + due to the way the sound is mixed in the hardware. + More info is available on the bottom of this page. +

    +
    + +
    +
    + Picture of the 2A03G chip +

    Instruments

    @@ -230,91 +220,91 @@ The pitch setting translates to a playback samplerate according to the following table (using the tracker's NTSC and PAL clock frequency of 1.789773 MHz and 1.662607 MHz respectively):

    - +
    - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
    KeyFrequency (NTSC)Frequency (PAL)PitchSample rate frequency (NTSC)Sample rate frequency (PAL)
    04181.71 Hz4177.40 Hz04181.71 Hz4177.40 Hz
    14709.93 Hz4696.63 Hz14709.93 Hz4696.63 Hz
    25264.04 Hz5261.41 Hz25264.04 Hz5261.41 Hz
    35593.04 Hz5579.22 Hz35593.04 Hz5579.22 Hz
    46257.95 Hz6023.94 Hz46257.95 Hz6023.94 Hz
    57046.35 Hz7044.94 Hz57046.35 Hz7044.94 Hz
    67919.35 Hz7917.18 Hz67919.35 Hz7917.18 Hz
    78363.42 Hz8397.01 Hz78363.42 Hz8397.01 Hz
    89419.86 Hz9446.63 Hz89419.86 Hz9446.63 Hz
    911,186.08 Hz11,233.8 Hz911,186.08 Hz11,233.8 Hz
    1012,604.03 Hz12,595.5 Hz1012,604.03 Hz12,595.5 Hz
    1113,982.60 Hz14,089.9 Hz1113,982.60 Hz14,089.9 Hz
    1216,884.65 Hz16,965.4 Hz1216,884.65 Hz16,965.4 Hz
    1321,306.82 Hz21,315.5 Hz1321,306.82 Hz21,315.5 Hz
    1424,857.95 Hz25,191.0 Hz1424,857.95 Hz25,191.0 Hz
    1533,143.94 Hz33,252.1 Hz1533,143.94 Hz33,252.1 Hz
    diff --git a/hlp/effect_list.htm b/hlp/effect_list.htm index 3c0b378..662e058 100644 --- a/hlp/effect_list.htm +++ b/hlp/effect_list.htm @@ -234,6 +234,7 @@
  • On VRC7, it can be used to select the patch index.
  • On S5B, it can be used to select the channel mode bitmask:

  • + @@ -247,17 +248,18 @@ - - - - - - - - - + + + + + + + + +
    Value07
    Enable(Silence)ToneNoiseTone
    Noise
    EnvelopeTone
    Envelope
    Noise
    Envelope
    Tone
    Noise
    Envelope
    Enable(Silence)Tone
    Noise
    Tone
    Noise


    Envelope
    Tone

    Envelope

    Noise
    Envelope
    Tone
    Noise
    Envelope
    +

Valid values are:

    diff --git a/hlp/fds.htm b/hlp/fds.htm index 2aaee40..975fe8b 100644 --- a/hlp/fds.htm +++ b/hlp/fds.htm @@ -9,10 +9,6 @@ Nintendo FDS
    -

    - Picture of the FDS chip

    -

    About

    @@ -24,6 +20,12 @@ The channel uses a 64-step customizable waveform and has a simple frequency modulator.

    +
    +
    + Picture of the FDS chip +
    +

    Instruments

    diff --git a/hlp/main_index.htm b/hlp/main_index.htm index f175455..28802ca 100644 --- a/hlp/main_index.htm +++ b/hlp/main_index.htm @@ -26,12 +26,8 @@ - - - - - -
    Welcome to Dn-FamiTracker
    + + Welcome to Dn-FamiTracker
    Version Dn0.5.2
    @@ -66,7 +62,7 @@
  • Konami (VRC6, VRC7)
  • OPLL-as-VRC7 (YM2413, YM281B)
  • Nintendo (MMC5, FDS)
  • -
  • Namco Custom 163
  • +
  • Namco Custom 163 (aka N163)
  • Sunsoft 5B
  • Source is available under the GNU General Public License version 3.0 (GPLv3). @@ -79,6 +75,7 @@
  • Pattern effect list
  • Frequently Asked Questions (FAQ)
  • Change log
  • +
  • Licenses and libraries
  • Contact and support

    diff --git a/hlp/mmc5.htm b/hlp/mmc5.htm index 6281d8c..25d9942 100644 --- a/hlp/mmc5.htm +++ b/hlp/mmc5.htm @@ -9,10 +9,6 @@ Nintendo MMC5
    -

    - Picture of the MMC5 chip

    -

    About

    @@ -26,12 +22,19 @@ 7-bit DPCM DAC ($4011) requires constant attention from the emulated CPU core. This isn't practical with the current FamiTracker NSF driver or most drivers used in games. A driver and hardware setup tailored for PCM playback is required.

    - -

    A notable game using the MMC5 is Just Breed. A game which utilized the PCM channel is Shin 4-Nin Uchi Mahjong.

    + +

    + A notable game using the MMC5 is Just Breed. A game which utilized the PCM channel is Shin 4-Nin Uchi Mahjong.

    Check 2A03 for more details about the square channels.

    +
    +
    + Picture of the MMC5 chip +
    +

    Instruments

    diff --git a/hlp/n163.htm b/hlp/n163.htm index 3031ccd..89ff769 100644 --- a/hlp/n163.htm +++ b/hlp/n163.htm @@ -9,10 +9,6 @@ Namco 163
    -

    - Picture of the N163 chip

    -

    About

    @@ -43,7 +39,13 @@ To avoid this, either disable multiplexing in the emulation configuration settings, or use a sufficient lowpass filter in the emulation configuration settings.

    +
    +
    + Picture of the N163 chip +

    +

    Instruments

    diff --git a/hlp/sound.htm b/hlp/sound.htm deleted file mode 100644 index 6d9af9f..0000000 --- a/hlp/sound.htm +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - Sound hardware


    - -
    -
    - This section explains the sound hardware in NES/Famicom and some of the - expansion chips found in some carts.
    -
    - - -
    -
    - - Internal 2A03/2A07 channels
    -
    -
    - -
    -
    - - The sound processor has five channels, two square waves, - one triangle wave, one noise generator and one digital sample (DPCM) channel.
    -
    - Square 1 & 2
    -
    -
    Produces pulse waves with four duty settings (12.5%, 25%, - 50% and 25% inverted). - These channels have a hardware sweep unit that can be accessed by the H and I effects.
    - Note: There is a bug that resets the duty phase when switching between - certain frequencies, this can be heard as a pop and might be noticable when - using vibrato or pitch slides across those frequencies.
    -
    - Triangle
    -
    -
    Triangle shaped waveform. There is no volume control for this channel, - however, due to how the hardware is implemented, the output level of the DPCM - channel will affect the volume output of the triangle wave.
    -
    - Noise
    -
    -
    Noise generator. Can produce 32k-bit and 93-bit sequences, selectable - from the instruments duty/noise setting.
    -
    - DPCM (Delta PCM)
    -
    -
    Used to play delta modulated samples. Most of the effects (like arpeggio & pitch slides) does - not operate on this channel.
    -
    -
    - Expansion sound
    -
    - The Famicom has the ability to mix sound from expansion chips found in some - carts, famitracker now supports a few of those chips. Expansion sound is enabled from the module properties window.
    -
    - - Konami VRC6
    -
    - -
    -
    The VRC6 chip has two square wave channels and one sawtooth wave - channel. This chip was used in games like Akumajou Densetsu and Madara by - Konami.
    -
    - Square 1 & 2
    -
    -
    - Produces pulse waves like the internal channels, but have eight different duty - settings and lacks hardware sweep.
    -
    - Sawtooth
    -
    -
    Sawtooth wave generator. This channel has no duty function but - still uses that instrument setting to calculate the volume. A volume level too - high will cause the wave to wrap around and sounds distorted (happens when duty - = 1 and volume = 6).
    -

    - Konami VRC7

    -

    - The VRC7 chip contains a stripped down OPLL unit and has 6 channels for FM - sound. This chip was used by Lagrange Point.

    -

    - Nintendo FDS

    -

    - This is a single channel chip used in the Famicom Disk System hardware by - Nintendo. The channel uses a 64-step customizable waveform and has a simple - frequency modulator.

    -

    - Nintendo MMC5"> - Nintendo MM The MMC5 chip has two square wave channels that are identical to the internal - 2A03 channels except for no hardware sweep function. It was used in the game - Just Breed by Enix.

    - - - - diff --git a/hlp/sound_overview.htm b/hlp/sound_overview.htm index fe76dd5..74791fc 100644 --- a/hlp/sound_overview.htm +++ b/hlp/sound_overview.htm @@ -9,37 +9,37 @@ Sound hardware

    Overview

    - +

    - The programmable sound generator found inside the - NES and Famicom is located inside the CPU chip (called 2A03 for NTSC and 2A07 for - PAL).

    - + The programmable sound generator found inside the + NES and Famicom is located inside the CPU chip (called 2A03 for NTSC + and 2A07 for PAL).

    + - + External sound hardware - +

    - The Famicom had the possibillity to mix audio from - cartridges, this was used by some games to add extra sound channels - from chips in cartridges. Some of these - chips are supported by Dn-Famitracker and is enabled from the - module properties dialog. Multiple expansion chips - enabled at the same time is at this moment not supported.

    - + The Famicom has the possibillity to mix "expansion audio" from + cartridges. This was used by some games to add extra sound channels + from integrated circuits in cartridges. +
    + Six expansion audio ICs are supported by Dn-Famitracker and + can be enabled from the + module properties dialog. + Multiple expansion chips can be enabled at the same time.

    +

    - To create instruments for - these channels, select the channel with the pattern cursor and then add new - instrument.

    - + To create instruments for + these channels, select the channel with the pattern cursor and then add + a new instrument.

    +

    - The following sections explains the hardware and + The following sections explains the hardware and instruments:

    - + - -
    + +

    - Note: External sound is not possible on the NES without hardware - modification, so all songs using expansion chips should be treated as - "Famicom Sound", and thus is not strictly "NES Sound". Additionally, all - expansion chips cannot be run in PAL mode. + Note: External sound is not possible on the NES without + significant modification, so any songs using expansion chips are + considered "Famicom Sound" instead of "NES Sound". Additionally, + all expansion chips are not supported in PAL mode.

    diff --git a/hlp/style.css b/hlp/style.css index f295070..ecfb82f 100644 --- a/hlp/style.css +++ b/hlp/style.css @@ -81,7 +81,7 @@ table.default width: 100%; background-color: #FCFCFC; } -td.highlight +td.highlight, th.highlight { background-color: #E0E0E0; height: 22px; diff --git a/hlp/sunsoft.htm b/hlp/sunsoft.htm index 988a417..412cd98 100644 --- a/hlp/sunsoft.htm +++ b/hlp/sunsoft.htm @@ -1,127 +1,132 @@ - - - - - - Sunsoft 5B -
    + + + + + + Sunsoft 5B +
    -

    - Picture of the S5B chip

    +

    About

    +

    + The Sunsoft 5B is a chip manufactured by Yamaha, for Sunsoft. While + used interchangeably with the Sunsoft FME-7, and the Sunsoft 5A, + the only game to utilize the audio was in the Famicom game + Gimmick!. Due to Yamaha's manufacturing, it is a clone of their own + chip, the YM2149F, which itself is a clone of the AY-3-8910.

    -

    About

    -

    - The Sunsoft 5B is a chip manufactured by Yamaha, for Sunsoft. While used - interchangeably with the Sunsoft FME-7, and the Sunsoft 5A, the only game - to utilize the audio was in the Famicom game Gimmick!. Due to Yamaha's - manufacturing, it is a clone of their own chip, the YM2149F, which itself is a - clone of the AY-3-8910. The chip has 3 channels of audio, capable of - Tone (square waves), 32 pitches of Noise, and a user configurable Envelope - generator. However, despite these features, Gimmick! only used the Tone - capabilities of the chip. -

    -
    -

    Instruments

    - -

    - Instruments on the Sunsoft 5B are fairly close to the 2A03. However the - biggest difference lies in the Noise/Mode macro, which replaces the Duty - macro present on the 2A03. This macro allows one to toggle noise, tone, - and envelope on the channel, also allowing one to freely mix between the - three. -
    - Another major change from the 2A03's instruments lies in the volume. - While the 2A03's design gives it linear volume, the Sunsoft 5B has - what is "exponential volume", which behaves differently than the 2A03's - linear volume. - -

    -
    -

    Noise/Mode Macro

    - -

    - The Noise/Mode macro present in Dn-FT is relatively simple. There are three - bars, one for each "mode", which can be freely toggled. Above is a slider - allowing for the user to define what specific pitch they want, of the 32 - available pitches. For reference, the Blue bar is for Tone, the Pink is for - Noise, and the Yellow bar is for Envelope. -

    -
    -

    5B Envelopes

    -

    The Sunsoft 5B has a configurable envelope generator, able to - play back 16 preset envelope sets. The table below shows each envelope and - its functions. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    H0y Hex CommandEnvelope ShapeEnvelope Description
    $0 to $3|\________A one-shot decay envelope. Usually used at extremely low frequencies mixed with tone to produce a hardware decay envelope.
    $4 to $7/|________A one-shot attack envelope.
    $8|\_|\_|\_|\_Looped decay envelope. Functionally identical to a sawtooth wave at audible frequencies.
    $9|\________Identical to $0.
    $A\/\/\/\/\/\/\/Looped Decay and Attack envelope. Identical to a symmetrical sawtooth wave, referred to as a "triangle" wave.
    $B\|‾‾‾‾‾‾‾‾One-shot decay envelope. Holds the output at maximum volume when finished.
    $C_/|_/|_/|_/|Looped attack envelope. Functionally identical to envelope $8 at audible frequencies.
    $D|/‾‾‾‾‾‾‾‾One-shot attack envelope. Holds the output at maximum volume when finished.
    $E/\/\/\/\/\/\/\Looped Attack and Decay envelope. Virtually identical to $A.
    $F/|________Identical to $4.
    +

    + The chip has 3 channels of audio, capable of Tone (square waves), + 32 pitches of Noise, and a user configurable Envelope generator. + However, despite these features, Gimmick! only used the Tone + capabilities of the chip.

    -
    +
    +
    + Picture of the S5B chip +
    +
    + +

    Instruments

    + +

    + Instruments on the Sunsoft 5B are fairly close to the 2A03. However the + biggest difference lies in the Noise/Mode macro, which replaces the Duty + macro present on the 2A03. This macro allows one to toggle noise, tone, + and envelope on the channel, also allowing one to freely mix between the + three. +
    + Another major change from the 2A03's instruments lies in the volume. + While the 2A03's design gives it linear volume, the Sunsoft 5B has + what is "exponential volume", which behaves differently than the 2A03's + linear volume. + +

    +
    +

    Noise/Mode Macro

    + +

    + The Noise/Mode macro present in Dn-FT is relatively simple. There are three + bars, one for each "mode", which can be freely toggled. Above is a slider + allowing for the user to define what specific pitch they want, of the 32 + available pitches. For reference, the Blue bar is for Tone, the Pink is for + Noise, and the Yellow bar is for Envelope. +

    +
    +

    5B Envelopes

    +

    The Sunsoft 5B has a configurable envelope generator, able to + play back 16 preset envelope sets. The table below shows each envelope and + its functions. +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    H0y Hex Command + Envelope Shape + Envelope Description +
    $0 to $3|\________A one-shot decay envelope. Usually used at extremely low frequencies mixed with tone to produce a hardware decay envelope.
    $4 to $7/|________A one-shot attack envelope.
    $8|\_|\_|\_|\_Looped decay envelope. Functionally identical to a sawtooth wave at audible frequencies.
    $9|\________Identical to $0.
    $A\/\/\/\/\/\/\/Looped Decay and Attack envelope. Identical to a symmetrical sawtooth wave, referred to as a "triangle" wave.
    $B\|‾‾‾‾‾‾‾‾One-shot decay envelope. Holds the output at maximum volume when finished.
    $C_/|_/|_/|_/|Looped attack envelope. Functionally identical to envelope $8 at audible frequencies.
    $D|/‾‾‾‾‾‾‾‾One-shot attack envelope. Holds the output at maximum volume when finished.
    $E/\/\/\/\/\/\/\Looped Attack and Decay envelope. Virtually identical to $A.
    $F/|________Identical to $4.
    + +
    - Back to sound hardware · - main index - - + Back to sound hardware · + main index + + \ No newline at end of file diff --git a/hlp/vrc6.htm b/hlp/vrc6.htm index 99f7139..8a662b3 100644 --- a/hlp/vrc6.htm +++ b/hlp/vrc6.htm @@ -5,13 +5,8 @@ - Konami VRC6
    -

    - Picture of the VRC6 chip

    -

    About

    @@ -19,6 +14,12 @@ channel. This chip was used in games as Akumajou Densetsu and Madara by Konami.

    +
    +
    + Picture of the VRC6 chip +
    +
    +

    Pulse 1 and 2

    diff --git a/hlp/vrc7.htm b/hlp/vrc7.htm index 8018716..bab7664 100644 --- a/hlp/vrc7.htm +++ b/hlp/vrc7.htm @@ -3,56 +3,53 @@ - Konami VRC7


    -

    - Picture of the VRC7 chip

    -

    About

    The VRC7 chip contains a customized OPLL unit (YM2413) that has 6 channels for frequency modulation synthesis. The sound capabilities of this chip was only used in the game Lagrange Point by Konami, with the other game (Tiny Toon Adventures 2) using it for standard memory management.

    - -

    - Much like the Sunsoft 5B, this chip was produced by Yamaha, under the product code DS1001.

    + +

    + Much like the Sunsoft 5B, this chip was produced by Yamaha, under the product code DS1001.

    This chip has 15 predefined patches and can hold one user defined patch, - the predefined patches are - customized for VRC7 and are not the default ones for - YM2413.

    + the predefined patches are customized for VRC7 and are not the default + ones for YM2413.

    - Note cut command will clear the key on flag, note release command will clear the - key on flag but keep the sustained flag.

    + Note cut command will clear the key on flag, note release command will + clear the key on flag but keep the sustained flag.

    Note: - The chip is limited to only one user - defined patch, so it's not possible to simultaneously use different user defined + The chip is limited to only one user defined patch, so + it's not possible to simultaneously use different user defined patches in different channels! See documents about YM2413 if you need more information.

    - The available headroom range is limited by this chip and clipping will occur when the total level is too loud, - this occurs already when two channels are running at maximum volume, so keep the volume levels down. + The available headroom range is limited by this chip and clipping + will occur when the total level is too loud, this occurs already + when two channels are running at maximum volume, so keep the volume + levels down.

    +
    + +
    + Picture of the VRC7 chip +

    +

    Instruments

    @@ -65,256 +62,271 @@

    Use copy/paste to create and read MML strings from the clipboard of the - patch settings.

    + patch settings. Through the textbox, you may also directly edit the MML + patch bytes, or select and copy/paste the patch byte strings.

    The custom patch settings are enabled when patch 0 is selected and are used to customize the modulator and carrier oscillator, but it will also display the settings for the internal patches.

    - Note: when using sustained patches, use the note cut command to move on - to the release phase. The note release command will also release the note, but - does so at a fixed rate.

    + Note: when using sustained patches, use the note cut + command to move on to the release phase. The note release command will + also release the note, but does so at a fixed rate.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    - Parameter - Description - Range
    - Attack, Decay, Sustain, Release - ADSR envelope for the volume level. - 0 - 15
    - Amplitude modulation - Applies a fixed tremolo effect at 3.7 Hz - on / off
    - Vibrato - Applies a fixed vibrato effect at 6.4 Hz - on / off
    - Sustained - Switch between sustained and percussive tone - on / off
    - Key scaling - Increases the ADSR rate for higher pitches - on / off
    - Key scaling level - The attenuation level for key scaling, according to table 2 - 0 - 3
    - Wave rectification - Half-wave rectification of the sine wave - on / off
    - Multiplication factor - Multiplies the pitch by a factor, according to table 3 - 0 - 15
    - Feedback - Modulator feedback level - 0 - 7
    - Modulator Level - Modulator mixing level - 0 - 31
    + Table 1, Instrument parameters +
    + Parameter + + Description + + Range +
    + Attack, Decay, Sustain, Release + ADSR envelope for the volume level. + 0 - 15
    + Amplitude modulation + Applies a fixed tremolo effect at 3.7 Hz + on / off
    + Vibrato + Applies a fixed vibrato effect at 6.4 Hz + on / off
    + Sustained + Switch between sustained and percussive tone + on / off
    + Key scaling + Increases the ADSR rate for higher pitches + on / off
    + Key scaling level + The attenuation level for key scaling, according to table 2 + 0 - 3
    + Wave rectification + Half-wave rectification of the sine wave + on / off
    + Multiplication factor + Multiplies the pitch by a factor, according to table 3 + 0 - 15
    + Feedback + Modulator feedback level + 0 - 7
    + Modulator Level + Modulator mixing level + 0 - 31
    - Table 1, Instrument parameters

    - +
    + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +
    + Table 2, Key Scale Level Table +
    + Value - + Rate
    - 0 - 0 dB/oct
    - 1 - 1.5 dB/oct
    - 2 - 3 dB/oct
    - 3 - 6 dB/oct
    + 0 + 0 dB/oct
    + 1 + 1.5 dB/oct
    + 2 + 3 dB/oct
    + 3 + 6 dB/oct
    - Table 2, Key Scale Level Table

    - +
    + - - + - - - - - - - - - - - - - - -
    + Table 3, Multiplication factor table +
    Value + Factor
    0 - ½ + ½
    1 + 1
    2 + 2
    3 + 3
    4 + 4
    5 + 5
    6 + 6
    7 + 7
    8 + 8
    9 + 9
    10 + 10
    11 + 10
    12 + 12
    13 + 12
    14 + 15
    15 + 15
    - Table 3, Multiplication factor table -


    From 8a742c9bc28bfd19fad68711e6946a8feea1b8b5 Mon Sep 17 00:00:00 2001 From: Persune Date: Fri, 9 Jan 2026 04:45:14 +0800 Subject: [PATCH 07/18] Add more detailed license page - Refactor page template patching - Explicitly mention licensing for Dn-help --- .gitignore | 1 + LICENSE.txt => LICENSE-GPLv3.txt | 0 README.md | 4 +- hlp/Dn-FamiTracker.hhc | 2 +- hlp/Dn-FamiTracker.hhk | 2 +- hlp/Dn-FamiTracker.hhp | 1 - ...gelog_shell.htm => changelog-template.htm} | 5 +-- hlp/generate-chm.bat | 10 +++++ hlp/hlp.vcxproj | 6 +-- hlp/license-template.htm | 45 +++++++++++++++++++ hlp/markdown.css | 20 ++++++--- hlp/update-changelog-htm.bat | 2 - hlp/update-htm-templates.bat | 14 ++++++ htm-patcher.py | 20 +++++++++ 14 files changed, 112 insertions(+), 20 deletions(-) rename LICENSE.txt => LICENSE-GPLv3.txt (100%) rename hlp/{changelog_shell.htm => changelog-template.htm} (92%) create mode 100644 hlp/generate-chm.bat create mode 100644 hlp/license-template.htm delete mode 100644 hlp/update-changelog-htm.bat create mode 100644 hlp/update-htm-templates.bat create mode 100644 htm-patcher.py diff --git a/.gitignore b/.gitignore index 5bafeaa..fe12411 100644 --- a/.gitignore +++ b/.gitignore @@ -40,6 +40,7 @@ distribute/* # this should be automatically generated at build hlp/HTMLDefines.h hlp/changelog.htm +hlp/license.htm ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. diff --git a/LICENSE.txt b/LICENSE-GPLv3.txt similarity index 100% rename from LICENSE.txt rename to LICENSE-GPLv3.txt diff --git a/README.md b/README.md index b3caf9c..28a322c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Dn-Famitracker Help -This repository hosts the source code for [Dn-Famitracker](https://github.com/Dn-Programming-Core-Management/Dn-FamiTracker)'s help dialog. While the main program indeed has this contained within it's own source code, the main use of this repository is to provide finalized and finished versions of the Help File to all new releases of Dn-FamiTracker. +This repository hosts the source code for [Dn-Famitracker](https://github.com/Dn-Programming-Core-Management/Dn-FamiTracker)'s help dialog. While the main program indeed has this contained within it's own source code, the main use of this repository is to provide finalized and finished versions of the Help File to all new releases of Dn-FamiTracker. As such it is best to consider this repository a "development" build of the help file, and may not represent the "final" builds included with Dn-FamiTracker releases. @@ -21,4 +21,4 @@ All contributions are welcome, feel free to submit pull requests, or submit sugg ## License -Since this is a fragment of [Dn-Famitracker](https://github.com/Dn-Programming-Core-Management/Dn-FamiTracker)'s codebase, the license falls under the same terms. +Since this is a fragment of [Dn-Famitracker](https://github.com/Dn-Programming-Core-Management/Dn-FamiTracker)'s codebase, the license falls under the same terms. Dn-help project files are licensed under GPL v3. diff --git a/hlp/Dn-FamiTracker.hhc b/hlp/Dn-FamiTracker.hhc index f13dc3e..0d0ecd6 100644 --- a/hlp/Dn-FamiTracker.hhc +++ b/hlp/Dn-FamiTracker.hhc @@ -205,7 +205,7 @@
  • - + diff --git a/hlp/Dn-FamiTracker.hhk b/hlp/Dn-FamiTracker.hhk index d6b63ff..d1ddf02 100644 --- a/hlp/Dn-FamiTracker.hhk +++ b/hlp/Dn-FamiTracker.hhk @@ -135,7 +135,7 @@
  • - + diff --git a/hlp/Dn-FamiTracker.hhp b/hlp/Dn-FamiTracker.hhp index e008a06..0178c54 100644 --- a/hlp/Dn-FamiTracker.hhp +++ b/hlp/Dn-FamiTracker.hhp @@ -63,7 +63,6 @@ img\pattern.png img\properties.png img\Icon.png style.css -gpl.txt sunsoft.htm config_version.htm config_gui.htm diff --git a/hlp/changelog_shell.htm b/hlp/changelog-template.htm similarity index 92% rename from hlp/changelog_shell.htm rename to hlp/changelog-template.htm index 5bee0ce..5b37d86 100644 --- a/hlp/changelog_shell.htm +++ b/hlp/changelog-template.htm @@ -8,8 +8,6 @@ - Change log
    -
    @@ -22,11 +20,10 @@
    -
    -PATCH CHANGELOG HERE +PATCH HERE PLEASE

    diff --git a/hlp/generate-chm.bat b/hlp/generate-chm.bat new file mode 100644 index 0000000..81c1fa8 --- /dev/null +++ b/hlp/generate-chm.bat @@ -0,0 +1,10 @@ +@rem generates an HTMLHelp .chm file +@rem requires the superproject Dn-FamiTracker. +@rem invoke inside Dn-help/hlp +setlocal +@call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsamd64_x86.bat" x86_amd64 +cd ..\..\ +call generate-helpmap.bat +cd %~dp0 +call update-htm-templates.bat %~dp0 +call compile-chm.bat \ No newline at end of file diff --git a/hlp/hlp.vcxproj b/hlp/hlp.vcxproj index 48a827c..8dc86c8 100644 --- a/hlp/hlp.vcxproj +++ b/hlp/hlp.vcxproj @@ -306,13 +306,13 @@ true - call $(ProjectDir)update-changelog-htm.bat + call $(ProjectDir)update-htm-templates.bat Updating changelog.htm. - $(ProjectDir)changelog.htm;%(Outputs) + $(ProjectDir)changelog.htm;license.htm;%(Outputs) true true true - $(SolutionDir)CHANGELOG.md;%(AdditionalInputs) + $(SolutionDir)CHANGELOG.md;$(SolutionDir)LICENSE.md;%(AdditionalInputs) true diff --git a/hlp/license-template.htm b/hlp/license-template.htm new file mode 100644 index 0000000..997e639 --- /dev/null +++ b/hlp/license-template.htm @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + +
    +

    + Note: + This license information is generated. For more details, + please view the license files that comes with this binary, + or visit + https://github.com/Dn-Programming-Core-Management/Dn-FamiTracker +

    +
    + +
    + + +PATCH HERE FIRST + +PATCH HERE SECOND + +
    +

    GNU General Public License Version 3

    +
    
    +PATCH HERE THIRD
    +
    +
    + +
    + Back to main index + + \ No newline at end of file diff --git a/hlp/markdown.css b/hlp/markdown.css index 9d8ae30..7f12e10 100644 --- a/hlp/markdown.css +++ b/hlp/markdown.css @@ -2,29 +2,36 @@ { font-family: Verdana } -.markdown-body h1, +/* .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4 { - color: black; -} + font-weight:normal; +} */ .markdown-body h1 { - font-size: 18pt; + font-size: 22pt; + color: #884848; + font-weight:normal; + margin-bottom: 0; } .markdown-body h2 { font-size: 12pt; + color: black; } .markdown-body h3, .markdown-body h4 { - font-size: 9pt; + font-size: 10pt; + color: black; } -.markdown-body ul +.markdown-body ul, ol { font-size: 9pt; + font-weight: normal; + color: black; line-height: 150%; } .markdown-body p @@ -47,5 +54,6 @@ } tt, code { + font-size: 9pt; font-family: Consolas,monospace } \ No newline at end of file diff --git a/hlp/update-changelog-htm.bat b/hlp/update-changelog-htm.bat deleted file mode 100644 index e1f049f..0000000 --- a/hlp/update-changelog-htm.bat +++ /dev/null @@ -1,2 +0,0 @@ -@REM invoke this inside Dn-help/hlp -powershell -Command "(Get-Content changelog_shell.htm).Replace('PATCH CHANGELOG HERE', (pandoc ..\..\CHANGELOG.md -f gfm -t html5)) | Set-Content -encoding UTF8 changelog.htm" diff --git a/hlp/update-htm-templates.bat b/hlp/update-htm-templates.bat new file mode 100644 index 0000000..e631ec5 --- /dev/null +++ b/hlp/update-htm-templates.bat @@ -0,0 +1,14 @@ +@REM invoke this inside Dn-help/hlp +@echo off +pandoc ..\..\CHANGELOG.md -f gfm -t html5 > temp.txt +python ..\htm-patcher.py changelog-template.htm changelog.htm temp.txt "PATCH HERE PLEASE" +del temp.txt +pandoc ..\..\LICENSE.md -f gfm -t html5 > temp.txt +python ..\htm-patcher.py license-template.htm license_temp1.htm temp.txt "PATCH HERE FIRST" +del temp.txt +pandoc ..\..\Source\drivers\asm\LICENSE.md -f gfm -t html5 > temp.txt +python ..\htm-patcher.py license_temp1.htm license_temp2.htm temp.txt "PATCH HERE SECOND" +del temp.txt +python ..\htm-patcher.py license_temp2.htm license.htm ..\..\LICENSE-GPLv3.txt "PATCH HERE THIRD" +del license_temp1.htm +del license_temp2.htm diff --git a/htm-patcher.py b/htm-patcher.py new file mode 100644 index 0000000..8f0f780 --- /dev/null +++ b/htm-patcher.py @@ -0,0 +1,20 @@ +# htm-patcher +# patches templates with pandoc converted markdown +# Copyright 2026 Persune, MIT +import argparse, pathlib + +parser = argparse.ArgumentParser() +parser.add_argument("input", type=pathlib.Path) +parser.add_argument("output", type=pathlib.Path) +parser.add_argument("patch", type=pathlib.Path) +parser.add_argument("search_string", type=str) +args = parser.parse_args() + +with open(args.input, mode="r", newline="\n", encoding="utf-8") as input: + with open(args.output, mode="w", newline="\n", encoding="utf-8") as output: + for line in input: + if args.search_string in line: + with open(args.patch, mode="r", newline="\n", encoding="utf-8") as patch: + [output.write(patches) for patches in patch] + else: + output.write(line) From 3e94ee6fb4244641f9cf077f952b0a853f0b6591 Mon Sep 17 00:00:00 2001 From: Persune Date: Fri, 9 Jan 2026 17:19:04 +0800 Subject: [PATCH 08/18] Link GPL and MIT-0 licenses in manual --- hlp/Dn-FamiTracker.hhc | 12 ++ hlp/Dn-FamiTracker.hhk | 291 ++++++++++++++++++----------------- hlp/Dn-FamiTracker.hhp | 254 +++++++++++++++--------------- hlp/license-template.htm | 6 - hlp/update-htm-templates.bat | 8 +- 5 files changed, 296 insertions(+), 275 deletions(-) diff --git a/hlp/Dn-FamiTracker.hhc b/hlp/Dn-FamiTracker.hhc index 0d0ecd6..6de14ca 100644 --- a/hlp/Dn-FamiTracker.hhc +++ b/hlp/Dn-FamiTracker.hhc @@ -207,5 +207,17 @@ +
  • + + + +
  • + + + +
  • + + + diff --git a/hlp/Dn-FamiTracker.hhk b/hlp/Dn-FamiTracker.hhk index d1ddf02..2132e5f 100644 --- a/hlp/Dn-FamiTracker.hhk +++ b/hlp/Dn-FamiTracker.hhk @@ -1,142 +1,155 @@ - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    - - + + + +
      +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + +
    • + + + + +
    • + + + +
    • + + + + +
    + diff --git a/hlp/Dn-FamiTracker.hhp b/hlp/Dn-FamiTracker.hhp index 0178c54..6edf6a0 100644 --- a/hlp/Dn-FamiTracker.hhp +++ b/hlp/Dn-FamiTracker.hhp @@ -1,125 +1,129 @@ -[OPTIONS] -Auto Index=Yes -Compatibility=1.1 or later -Compiled file=Dn-FamiTracker.chm -Contents file=Dn-FamiTracker.hhc -Default topic=main_index.htm -Display compile progress=Yes -Full-text search=Yes -Index file=Dn-FamiTracker.hhk -Language=0x409 English (United States) - - -[FILES] -main_index.htm -effect_list.htm -interface.htm -pattern_editor.htm -toolbar.htm -control_panel.htm -dpcm_import.htm -dpcm_editor.htm -shortcuts.htm -nsf_export.htm -text_export.htm -command_line.htm -changelog.htm -menus.htm -faq.htm -configuration.htm -config_general.htm -config_appearance.htm -config_midi.htm -config_sound.htm -config_shortcuts.htm -config_mixer.htm -menu_edit.htm -menu_help.htm -menu_instrument.htm -menu_file.htm -menu_module.htm -menu_tracker.htm -menu_view.htm -comments.htm -export_wave.htm -performance.htm -speed.htm -sound_overview.htm -2a03.htm -vrc6.htm -vrc7.htm -mmc5.htm -fds.htm -n163.htm -img\frame_editor.png -img\inst_2a03.png -img\inst_dpcm.png -img\inst_fds.png -img\inst_vrc7.png -img\inst_n163.png -img\toolbar1.png -img\toolbar2.png -img\pattern.png -img\properties.png -img\Icon.png -style.css -sunsoft.htm -config_version.htm -config_gui.htm -config_emulation.htm -menu_pattern.htm -menu_song.htm -groove_settings.htm -detune_settings.htm -bookmark_manager.htm - -[ALIAS] -CHANGE_LOG = changelog.htm -DPCM_IMPORT = dpcm_import.htm -EFFECTS = effect_list.htm -HIDD_ABOUTBOX = main_index.htm -HIDD_BOOKMARKS=bookmark_manager.htm -HIDD_COMMAND_LINE = command_line.htm -HIDD_COMMENTS = comments.htm -HIDD_CONFIG_APPEARANCE = config_appearance.htm -HIDD_CONFIG_EMULATION=config_emulation.htm -HIDD_CONFIG_GENERAL = config_general.htm -HIDD_CONFIG_GUI=config_gui.htm -HIDD_CONFIG_MIDI = config_midi.htm -HIDD_CONFIG_MIXER = config_mixer.htm -HIDD_CONFIG_SHORTCUTS = config_shortcuts.htm -HIDD_CONFIG_SOUND = config_sound.htm -HIDD_CONFIG_VERSION=config_version.htm -HIDD_CREATEWAV = export_wave.htm -HIDD_DETUNE=detune_settings.htm -HIDD_EXPORT = nsf_export.htm -HIDD_GROOVE=groove_settings.htm -HIDD_INSTRUMENT_DPCM = 2a03.htm -HIDD_INSTRUMENT_FDS = fds.htm -HIDD_INSTRUMENT_FDS_ENVELOPE = fds.htm -HIDD_INSTRUMENT_INTERNAL = 2a03.htm -HIDD_INSTRUMENT_N163 = n163.htm -HIDD_INSTRUMENT_SUN5=sunsoft.htm -HIDD_INSTRUMENT_VRC6 = vrc6.htm -HIDD_INSTRUMENT_VRC7 = vrc7.htm -HIDD_PCMIMPORT = dpcm_import.htm -HIDD_PERFORMANCE = performance.htm -HIDD_PROPERTIES = properties.htm -HIDD_SAMPLE_EDITOR = dpcm_editor.htm -HIDD_SPEED = speed.htm -HIDD_TEXTEXPORT = text_export.htm -HIDD_WAVE_PROGRESS = export_wave.htm -HIDR_MAINFRAME = main_index.htm -NSF_EXPORT = nsf_export.htm -PATTERN_EDITOR = pattern_editor.htm -SHORTCUTS = shortcuts.htm -TEXT_EXPORT = text_export.htm - -[MAP] -#include HTMLDefines.h - -[TEXT POPUPS] -HTMLDefines.h - -[INFOTYPES] - +[OPTIONS] +Auto Index=Yes +Compatibility=1.1 or later +Compiled file=Dn-FamiTracker.chm +Contents file=Dn-FamiTracker.hhc +Default topic=main_index.htm +Display compile progress=Yes +Full-text search=Yes +Index file=Dn-FamiTracker.hhk +Language=0x409 English (United States) + + +[FILES] +main_index.htm +effect_list.htm +interface.htm +pattern_editor.htm +toolbar.htm +control_panel.htm +dpcm_import.htm +dpcm_editor.htm +shortcuts.htm +nsf_export.htm +text_export.htm +command_line.htm +changelog.htm +menus.htm +faq.htm +configuration.htm +config_general.htm +config_appearance.htm +config_midi.htm +config_sound.htm +config_shortcuts.htm +config_mixer.htm +menu_edit.htm +menu_help.htm +menu_instrument.htm +menu_file.htm +menu_module.htm +menu_tracker.htm +menu_view.htm +comments.htm +export_wave.htm +performance.htm +speed.htm +sound_overview.htm +2a03.htm +vrc6.htm +vrc7.htm +mmc5.htm +fds.htm +n163.htm +img\frame_editor.png +img\inst_2a03.png +img\inst_dpcm.png +img\inst_fds.png +img\inst_vrc7.png +img\inst_n163.png +img\toolbar1.png +img\toolbar2.png +img\pattern.png +img\properties.png +img\Icon.png +style.css +sunsoft.htm +config_version.htm +config_gui.htm +config_emulation.htm +menu_pattern.htm +menu_song.htm +groove_settings.htm +detune_settings.htm +bookmark_manager.htm +license.htm +..\..\LICENSE-MIT-0.txt +..\..\LICENSE-GPLv2.txt +..\..\LICENSE-GPLv3.txt + +[ALIAS] +CHANGE_LOG = changelog.htm +DPCM_IMPORT = dpcm_import.htm +EFFECTS = effect_list.htm +HIDD_ABOUTBOX = main_index.htm +HIDD_BOOKMARKS = bookmark_manager.htm +HIDD_COMMAND_LINE = command_line.htm +HIDD_COMMENTS = comments.htm +HIDD_CONFIG_APPEARANCE = config_appearance.htm +HIDD_CONFIG_EMULATION=config_emulation.htm +HIDD_CONFIG_GENERAL = config_general.htm +HIDD_CONFIG_GUI=config_gui.htm +HIDD_CONFIG_MIDI = config_midi.htm +HIDD_CONFIG_MIXER = config_mixer.htm +HIDD_CONFIG_SHORTCUTS = config_shortcuts.htm +HIDD_CONFIG_SOUND = config_sound.htm +HIDD_CONFIG_VERSION=config_version.htm +HIDD_CREATEWAV = export_wave.htm +HIDD_DETUNE=detune_settings.htm +HIDD_EXPORT = nsf_export.htm +HIDD_GROOVE=groove_settings.htm +HIDD_INSTRUMENT_DPCM = 2a03.htm +HIDD_INSTRUMENT_FDS = fds.htm +HIDD_INSTRUMENT_FDS_ENVELOPE = fds.htm +HIDD_INSTRUMENT_INTERNAL = 2a03.htm +HIDD_INSTRUMENT_N163 = n163.htm +HIDD_INSTRUMENT_SUN5=sunsoft.htm +HIDD_INSTRUMENT_VRC6 = vrc6.htm +HIDD_INSTRUMENT_VRC7 = vrc7.htm +HIDD_PCMIMPORT = dpcm_import.htm +HIDD_PERFORMANCE = performance.htm +HIDD_PROPERTIES = properties.htm +HIDD_SAMPLE_EDITOR = dpcm_editor.htm +HIDD_SPEED = speed.htm +HIDD_TEXTEXPORT = text_export.htm +HIDD_WAVE_PROGRESS = export_wave.htm +HIDR_MAINFRAME = main_index.htm +NSF_EXPORT = nsf_export.htm +PATTERN_EDITOR = pattern_editor.htm +SHORTCUTS = shortcuts.htm +TEXT_EXPORT = text_export.htm + +[MAP] +#include HTMLDefines.h + +[TEXT POPUPS] +HTMLDefines.h + +[INFOTYPES] + diff --git a/hlp/license-template.htm b/hlp/license-template.htm index 997e639..452f51b 100644 --- a/hlp/license-template.htm +++ b/hlp/license-template.htm @@ -31,12 +31,6 @@ PATCH HERE FIRST PATCH HERE SECOND - -
    -

    GNU General Public License Version 3

    -
    
    -PATCH HERE THIRD
    -

    diff --git a/hlp/update-htm-templates.bat b/hlp/update-htm-templates.bat index e631ec5..02eb782 100644 --- a/hlp/update-htm-templates.bat +++ b/hlp/update-htm-templates.bat @@ -4,11 +4,9 @@ pandoc ..\..\CHANGELOG.md -f gfm -t html5 > temp.txt python ..\htm-patcher.py changelog-template.htm changelog.htm temp.txt "PATCH HERE PLEASE" del temp.txt pandoc ..\..\LICENSE.md -f gfm -t html5 > temp.txt -python ..\htm-patcher.py license-template.htm license_temp1.htm temp.txt "PATCH HERE FIRST" +python ..\htm-patcher.py license-template.htm license_temp.htm temp.txt "PATCH HERE FIRST" del temp.txt pandoc ..\..\Source\drivers\asm\LICENSE.md -f gfm -t html5 > temp.txt -python ..\htm-patcher.py license_temp1.htm license_temp2.htm temp.txt "PATCH HERE SECOND" +python ..\htm-patcher.py license_temp.htm license.htm temp.txt "PATCH HERE SECOND" del temp.txt -python ..\htm-patcher.py license_temp2.htm license.htm ..\..\LICENSE-GPLv3.txt "PATCH HERE THIRD" -del license_temp1.htm -del license_temp2.htm +del license_temp.htm From 3282aca62fc7acfa5f84afbea67202f09c1cc542 Mon Sep 17 00:00:00 2001 From: Persune Date: Fri, 9 Jan 2026 22:30:59 +0800 Subject: [PATCH 09/18] Link to pitch table from DPCM import/editor page - Fix position of audio IC scan again --- hlp/2a03.htm | 22 ++++++++++++---------- hlp/dpcm_editor.htm | 2 +- hlp/dpcm_import.htm | 35 ++++++++++++++++++++--------------- hlp/fds.htm | 11 +++++------ hlp/mmc5.htm | 11 +++++------ hlp/n163.htm | 10 +++++----- hlp/sunsoft.htm | 8 ++++---- hlp/vrc6.htm | 8 ++++---- hlp/vrc7.htm | 11 +++++------ 9 files changed, 61 insertions(+), 57 deletions(-) diff --git a/hlp/2a03.htm b/hlp/2a03.htm index 5696793..b33d097 100644 --- a/hlp/2a03.htm +++ b/hlp/2a03.htm @@ -8,6 +8,11 @@ 2A03/2A07 APU
    +
    + Picture of the 2A03G chip +
    +

    About

    @@ -77,12 +82,6 @@

  • -
    -
    - Picture of the 2A03G chip -
    -

    Instruments

    @@ -167,8 +166,11 @@ diff --git a/hlp/main_index.htm b/hlp/main_index.htm index 28802ca..c23d146 100644 --- a/hlp/main_index.htm +++ b/hlp/main_index.htm @@ -76,6 +76,14 @@
  • Frequently Asked Questions (FAQ)
  • Change log
  • Licenses and libraries
  • +

    Contact and support

    @@ -100,7 +108,7 @@ Link to Dn-Help repository - FamiTracker Website (archived link): + FamiTracker Website: http://www.famitracker.com @@ -110,9 +118,15 @@
    - Help manual written and augmented by forple and Persune.
    - FamiTracker is Copyright © 2005 - 2020 jsr.
    - 0CC-FamiTracker is © 2014-2018 HertzDevil
    - Dn-Famitracker is Copyright © 2020-2025 D.P.C.M.
    + + Help manual written by jsr, augmented by forple and Persune with additional 0CC-FamiTracker information by HertzDevil. +
    + + FamiTracker copyright © 2005 - 2020 jsr.
    + + 0CC-FamiTracker copyright © 2014-2018 HertzDevil
    + + Dn-Famitracker copyright © 2020-2026 D.P.C.M. +
    \ No newline at end of file From dae6b7e831b3622f94a14368f1fb9aa9493a00ed Mon Sep 17 00:00:00 2001 From: Persune Date: Sun, 11 Jan 2026 19:40:29 +0800 Subject: [PATCH 17/18] Update changelog --- CHANGELOG.md | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ef77d7..bee7c33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,23 +6,34 @@ Written by D.P.C.M. Version 0.5.2.9 -Last updated: January 06, 2025 +Last updated: January 11, 2025 --- -## Unreleased - 2026-01-06 +## Unreleased - 2026-01-11 ### Important changes -- ... +- Remove unused `sound.htm` page (@Gumball2415 #16) +- Explicitly mention licensing for Dn-help (@Gumball2415 #16) ### Improvements -- ... +- Reword module properties description (@Gumball2415 #16) +- Declutter and update pattern editor descriptions (@Gumball2415 #16) +- Add description of hold instrument `&&` command (@brickblock369 @Gumball2415 #14 #16) +- Add more detailed expansion audio chip images (@Gumball2415 #16) +- Link GPLv2, GPLv3, and MIT-0 license texts (@Gumball2415 #16) +- Link to DPCM pitch table in DPCM import/editor page (@Gumball2415 #16) +- Update Namco 163 information (@Gumball2415 #16) +- Add description of exponential volume in 5B instruments page (@Gumball2415 #16) ### Bug fixes -- ... +- Fix spellings of "GitHub" (@Gumball2415 #16) +- Fix and refactor table stylings (@Gumball2415 #16) + - Sort `Exx` hardware length counter value table + - Clarify 5B `V0x` command table ### Internal @@ -30,6 +41,7 @@ Last updated: January 06, 2025 - Update GitHub pull request template (@Gumball2415 #15) - Refactor HTMLHelp custom build commands (@Gumball2415 #15) - Add change log (@Gumball2415 #15) +- Add dedicated Python script for patching template files (@Gumball2415 #9 #16) From d2f83caea1d8451a38436ec9ccf5e49357c9dcc9 Mon Sep 17 00:00:00 2001 From: Persune Date: Sun, 11 Jan 2026 20:04:38 +0800 Subject: [PATCH 18/18] Add disclaimer about links in markdown --- hlp/license-template.htm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hlp/license-template.htm b/hlp/license-template.htm index 5237e49..ca0bc93 100644 --- a/hlp/license-template.htm +++ b/hlp/license-template.htm @@ -13,10 +13,11 @@

    Note: - This license information is generated. For more details, - please view the license files that comes with this binary, - or visit + This license information is converted from markdown; links + may not work properly. For more details, please view the + license files that comes with this binary, or visit https://github.com/Dn-Programming-Core-Management/Dn-FamiTracker + for working links.