diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 000000000..eb00f070b
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "Dn-help"]
+ path = Dn-help
+ url = https://github.com/Dn-Programming-Core-Management/Dn-help.git
diff --git a/Dn-FamiTracker.sln b/Dn-FamiTracker.sln
index 5395df0ce..3fec1f8cf 100644
--- a/Dn-FamiTracker.sln
+++ b/Dn-FamiTracker.sln
@@ -7,7 +7,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Dn-FamiTracker", "Dn-FamiTr
{5B4C1AA7-4AE9-4FF2-A7E6-8EEE50EDC6E2} = {5B4C1AA7-4AE9-4FF2-A7E6-8EEE50EDC6E2}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hlp", "hlp\hlp.vcxproj", "{AFD2F6E3-E658-4A1B-A691-8F10A858321B}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hlp", "Dn-help\hlp\hlp.vcxproj", "{AFD2F6E3-E658-4A1B-A691-8F10A858321B}"
ProjectSection(ProjectDependencies) = postProject
{92FE0690-CE4F-4CCF-A52C-23265AE7429F} = {92FE0690-CE4F-4CCF-A52C-23265AE7429F}
EndProjectSection
diff --git a/Dn-FamiTracker.vcxproj b/Dn-FamiTracker.vcxproj
index 4430b26c2..039f72eca 100644
--- a/Dn-FamiTracker.vcxproj
+++ b/Dn-FamiTracker.vcxproj
@@ -689,150 +689,150 @@
- echo // Generated Help Map file. Used by $(SolutionName).hhp. > "hlp\HTMLDefines.h"
-echo. > "hlp\HTMLDefines.h"
-echo // Commands (ID_* and IDM_*) >> "hlp\HTMLDefines.h"
-makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Prompts (IDP_*) >> "hlp\HTMLDefines.h"
-makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Resources (IDR_*) >> "hlp\HTMLDefines.h"
-makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Dialogs (IDD_*) >> "hlp\HTMLDefines.h"
-makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Frame Controls (IDW_*) >> "hlp\HTMLDefines.h"
-makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "hlp\HTMLDefines.h"
- echo // Generated Help Map file. Used by $(SolutionName).hhp. > "hlp\HTMLDefines.h"
-echo. > "hlp\HTMLDefines.h"
-echo // Commands (ID_* and IDM_*) >> "hlp\HTMLDefines.h"
-makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Prompts (IDP_*) >> "hlp\HTMLDefines.h"
-makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Resources (IDR_*) >> "hlp\HTMLDefines.h"
-makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Dialogs (IDD_*) >> "hlp\HTMLDefines.h"
-makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Frame Controls (IDW_*) >> "hlp\HTMLDefines.h"
-makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "hlp\HTMLDefines.h"
- echo // Generated Help Map file. Used by $(SolutionName).hhp. > "hlp\HTMLDefines.h"
-echo. > "hlp\HTMLDefines.h"
-echo // Commands (ID_* and IDM_*) >> "hlp\HTMLDefines.h"
-makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Prompts (IDP_*) >> "hlp\HTMLDefines.h"
-makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Resources (IDR_*) >> "hlp\HTMLDefines.h"
-makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Dialogs (IDD_*) >> "hlp\HTMLDefines.h"
-makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Frame Controls (IDW_*) >> "hlp\HTMLDefines.h"
-makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "hlp\HTMLDefines.h"
- echo // Generated Help Map file. Used by $(SolutionName).hhp. > "hlp\HTMLDefines.h"
-echo. > "hlp\HTMLDefines.h"
-echo // Commands (ID_* and IDM_*) >> "hlp\HTMLDefines.h"
-makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Prompts (IDP_*) >> "hlp\HTMLDefines.h"
-makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Resources (IDR_*) >> "hlp\HTMLDefines.h"
-makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Dialogs (IDD_*) >> "hlp\HTMLDefines.h"
-makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Frame Controls (IDW_*) >> "hlp\HTMLDefines.h"
-makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "hlp\HTMLDefines.h"
+ echo // Generated Help Map file. Used by $(SolutionName).hhp. > "Dn-help\hlp\HTMLDefines.h"
+echo. > "Dn-help\hlp\HTMLDefines.h"
+echo // Commands (ID_* and IDM_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Prompts (IDP_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Resources (IDR_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Dialogs (IDD_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Frame Controls (IDW_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+ echo // Generated Help Map file. Used by $(SolutionName).hhp. > "Dn-help\hlp\HTMLDefines.h"
+echo. > "Dn-help\hlp\HTMLDefines.h"
+echo // Commands (ID_* and IDM_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Prompts (IDP_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Resources (IDR_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Dialogs (IDD_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Frame Controls (IDW_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+ echo // Generated Help Map file. Used by $(SolutionName).hhp. > "Dn-help\hlp\HTMLDefines.h"
+echo. > "Dn-help\hlp\HTMLDefines.h"
+echo // Commands (ID_* and IDM_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Prompts (IDP_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Resources (IDR_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Dialogs (IDD_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Frame Controls (IDW_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+ echo // Generated Help Map file. Used by $(SolutionName).hhp. > "Dn-help\hlp\HTMLDefines.h"
+echo. > "Dn-help\hlp\HTMLDefines.h"
+echo // Commands (ID_* and IDM_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Prompts (IDP_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Resources (IDR_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Dialogs (IDD_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Frame Controls (IDW_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"Generating map file for help compiler.Generating map file for help compiler.Generating map file for help compiler.Generating map file for help compiler.
- hlp\HTMLDefines.h;%(Outputs)
- hlp\HTMLDefines.h;%(Outputs)
- hlp\HTMLDefines.h;%(Outputs)
- hlp\HTMLDefines.h;%(Outputs)
- echo // Generated Help Map file. Used by $(SolutionName).hhp. > "hlp\HTMLDefines.h"
-echo. > "hlp\HTMLDefines.h"
-echo // Commands (ID_* and IDM_*) >> "hlp\HTMLDefines.h"
-makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Prompts (IDP_*) >> "hlp\HTMLDefines.h"
-makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Resources (IDR_*) >> "hlp\HTMLDefines.h"
-makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Dialogs (IDD_*) >> "hlp\HTMLDefines.h"
-makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Frame Controls (IDW_*) >> "hlp\HTMLDefines.h"
-makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "hlp\HTMLDefines.h"
- echo // Generated Help Map file. Used by $(SolutionName).hhp. > "hlp\HTMLDefines.h"
-echo. > "hlp\HTMLDefines.h"
-echo // Commands (ID_* and IDM_*) >> "hlp\HTMLDefines.h"
-makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Prompts (IDP_*) >> "hlp\HTMLDefines.h"
-makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Resources (IDR_*) >> "hlp\HTMLDefines.h"
-makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Dialogs (IDD_*) >> "hlp\HTMLDefines.h"
-makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Frame Controls (IDW_*) >> "hlp\HTMLDefines.h"
-makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "hlp\HTMLDefines.h"
- echo // Generated Help Map file. Used by $(SolutionName).hhp. > "hlp\HTMLDefines.h"
-echo. > "hlp\HTMLDefines.h"
-echo // Commands (ID_* and IDM_*) >> "hlp\HTMLDefines.h"
-makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Prompts (IDP_*) >> "hlp\HTMLDefines.h"
-makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Resources (IDR_*) >> "hlp\HTMLDefines.h"
-makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Dialogs (IDD_*) >> "hlp\HTMLDefines.h"
-makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Frame Controls (IDW_*) >> "hlp\HTMLDefines.h"
-makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "hlp\HTMLDefines.h"
- echo // Generated Help Map file. Used by $(SolutionName).hhp. > "hlp\HTMLDefines.h"
-echo. > "hlp\HTMLDefines.h"
-echo // Commands (ID_* and IDM_*) >> "hlp\HTMLDefines.h"
-makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Prompts (IDP_*) >> "hlp\HTMLDefines.h"
-makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Resources (IDR_*) >> "hlp\HTMLDefines.h"
-makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Dialogs (IDD_*) >> "hlp\HTMLDefines.h"
-makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Frame Controls (IDW_*) >> "hlp\HTMLDefines.h"
-makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "hlp\HTMLDefines.h"
+ Dn-help\hlp\HTMLDefines.h;%(Outputs)
+ Dn-help\hlp\HTMLDefines.h;%(Outputs)
+ Dn-help\hlp\HTMLDefines.h;%(Outputs)
+ Dn-help\hlp\HTMLDefines.h;%(Outputs)
+ echo // Generated Help Map file. Used by $(SolutionName).hhp. > "Dn-help\hlp\HTMLDefines.h"
+echo. > "Dn-help\hlp\HTMLDefines.h"
+echo // Commands (ID_* and IDM_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Prompts (IDP_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Resources (IDR_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Dialogs (IDD_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Frame Controls (IDW_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+ echo // Generated Help Map file. Used by $(SolutionName).hhp. > "Dn-help\hlp\HTMLDefines.h"
+echo. > "Dn-help\hlp\HTMLDefines.h"
+echo // Commands (ID_* and IDM_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Prompts (IDP_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Resources (IDR_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Dialogs (IDD_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Frame Controls (IDW_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+ echo // Generated Help Map file. Used by $(SolutionName).hhp. > "Dn-help\hlp\HTMLDefines.h"
+echo. > "Dn-help\hlp\HTMLDefines.h"
+echo // Commands (ID_* and IDM_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Prompts (IDP_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Resources (IDR_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Dialogs (IDD_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Frame Controls (IDW_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+ echo // Generated Help Map file. Used by $(SolutionName).hhp. > "Dn-help\hlp\HTMLDefines.h"
+echo. > "Dn-help\hlp\HTMLDefines.h"
+echo // Commands (ID_* and IDM_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Prompts (IDP_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDP_,HIDP_,0x30000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Resources (IDR_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDR_,HIDR_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Dialogs (IDD_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDD_,HIDD_,0x20000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Frame Controls (IDW_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(FullPath)" >> "Dn-help\hlp\HTMLDefines.h"Generating map file for help compiler.Generating map file for help compiler.Generating map file for help compiler.Generating map file for help compiler.
- hlp\HTMLDefines.h;%(Outputs)
- hlp\HTMLDefines.h;%(Outputs)
- hlp\HTMLDefines.h;%(Outputs)
- hlp\HTMLDefines.h;%(Outputs)
+ Dn-help\hlp\HTMLDefines.h;%(Outputs)
+ Dn-help\hlp\HTMLDefines.h;%(Outputs)
+ Dn-help\hlp\HTMLDefines.h;%(Outputs)
+ Dn-help\hlp\HTMLDefines.h;%(Outputs)
diff --git a/Dn-help b/Dn-help
new file mode 160000
index 000000000..666785727
--- /dev/null
+++ b/Dn-help
@@ -0,0 +1 @@
+Subproject commit 6667857270c496dfd5cdaaf2fd96db80b2e83edc
diff --git a/changelog.txt b/changelog.txt
index 2e2308809..81cc68121 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,6 @@
+Notice: changelog.exe will no longer be maintained as of 10/23/2023.
+For further changelog updates, please go to docs/CHANGELOG.md
+
Dn-FamiTracker Mod
Change Log
Written by Persune
diff --git a/cmake/compile-chm.bat b/cmake/compile-chm.bat
index 0e138872e..ab4bc0328 100644
--- a/cmake/compile-chm.bat
+++ b/cmake/compile-chm.bat
@@ -1,27 +1,27 @@
rem call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
@echo off
-echo // Generated Help Map file. Used by Dn-FamiTracker.hhp. > "hlp\HTMLDefines.h"
-echo. > "hlp\HTMLDefines.h"
-echo // Commands (ID_* and IDM_*) >> "hlp\HTMLDefines.h"
-makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "resource.h" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Prompts (IDP_*) >> "hlp\HTMLDefines.h"
-makehm /h IDP_,HIDP_,0x30000 "resource.h" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Resources (IDR_*) >> "hlp\HTMLDefines.h"
-makehm /h IDR_,HIDR_,0x20000 "resource.h" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Dialogs (IDD_*) >> "hlp\HTMLDefines.h"
-makehm /h IDD_,HIDD_,0x20000 "resource.h" >> "hlp\HTMLDefines.h"
-echo. >> "hlp\HTMLDefines.h"
-echo // Frame Controls (IDW_*) >> "hlp\HTMLDefines.h"
-makehm /h /a "afxhh.h" IDW_,HIDW_,0x50000 "resource.h" >> "hlp\HTMLDefines.h"
-start /wait hhc "hlp\Dn-FamiTracker.hhp"
-if not exist "hlp\Dn-FamiTracker.chm" goto :HelpError
-move "hlp\Dn-FamiTracker.chm" "Dn-FamiTracker.chm"
+echo // Generated Help Map file. Used by Dn-FamiTracker.hhp. > "Dn-help\hlp\HTMLDefines.h"
+echo. > "Dn-help\hlp\HTMLDefines.h"
+echo // Commands (ID_* and IDM_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "resource.h" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Prompts (IDP_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDP_,HIDP_,0x30000 "resource.h" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Resources (IDR_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDR_,HIDR_,0x20000 "resource.h" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Dialogs (IDD_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h IDD_,HIDD_,0x20000 "resource.h" >> "Dn-help\hlp\HTMLDefines.h"
+echo. >> "Dn-help\hlp\HTMLDefines.h"
+echo // Frame Controls (IDW_*) >> "Dn-help\hlp\HTMLDefines.h"
+makehm /h /a "afxhh.h" IDW_,HIDW_,0x50000 "resource.h" >> "Dn-help\hlp\HTMLDefines.h"
+start /wait hhc "Dn-help\hlp\Dn-FamiTracker.hhp"
+if not exist "Dn-help\hlp\Dn-FamiTracker.chm" goto :HelpError
+move "Dn-help\hlp\Dn-FamiTracker.chm" "Dn-FamiTracker.chm"
goto :HelpDone
:HelpError
-echo hlp\Dn-FamiTracker.hhp(1) : error:Problem encountered creating help file
+echo Dn-help\hlp\Dn-FamiTracker.hhp(1) : error:Problem encountered creating help file
echo.
:HelpDone
echo.
\ No newline at end of file
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 480905b24..a5b71899c 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -1,25 +1,27 @@
# Dn-FamiTracker Mod
+
Change Log
-Written by Persune
+
+Written by D.P.C.M.
Version 0.5.0.1 - May 10, 2023
---
-### Dn0.5.0.1 - 05/10/2023
+## Dn0.5.0.1 - 05/10/2023
-- #### Important changes:
+- ### Important changes:
- Module breaking bugs have now been fixed. (@Gumball2415 #195)
- Fix effects type order bug (@Threxx11 @Gumball2415 #184 #195)
- Fix custom OPLL patch entry bug (@galap-1 @Gumball2415 #176 #195)
- Fix N163 mixing bug (@recme @Gumball2415 #174 #195)
-- #### Improvements:
+- ### Improvements:
- Implement proper commandline support (@TheRealQuantam #168 #181)
-- #### Bug fixes:
+- ### Bug fixes:
- Fix NSF driver S5B envelope autoperiod (@N-SPC700 @Gumball2415 #186 #189)
- Fix NSF driver arpeggio sequence note overflow (@N-SPC700 @Gumball2415 #189)
@@ -32,7 +34,7 @@ Version 0.5.0.1 - May 10, 2023
- Reinitialize OPLL patchset (@galap-1 @Gumball2415 #203 #195)
- Initialize PlaybackRate and PlaybackRateType (@N-SPC700 @Gumball2415 #202 #195)
-- #### Internal:
+- ### Internal:
- Update build tools, VS solution, CMake lists, and corresponding documentation (@Gumball2415 #186)
- Add version increment documentation (@Gumball2415 #194)
@@ -43,9 +45,9 @@ Version 0.5.0.1 - May 10, 2023
-### Dn0.5.0.0 - 12/19/2022
+## Dn0.5.0.0 - 12/19/2022
-- #### Important changes:
+- ### Important changes:
- Dn-FamiTracker modules are no longer backwards compatible with "vanilla" and 0CC FamiTracker.
- Dn-FamiTracker Demo Compo 1 modules are now added
@@ -58,7 +60,7 @@ Version 0.5.0.1 - May 10, 2023
- Hardware-based module expansion mixing (export only available for NSFe/NSF2)
- DirectSound backend now replaced with WASAPI
-- #### Additions:
+- ### Additions:
- Add FDS waveform view (@EulousDev #113)
- Add invalid note indicator (@EulousDev #119)
@@ -71,7 +73,7 @@ Version 0.5.0.1 - May 10, 2023
- Implement external OPLL patchset editing (@Gumball2415 #68, #156)
- Implement VRC7 NSFe chunk (@Gumball2415 #156)
-- #### Improvements:
+- ### Improvements:
- Register view improvements (@Gumball2415 @nyanpasu64 @EulousDev #118, #120)
- Replace N163 audio core with Mesen (@Gumball2415 nyanpasu64/j0CC-FamiTracker#151, #111, #138, #152)
@@ -82,7 +84,7 @@ Version 0.5.0.1 - May 10, 2023
- Refactor period table calculation (@Gumball2415 #156)
- Update text import/export parity (@Gumball2415 #161, #162, #156)
-- #### Bug fixes:
+- ### Bug fixes:
- Prevent ctrl/shift+wheel edit outside edit mode (copyrat90 #87)
- Fix random crash when exporting channels as WAV (@nyanpasu64 #92, #93)
@@ -103,7 +105,7 @@ Version 0.5.0.1 - May 10, 2023
- Dn-FamiTracker modules are no longer backwards compatible with "vanilla" and 0CC (@Gumball2415 #156)
- FamiTracker 0.5.0 beta modules no longer conflict with Dn-FamiTracker 0.5.0.0 modules (@Gumball2415 #156)
-- #### Internal:
+- ### Internal:
- Revise README (@Gumball2415 #114)
- Replace DirectSound backend with WASAPI (@nyanpasu64 #124)
@@ -116,32 +118,32 @@ Version 0.5.0.1 - May 10, 2023
-### Dn0.4.0.1 - 09/14/2021
+## Dn0.4.0.1 - 09/14/2021
-- #### Patch fixes:
+- ### Patch fixes:
- Fix internal version numbering (@Gumball2415)
-### Dn0.4.0.0 - 09/13/2021
+## Dn0.4.0.0 - 09/13/2021
-- #### Important changes:
+- ### Important changes:
- New file extension format for modules: *.dnm (@Gumball2415 #71)
- New file extension format for instruments: *.dni (@Gumball2415 #71)
- Support for Windows XP has been dropped (@Gumball2415, @nyanpasu64, @N-SPC700 #82, #84)
-- #### Additions:
+- ### Additions:
- Add new D.P.C.M. organization info, links and metadata (@Gumball2415 #71)
- New instrument names are blank on creation (@Gumball2415)
- Add empty instrument in newly created modules (@Gumball2415, @nyanpasu64, @N-SPC700 #77)
-- #### Improvements:
+- ### Improvements:
- Adjustable frame editor channel view limit (@Gumball2415 #72)
- Fix frame editor channel view truncation (@Gumball2415 #72)
-- #### Bug fixes:
+- ### Bug fixes:
- Fix Gxx delay command overflow in NSF driver (@Gumball2415, @smbhacks #80)
- Fix FDS automatic modulation overflow in NSF driver (@Gumball2415, @galap-1 #65, #80)
@@ -150,7 +152,7 @@ Version 0.5.0.1 - May 10, 2023
- Flush file to disk before renaming to prevent module corruption (@Gumball2415, @nyanpasu64 #81)
- Fix commandline parameter processing when flags are used (@Gumball2415)
-- #### Internal:
+- ### Internal:
- Fix CString::Format() memory corruption bug on Wine (@nyanpasu64 #56)
- Fix uninitialized echo buffer values (@nyanpasu64 #56)
@@ -161,28 +163,28 @@ Version 0.5.0.1 - May 10, 2023
-### Dn0.3.1.0 - 06/30/2021
+## Dn0.3.1.0 - 06/30/2021
-- #### Important changes:
+- ### Important changes:
- N163 and 5B expansion audio mixing has been restored to 0.2.1 levels (@nyanpasu64 #66)
- Adjusted APU 2 levels to match blargg's original formula (@Gumball2415 #69)
-- #### Additions:
+- ### Additions:
- Added a textbox for patch editing within the VRC7 instrument editor (@Gumball2415 #60)
-- #### Improvements:
+- ### Improvements:
- Edit NSF export format to allow adding more effects (@Gumball2415, @nyanpasu64 #46)
-- #### Bug fixes:
+- ### Bug fixes:
- Fix VRC7 hardware patch bank presets not reading properly (@Gumball2415 #60)
- Fix crash when increasing engine speed with VRC7 enabled (@nyanpasu64 #62)
- Fix N163 and 5B mixing levels which were swapped in 0.3.0 (causing N163 to be louder and 5B to be quieter) (@nyanpasu64 #66)
-- #### Internal:
+- ### Internal:
- Update VRC7 emulator core (emu2413) to v1.5.6 (@Gumball2415 #59)
- Port CVRC7 to CSoundChip2 (@Gumball2415 #59)
@@ -190,9 +192,9 @@ Version 0.5.0.1 - May 10, 2023
-### Dn0.3.0.0 - 04/03/2021
+## Dn0.3.0.0 - 04/03/2021
-- #### Important changes:
+- ### Important changes:
- Reenabled version checking, which can also be accessed in the Help popup
- Replaced FDS emulation core with Mesen's version (@nyanpasu64 #32)
@@ -201,7 +203,7 @@ Version 0.5.0.1 - May 10, 2023
- Blue Mario for Sunsoft 5B information (@N-SPC700 #12)
- Accuracy (Compass Man) for providing updated screenshots (#12)
-- #### Additions:
+- ### Additions:
- Added FastTracker 2 (JP106) keymap (@sdhizumi #8)
- Adjustable idle refresh rate in configuration
@@ -212,20 +214,20 @@ Version 0.5.0.1 - May 10, 2023
- Added the Kxx multiply frequency effect, not currently supported in NSF export @nyanpasu64 #16)
- Adjustable channel view in frame editor
-- #### Improvements:
+- ### Improvements:
- Enable DPI scaling for pattern editor (@nyanpasu64 #5)
- Updated About information
- Export wave shortcut (Ctrl + Shift + E)
-- #### Bug fixes:
+- ### Bug fixes:
- Fixed DC drifting (when no highpass is applied) due to rounding errors in Blip_Buffer calculation (@nyanpasu64 #27)
- Fixed N163 detuning when multiplexing is disabled (@nyanpasu64 #31)
- Fixed undoing "delete frame" adding a new frame (#43)
- Fixed VRC7 note cuts being inconsistent with in-tracker note cuts (@Kouzeru #47)
-- #### Internal:
+- ### Internal:
- Fixed CMake MFC detection and link flag conflicts (@nyanpasu64 #6)
- Removed more occurences of old program name and renamed more files to Dn (@nyanpasu64 #7)
@@ -242,49 +244,49 @@ Version 0.5.0.1 - May 10, 2023
-### Dn0.2.1.0 - 09/13/20
+## Dn0.2.1.0 - 09/13/20
-- #### Additions:
+- ### Additions:
- Adjustable preview pitch.
-- #### Improvements:
+- ### Improvements:
- Readjusted the DPCM sample editor dialog size limit.
-- #### Bug fixes:
+- ### Bug fixes:
- Fixed drag-scrolling not working.
- Readjusted the DPCM sample editor dialog size limit.
-- #### Internal:
+- ### Internal:
- Changed the project and corresponding project file names accordingly to Dn-FamiTracker.
-### Dn0.2.0.0 - 09/07/20
+## Dn0.2.0.0 - 09/07/20
-- #### Additions:
+- ### Additions:
- Multiple .wav per-channel export (#2)
- Adaptive register state refresh rate(≈60fps during playback, otherwise 10fps)
-- #### Bug fixes:
+- ### Bug fixes:
- DPCM sample bit reversal now includes the first bit of the sample
- Fixed the version numbering
-- #### Internal:
+- ### Internal:
- Changed most of the internal names from j0CC-FamiTracker to Dn-FamiTracker
- Use precompiled headers in CMake builds (@nyanpasu64 #3)
-### Dn0.1.0.0 - 08/05/20
+## Dn0.1.0.0 - 08/05/20
-- #### Additions:
+- ### Additions:
- DPCM sample bit order reversal (located in the DPCM sample editor) (#1)
@@ -293,7 +295,9 @@ Version 0.5.0.1 - May 10, 2023
# j0CC-FamiTracker Mod
+
Change Log
+
Written by nyanpasu64
Version 0.6.3 - August 1 2020
@@ -301,7 +305,7 @@ Version 0.6.3 - August 1 2020
---
-### 0.6.3 - 08/01/20
+## 0.6.3 - 08/01/20
This will be the final release. This program has been effectively dead for
months to years, as my priorities have moved elsewhere, to building a new
@@ -331,11 +335,11 @@ FamiTracker-Next. I may participate if I regain interest.
- Fix memory corruption on Wine during find-and-replace (#164)
- Fix out-of-bounds read (garbage data or crashes) with N163 Vxx effects over 0x80 (#165)
-🚪🐈
+:door::cat2:
-### j0.6.2 - 06/16/19
+## j0.6.2 - 06/16/19
the version number in the .exe is wrong. Ignore it.
@@ -345,7 +349,7 @@ the version number in the .exe is wrong. Ignore it.
See https://ci.appveyor.com/project/nyanpasu64/0cc-famitracker/history for dev
builds.
-### j0.6.1 - 09/30/18
+## j0.6.1 - 09/30/18
Bugfixes:
@@ -359,7 +363,7 @@ Internal:
-### j0.6.0a - 07/08/18
+## j0.6.0a - 07/08/18
j0.6.0a is identical to j0.6.0, except with correct .exe version number, and
.pdb debug info available in release builds, to help debug crash dumps.
@@ -392,7 +396,7 @@ Internal:
-### j0.5.3 - 06/01/18
+## j0.5.3 - 06/01/18
Changelog:
@@ -411,7 +415,7 @@ Bugfixes:
-### j0.0.5.2 - 04/29/18
+## j0.0.5.2 - 04/29/18
Changelog:
@@ -424,7 +428,7 @@ Bugfixes:
-### j0.0.5.1 - 04/16/18
+## j0.0.5.1 - 04/16/18
Changelog:
@@ -436,7 +440,7 @@ See https://ci.appveyor.com/project/nyanpasu64/0cc-famitracker/history for past
-### j0.0.5 - 04/13/18
+## j0.0.5 - 04/13/18
Changelog:
@@ -454,7 +458,7 @@ See https://ci.appveyor.com/project/nyanpasu64/0cc-famitracker/history for dev b
-### j0.0.4 - 03/22/18
+## j0.0.4 - 03/22/18
Changelog:
@@ -469,7 +473,7 @@ Bug fixes:
-### j0.0.3 - 03/02/18
+## j0.0.3 - 03/02/18
Disabled update checking (may reenable checking this repo later). Changed the version number.
@@ -477,13 +481,13 @@ Fixed #10 and #11 for Wine users.
-### j0.0.2 - 03/02/18
+## j0.0.2 - 03/02/18
Fixed a crashing issue in debug builds, and reported to occur in release builds. (Caused by hires FFT)
-### j0.0.1 - 03/02/18
+## j0.0.1 - 03/02/18
This is a fork of HertzDevil's 0CC-Famitracker 0.3.14.5 (since 0.3.15.1 and master are quite buggy and changing rapidly). It contains bugfixes which HertzDevil has not merged yet (some for months, some fixed independently in 0.3.15.1 or master), as well as N163 multi-wave copy-paste support.
@@ -501,7 +505,7 @@ Enhancements:
-### n163-2018-02-10 - 02/12/18
+## n163-2018-02-10 - 02/12/18
My changes:
- Fixed importing FTI instruments containing DPCM samples where length's bytes >= 0x80. This fixes Extends Levant bass.
@@ -525,14 +529,16 @@ Known bugs:
# 0CC-FamiTracker Mod
+
Change Log
+
Written by HertzDevil
- Version 0.3.15.3 - May 20 2018
+Version 0.3.15.3 - May 20 2018
---
-### V0.3.15.3 - 05/20/18
+## V0.3.15.3 - 05/20/18
Bug fixes:
@@ -541,7 +547,7 @@ Bug fixes:
-### V0.3.15.2 - 05/20/18
+## V0.3.15.2 - 05/20/18
Additions:
@@ -602,14 +608,14 @@ Bug fixes:
-### V0.3.15.1 - 10/30/17
+## V0.3.15.1 - 10/30/17
Bug fixes:
- Fixed pattern block corruption for songs containing more than 256 rows
-### V0.3.15.0 - 10/30/17
+## V0.3.15.0 - 10/30/17
Important Changes:
- Custom exporter support has been dropped because of lack of use
@@ -633,7 +639,7 @@ Bug fixes:
-### V0.3.14.5 - 01/16/17
+## V0.3.14.5 - 01/16/17
Important Changes:
- Effect indices are now remapped to match new effects in vanilla 0.5.0 beta
@@ -666,7 +672,7 @@ Bug fixes:
-### V0.3.14.4 - 08/04/16
+## V0.3.14.4 - 08/04/16
Bug fixes:
- Fixed recent file list not updating the registry if cleared without being viewed again at least once
@@ -675,7 +681,7 @@ Bug fixes:
-### V0.3.14.3 - 08/03/16
+## V0.3.14.3 - 08/03/16
Additions:
- Ported the following features from 0.5.0 beta:
@@ -733,7 +739,7 @@ Bug fixes:
-### V0.3.14.2 - 05/23/16
+## V0.3.14.2 - 05/23/16
Additions:
- Added linear pitch mode (originally from official 0.4.0)
@@ -779,7 +785,7 @@ Bug fixes:
-### V0.3.14.1 - 04/09/16
+## V0.3.14.1 - 04/09/16
Improvements:
- Tracker now pads DPCM samples with invalid size on opening a module
@@ -809,7 +815,7 @@ Bug fixes:
-### V0.3.14.0 - 03/31/16
+## V0.3.14.0 - 03/31/16
Additions:
- Added the *.0cc file extension
@@ -842,7 +848,7 @@ Bug fixes:
-### V0.3.13 - 11/16/15
+## V0.3.13 - 11/16/15
Additions:
- Added a command to create new instruments by recording the output of certain channels as instrument sequences
@@ -879,7 +885,7 @@ Bug fixes:
-### V0.3.12 - 10/17/15
+## V0.3.12 - 10/17/15
Additions:
- Added FDS automatic frequency modulation effects
@@ -917,7 +923,7 @@ Bug fixes:
-### V0.3.11r1 - 07/12/15
+## V0.3.11r1 - 07/12/15
Improvements:
- Added simple wildcard for search query ("." character)
@@ -933,7 +939,7 @@ Bug fixes:
-### V0.3.11 - 07/09/15
+## V0.3.11 - 07/09/15
Additions:
- Added pattern bookmark manager and go to dialog
@@ -964,7 +970,7 @@ Bug fixes:
-### V0.3.10 - 06/02/15
+## V0.3.10 - 06/02/15
Additions:
- Added Exx effect for the FDS channel's hardware volume envelope control
@@ -1013,7 +1019,7 @@ Bug fixes:
-### V0.3.9 - 04/12/15
+## V0.3.9 - 04/12/15
Additions:
- Selection can now span across frame boundaries
@@ -1085,7 +1091,7 @@ Bug fixes:
-### V0.3.8 - 02/16/15
+## V0.3.8 - 02/16/15
Additions:
- Added Txy delayed transpose effect
@@ -1121,7 +1127,7 @@ Bug fixes:
-### V0.3.7 - 01/18/15
+## V0.3.7 - 01/18/15
Additions:
- Added Yxx wave buffer access for N163 channels
@@ -1142,7 +1148,7 @@ Bug fixes:
-### V0.3.6 - 01/09/15
+## V0.3.6 - 01/09/15
Additions:
- Added ad-hoc support for NSF export using multiple expansion chips
@@ -1163,7 +1169,7 @@ Bug fixes:
-### V0.3.5 - 01/01/15
+## V0.3.5 - 01/01/15
Additions:
- Added echo buffer
@@ -1187,7 +1193,7 @@ Bug fixes:
-### V0.3.4 - 12/28/14
+## V0.3.4 - 12/28/14
Additions:
- Added groove settings
@@ -1203,7 +1209,7 @@ Bug fixes:
-### V0.3.3 - 12/25/14
+## V0.3.3 - 12/25/14
Additions:
- Added Exx effect for hardware envelope and length counter control
@@ -1225,7 +1231,7 @@ Bug fixes:
-### V0.3.2 - 12/20/14
+## V0.3.2 - 12/20/14
Additions:
- Added DETUNETABLES block in FTM format
@@ -1241,7 +1247,7 @@ Bug Fixes:
-### V0.3.1 - 12/16/14
+## V0.3.1 - 12/16/14
Bug Fixes:
- Fixed Vxx not working on 5B channels
@@ -1249,7 +1255,7 @@ Bug Fixes:
-### V0.3.0 - 12/15/14
+## V0.3.0 - 12/15/14
Additions:
- Added full support for the Sunsoft 5B expansion chip
@@ -1263,7 +1269,7 @@ Improvements:
-### V0.2.4 - 12/11/14
+## V0.2.4 - 12/11/14
Additions:
- Added one demo FTM demonstrating the tempo fix
@@ -1275,7 +1281,7 @@ Bug Fixes:
-### V0.2.3 - 12/07/14
+## V0.2.3 - 12/07/14
Additions:
- Sunsoft 5B envelope toggle is now incorporated into instrument duty sequences
@@ -1296,7 +1302,7 @@ Bug Fixes:
-### V0.2.2 - 12/03/14
+## V0.2.2 - 12/03/14
Additions:
- Ctrl+Shift+M now toggles Namco 163 multiplexer emulation, enabled by default
@@ -1316,7 +1322,7 @@ Bug Fixes:
-### V0.2.1 - 11/29/14
+## V0.2.1 - 11/29/14
Additions:
- Added an easter egg (included in source code since V0.3.8)
@@ -1329,7 +1335,7 @@ Bug Fixes:
-### V0.2.0 - 11/28/14
+## V0.2.0 - 11/28/14
Additions:
- Added the ability to read custom pitch tables
@@ -1340,7 +1346,7 @@ Bug Fixes:
-### V0.1.1 - 09/14/14
+## V0.1.1 - 09/14/14
Improvements:
- MML field now displays arpeggio schemes with "x" and "y" properly
@@ -1352,7 +1358,7 @@ Bug Fixes:
-### V0.1.0 - 09/12/14
+## V0.1.0 - 09/12/14
Additions:
- Initial release
@@ -1374,11 +1380,12 @@ For enquiries mail to nicetas.c@gmail.com
# FamiTracker
Change log
+
Version 0.4.6 - February 4 2015
---
-### Version 0.4.6
+## Version 0.4.6
New stuff:
- Pattern rows with unspecified instruments will use the selected instrument
@@ -1388,7 +1395,7 @@ Version 0.4.6 - February 4 2015
- Fixed instrument clone command bug
-### Version 0.4.5
+## Version 0.4.5
New stuff:
- Improved VRC7 emulation, clipping will occur when audio is too loud
@@ -1408,7 +1415,7 @@ Version 0.4.6 - February 4 2015
- Fixed MIDI note on/off priority problem
-### Version 0.4.4
+## Version 0.4.4
Fixed bugs:
- Fixed a problem with fixed arpeggio not playing the final note
@@ -1422,7 +1429,7 @@ Version 0.4.6 - February 4 2015
- Updated PAL DPCM period table
-### Version 0.4.3
+## Version 0.4.3
New stuff:
- Added names to the built in VRC7 patches
@@ -1446,7 +1453,7 @@ Version 0.4.6 - February 4 2015
- Fixed note slide effects on VRC7
-### Version 0.4.2
+## Version 0.4.2
New stuff:
- Added selection + drag & drop capability to the frame editor
@@ -1468,7 +1475,7 @@ Version 0.4.6 - February 4 2015
- Fixed some problems with the Dxx command
-### Version 0.4.1
+## Version 0.4.1
New stuff:
- Added an instrument files menu
@@ -1484,7 +1491,7 @@ Version 0.4.6 - February 4 2015
- Fixed some wave file export bugs
-### Version 0.4.0
+## Version 0.4.0
New stuff:
- Added fixed and relative arpeggio modes
@@ -1517,7 +1524,7 @@ Fixed bugs:
- Fixed volume problem when using the note halt command on VRC6 and MMC5
-### Version 0.3.7
+## Version 0.3.7
New stuff:
- Added MML string copy/paste to VRC7 instrument editor
@@ -1548,7 +1555,7 @@ Fixed bugs:
- Fixed a small vibrato export bug
-### Version 0.3.6b4
+## Version 0.3.6b4
Fixed bugs:
- Fixed a problem when loading multiple FTI files with DPCM samples
@@ -1603,13 +1610,13 @@ Fixed beta bugs: (ocurred only in earlier betas)
---
-##### Note from Dn-FT maintainer:
+#### Note from Dn-FT maintainer:
`changelog.txt` did not exist prior to FT 0.4.0 source. Due to this, versions 0.3.6 and below were not documented there. The following changelog text is derived from `changelog.htm`, in the HTMLHelp source.
---
-### Version 0.3.6
+## Version 0.3.6
- Added support for module importing
- Added a shortcut option to show/hide control panel (in settings/shortcuts)
@@ -1647,7 +1654,7 @@ Fixed beta bugs: (ocurred only in earlier betas)
- Fixed a crash bug when using a custom refresh rate with expansion chips
-### Version 0.3.5
+## Version 0.3.5
- Delete key deleted two rows on the bottom row, fixed
- Entering an instrument column number moves to that instrument
@@ -1684,7 +1691,7 @@ Fixed beta bugs: (ocurred only in earlier betas)
- Ctrl+C: copy current frame, Ctrl+V: paste frame into selected frame
-### Version 0.3.0
+## Version 0.3.0
- MMC5 expansion sound support
- Improved pattern editor (possible to select multiple channels, drag'n'drop, control+drag = copy, shift+drag = mix)
@@ -1700,7 +1707,7 @@ Fixed beta bugs: (ocurred only in earlier betas)
- Fixed a bug with the tremolo effect
-### Version 0.2.9
+## Version 0.2.9
- New effects Q, R (pitch slide), A (volume slide) A (volume slide)
- Fixed a tempo bug in the tracker
@@ -1716,7 +1723,7 @@ Fixed beta bugs: (ocurred only in earlier betas)
- Fixed some problems with note delay command in tracker and NSF
-### Version 0.2.7
+## Version 0.2.7
- New NSF code, creates smaller NSF files (and use less 6502 CPU).
- NSF bank switching is used automatically when needed.
@@ -1765,6 +1772,6 @@ Fixed beta bugs: (ocurred only in earlier betas)
---
-##### Note from Dn-FT maintainer:
+#### Note from Dn-FT maintainer:
`changelog.htm` did not exist prior to FT 0.2.7 source. There seems to be no recorded changelog for versions 0.2.6 and below.
diff --git a/hlp/2a03.htm b/hlp/2a03.htm
deleted file mode 100644
index e3e0eb2f1..000000000
--- a/hlp/2a03.htm
+++ /dev/null
@@ -1,341 +0,0 @@
-
-
-
-
-
-
-
-
-
- 2A03/2A07 internal channels
-
-
-
-
-
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.
-
-
- The audio update rate is typically tied to NMI or the video refresh rate, where each
- video frame corresponds to one audio tick, but any update rate is possible (within capability) and is
- customizable from the
- Tracker menu
-
-
- There are five sound channels available:
-
-
-
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.
-
-
-
Triangle
- Triangle shaped waveform. There is no volume control for this channel,
- so it will always be either on or off. The triangle cycle period is
- twice as long as for square channels so triangle notes will be one octave lower than
- square notes. The triangle's linear counter is accessible through Sxx commands with
- values greater than 80.
-
-
-
Noise
- Psuedo-random noise generator.
- Can produce 32767-step and 93/31-step sequences, selectable
- from the instruments duty/noise setting. There are only 16 different
- pitches available, so a pitch value instead of notes & octaves is displayed.
- The noise channel also has a hardware volume envelope, accesible with
- Exx effects.
-
-
-
DPCM (Delta PCM)
- Also known as DMC.
- Used to play delta modulated samples.
- Channel effects (volume, arpeggio & pitch slides) does not work on this channel.
- The volume column has no effect on this channel.
-
-
-
-
-
-
-
- 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.
-
- The 2A03 instruments contains a combination of parameters for the
- waveform channels and a set of samples for the DPCM channel.
-
-
2A03 settings
-
-
-
-
-
- This part of the instrument is only used by the wave channels of 2A03 (pulse, triangle and noise).
- The idea is based on the MML style, where a set of sequences are used to program the channels.
- A sequence is a list of values that are applied to the channel at the same rate as the NSF refresh rate, shown in the main window.
- As shown in the example above, 30 steps take 500 ms to run when using the default rate of 60 FPS.
-
-
- These effects are available
-
-
-
- Volume
- Controls channel amplitude. The triangle channel has no volume control, but a volume of zero will make it silent.
- Range: 0 to 15.
-
-
-
- Arpeggio
- Used for rapid note shifting, commonly used to simulate chords. This sequence has three separate modes: absolute, relative and fixed.
-
-
Absolute:
adds to the base note (default).
-
Fixed:
does not add to the base note, instead it's used after the sequence is done.
- Adding a loop prevents the base note from being used at all.
-
Relative:
adds to the base note and saves the result as new base note.
-
Scheme:
adds to the base note and X and Y parameters, given with a corresponding 0xy command.
-
-
-
-
- Pitch bend / high-speed pitch bend
- Affects the pitch, Hi-pitch multiplies the value by 16.
- Range: -127 to 126 (pitch units)
-
-
-
- Duty cycle / noise mode
- Sets the duty cycle period and noise mode, the triangle channel is unaffected.
-
- Sequences are defined in the graphical sequence editor, where you can draw with
- the mouse (right-click to draw lines) or directly edit the values in the text box.
- Left click the bottom part to set a loop point and right click to set a release point.
- The text box accepts '$' and 'x' for hexadecimal notation.
-
-
- A loop point causes the sequence to loop and a release points will hold the
- sequence until a release command. The loop point is defined as a '|' and release point as '/' in the text
- string.
-
-
- Any key can be pressed inside the instrument editor to preview the instrument.
- Press ESC to close the instrument editor.
-
-
-
DPCM samples
-
-
-
-
-
- This tab is used to assign samples for the DPCM channel, it
- does not affect any other channel. Assigned samples are samples assigned in
- the selected instrument while loaded samples are global for all instruments.
-
-
-
- Load
- Load samples from files, the default file extension for DPCM files is '.dmc'. The format must be 1-bit delta PCM and max size is 4081
- bytes. The size should be a multiple of 16 bytes with 1 additional byte, otherwise the sample will be padded.
- Preview
- Plays the sample (at selected preview pitch).
-
-
-
-
-
- The available space for DPCM samples is 256 kB with bankswitching (16 kB without bankswitching).
- Select a key in "Assigned samples"-box and select the sample from the
- drop-down box below (or right click in the list). The pitch box sets the pitch for the sample (15 - 0).
- The "<-"-button can also be used to assign samples, and "->"-button to remove assigned
- samples.
-
-
- The loop setting will enable the DPCM loop mode, where the entire sample is
- looped from start to end.
-
- The D-counter (delta counter) setting is used to force the delta counter to an initial value before the
- sample is played (equivalent to a Zxx-command in the pattern). Set it to Off to start playing the sample without resetting
- the delta counter.
-
- The pitch setting translates to a frequency according to the
- following table (using the tracker's NTSC and PAL clock frequency of 1.789773 MHz and 1.662607 MHz respectively):
- This is equivalent to the quality setting when converting WAV files to DPCM
- samples.
-
-
-
-
-
- Note:
- Playing a DPCM sample may decrease the volume level of triangle and noise
- due to nonlinear distortion. If full volume isn't restored after the
- sample is finished, use a note stop or a Z00-effect in the DPCM channel to
- restore it. You can use the Tracker/Display DPCM
- option to display the current value of the DPCM delta counter,
- a higher value results in lower volume output. Likewise, you can use the Zxx
- effect to get some additional control of volume on the triangle and noise
- channels.
-
-
-
-
-
-
- Back to sound hardware · main index
-
-
-
diff --git a/hlp/Dn-FamiTracker.hhc b/hlp/Dn-FamiTracker.hhc
deleted file mode 100644
index 5697a511e..000000000
--- a/hlp/Dn-FamiTracker.hhc
+++ /dev/null
@@ -1,194 +0,0 @@
-
-
-
-
-
-
-
Fix playback/WAV export desync, when FDS channel is enabled.
-
Every instrument switch would cause the frame to take longer than usual.
-
-
Internal:
-
-
Globally renamed application from 0CC-FamiTracker to j0CC-FamiTracker.
-
-
-
- j0CC-FamiTracker Version 0.6.0a
-
-
Changelog:
-
-
Add =00 effect (VRC6 phase reset) (no effect on NSF)
-
Add configurable font size scaling (without changing row height)
-
Always enable Retrieve Channel State (remove config option)
-
Every time you begin playback, j0CC loads the current volume and active effects.
-
Validate Vxx and DPCM (Zxx) effects, mark out-of-bounds parameters as red
-
-
eg. V04 and above in 2A03, Z80 and above in DPCM
-
-
Add confirmation dialog when clearing recent files
-
Interface text improvements to improve information and clarity
-
-
Bug fixes:
-
-
Fixed 5B noise bug where non-noise instruments overwrite noise period (0CC playback)
-
Fixed 5B noise-period envelopes when exporting NSF files
-
Note: 5B Wxx effect (noise period) has no effect in NSF
-
Fix theme color importing bug, where "Highlighted background 2" would overwrite "Highlighted background" (also "Highlighted pattern text 2")
-
Fix crash when cancelling "export to WAV" dialog
-
-
Internal:
-
-
Now generates .pdb debug info for release builds, to help debug crash dumps.
-
CLion (CMake) build support
-
Move NSF driver source into this repository, add build script
-
To reduce repository clutter, move resource.h and 0CC-FamiTracker.rc to res/
-
-
-
- j0CC-FamiTracker Version 0.5.3
-
-
Changelog:
-
-
Improved descriptions for 1xx and 2xx effects.
-
-
Bug fixes:
-
-
Fix bug where Xxx effect (DPCM retrigger) waited xx frames for first retrigger, subsequently xx+1 frames.
-
Still broken in NSF export
-
-
Center N163 output about sample=8, when volumes change (hardware-accurate).
-
Previously centered about sample=0, creating loud pops when changing volume)
-
Fixed bug where VRC7 Ixx (custom instrument) effect didn't work, when Channel 1 contains default instruments.
-
-
Not broken in NSF export
-
-
Fixed bug where N163 Zxx (wave position) effects would fail when switching instruments. (Removed Zxx error checking, since it checked the old wave size)
-
Fixed bug where "Ignore Step when moving" wouldn't take effect until changing step size.
-
-
-
-
- j0CC-FamiTracker Version 0.0.5.2
-
-
Changelog:
-
-
FTM, NSF, and text exports share "most recent path".
-
-
Bug fixes:
-
-
Reset N163 level offset in sound engine, when switching files.
-
N163 dialog no longer crashes program, when pasting >64 waves.
-
-
-
- j0CC-FamiTracker Version 0.0.5.1
-
-
Changelog:
-
-
Fix bookmark "sort by position" (from HertzDevil)
-
Enable "Retrieve channel state" as default for new users.
-
Fix default FDS sine modulator, so it plays properly on NSF.
-
-
-
- j0CC-FamiTracker Version 0.0.5
-
-
Changelog:
-
-
N163 file-specific mixing level offset.
-
Enable through the Module Properties dialog (Ctrl+P).
-
Typing Pxx (or FDS Zxx) defaults to P80.
-
Enable ASLR and DEP/NX (for added "security").
-
-
Bug fixes:
-
-
Save TXT export path properly.
-
Fix color scheme import.
-
-
-
- j0CC-FamiTracker Version 0.0.4
-
-
Changelog:
-
-
Reinstate high-resolution FFT display, without crashing.
-
Add placeholder tips to "find and replace" dialog.
-
Warn user when replacing with Edit Mode disabled.
-
-
Bug fixes:
-
-
Fix crash on refresh rates below 25 FPS.
-
Fix configuration menu not applying changes.
-
-
-
- j0CC-FamiTracker Version 0.0.3
-
-
Important Changes:
-
-
Disabled update checking (may reenable checking this repo later). Changed the version number.
- Note:
- Since Dn-FamiTracker is based on j0CC 0.6.3, it is therefore inherently based on
- 0CC 0.3.14.5. All 0CC versions above 0.3.14.5 are therefore somewhat irrelevant
- and is kept for archival purposes
- only.
-
-
-
-
-
- 0CC-Famitracker Version 0.3.15.3
-
-
Bug fixes:
-
-
Fixed a fatal issue that caused drag and paste operations to create incorrect pattern selections
-
-
-
- 0CC-Famitracker Version 0.3.15.2
-
-
Additions:
-
-
Added JSON export (experimental)
-
Arpeggio scheme sequence editor now includes a mode selector, use left / right mouse button to cycle forward / backward
-
Module import options for instruments are grooves are now more granular:
-
-
Do not import
-
Duplicate and import (same as existing behaviour, indices fill empty slots)
-
Import and overwrite (resources from new module replace existing resources, indices do not change)
-
Import missing entries (similar to above, but import only if existing slot is not occupied)
-
-
-
Improvements:
-
-
Tracker now uses UTF-8 encoding, this also fixes garbled text at various places
-
Tracker now retrieves song state when playing a single row
-
The following actions are now undoable:
-
-
Add / remove / rename instrument
-
Swap instruments
-
Clear patterns
-
-
CPU usage display on the performance dialog is now more accurate
-
Changing frame count no longer deletes bookmarks beyond the last frame, they are now greyed out on the bookmark settings dialog
-
Add / Remove DPCM assignment buttons on 2A03 instrument editor now work across octaves
-
NSF export no longer modifies current document
-
Sequence editor now draws straight lines when moving cursor across multiple items at once
-
Clicking loop or release point on the sequence editor now removes the point on the sequence
-
5B noise sequence editor is now closer to 0.5.0 beta's implementation
-
Fxx speed / tempo split point is now adjustable on the module properties dialog
-
DPCM samples and instrument sequences are no longer imported if instruments are not imported
-
"Spectrum analyzer (fine)" visualizer is now finer than before
-
Replaced FDS emulation core with NSFPlay's upstream version
-
Replaced Fast Fourier Transform code with new one licensed under MIT
-
-
Additions:
-
-
Improved tracker responsiveness when scrolling across multiple patterns
Tracker no longer freezes when searching for a non-existent groove index less than the current groove index on the song settings panel
-
Fixed crash when loading instruments while importing text files
-
Fixed crashes when importing FTIs for sequence instruments
-
Fixed text exporter writing additional text for FDS instruments
-
Tracker now reads N163 FTIs properly that include auto-wave position information from 0.5.0 beta (but still does not implement it)
-
Fixed find / replace dialog not recognizing hexadecimal strings
-
BPM display and wave file renderer no longer run twice as fast
-
Drag and drop across tracker instances now displays the correct number of rows in the selection
-
Fixed tracker erasing pattern selection after dragging and dropping to the same location
-
Theme import / export now handle hexadecimal strings properly
-
Fixed "Clear All" on groove dialog removing groove 1F from the list
-
Fixed "Auto arpeggiate chords" option not working when current song is not playing
-
Fixed row highlight sometimes not aligning with first row of the current bookmark region / beginning of the song
-
Fixed swap channels dialog sometimes not allowing swap when 2A03 is selected
-
Fixed several incomplete error messages when loading invalid modules
-
Fixed VRC7 Hxx and Ixx not working if a non-custom patch is played before a custom patch
-
VRC7 volume meter no longer flickers on "fast" decay rate
-
Fixed instrument recorder behaviour on VRC6 PUlse 2
-
Fixed "x:y" and "x:y:z" syntax not working with note names for fixed arpeggio MML input
-
Version checker now always looks for the most recent version number
-
Player no longer retrieves song state of current row to be played
-
-
-
- 0CC-Famitracker Version 0.3.15.1
-
-
Bug fixes:
-
-
Fixed pattern block corruption for songs containing more than 256 rows
-
-
-
- 0CC-Famitracker Version 0.3.15.0
-
-
Important Changes:
-
-
Custom exporter support has been dropped because of lack of use
-
-
Additions:
-
-
Added the ability to render WAV files from the command line
-
-
Improvements:
-
-
The following actions are now undoable:
-
-
Changing title / artist / copyright fields
-
Changing comment settings
-
"Populate Unique Patterns"
-
-
Player now moves to the queued frame if it loops the current pattern
-
Saved modules will now completely skip empty data blocks
-
-
Bug fixes:
-
-
Added workaround for Wine in the instrument editor and the configuration menu
-
Fixed crash from using "x:0" or "x:0:z" entries in sequence editor MML fields
-
Changing to a new song now resets the row marker
-
Tracker no longer queues notes to other channels if auto-arpeggio is enabled
-
Fixed forum link display on the About dialog
-
Reverted a change that caused new notes on N163 channels to sometimes not reload the wave with the correct indices
-
Exporting multi-chip NSFs no longer modifies the current module
-
-
-
- 0CC-Famitracker Version 0.3.14.5
-
-
Important Changes:
-
-
Effect indices are now remapped to match new effects in vanilla 0.5.0 beta
-
5B implementation is basically complete, so previous 0CC-FT 5B modules may become incompatible
-
-
Additions:
-
-
Ported the following features from 0.5.0 beta:
-
-
Reading 0.5.0 beta FTI instrument files
-
VRC7 Hxx / Ixx / Vxx pattern effects
-
5B Wxx pattern effect
-
-
Added one-past-the-end frame editor row
-
-
Improvements:
-
-
Swapped 5B Hxy / Jxx and inverted noise pitch values to match 0.5.0 beta
-
5B Wxx effect can be used on any 5B channel
-
5B automatic envelope frequency now rounds off instead of rounds down
-
Exported multichip NSFs no longer contain data for unused sound chips
-
Changes to pattern indices now respect active frame selections
-
Creating a frame selection now always sets the focus to the frame editor
-
BPM display now follows current highlight settings
-
Groove settings dialog now shows a "*" for non-empty grooves
-
-
Bug fixes:
-
-
Fixed tracker failing to read registry settings if the key "FamiTracker" does not exist
-
Fixed crashes due to deleting instruments while they are being used by the player
-
Fixed tracker crashing when reading from any 0.5.0 beta module containing note data on row 0x80 or below
-
Fixed VRC7 channels not resetting the pitch after note cuts during an active 3xx command
-
Fixed groove settings dialog not restoring previous values after selecting"Cancel"
-
Instrument editor now displays "-y" properly for arpeggio schemes
-
Fixed undo operations for changing pattern indices
-
Fixed Ctrl / Shift + Mouse Wheel not working without an active selection in the pattern editor while playing with follow mode disabled
-
Fixed "Populate Unique Patterns" command and changes to expansion chip configuration erasing song names
-
-
-
-
The following people have contributed to the bug tracker during this revision:
-
-
ChipJockey
-
corlenbelspar
-
DreamyDoric
-
m9m
-
Threxx
-
YobaHere
-
-
-
-
- 0CC-Famitracker Version 0.3.14.4
-
-
Bug fixes:
-
-
Fixed recent file list not updating the registry if cleared without being viewed again at least once
-
Fixed Vxx on blank instruments being overridden by instrument duty sequences
-
Fixed most bugs related to portamento effects on the VRC7 channels in the tracker
-
-
-
-
The following people have contributed to the bug tracker during this revision:
-
-
Patashu
-
TMM12
-
womo
-
-
-
-
-
- 0CC-Famitracker Version 0.3.14.3
-
-
Additions:
-
-
Ported the following features from Vanilla Famitracker 0.5.0 beta:
-
-
Reading 0.5.0 beta FTMs and importing 0.5.0 beta text files
-
5B Hxy/Ixx/Jxx pattern effects (H and J swapped according to 0CC-FT)
-
&& hold instrument command
-
Absolute instrument pitch sequences
-
64-step instrument volume sequences for VRC6 sawtooth
-
Module global tuning
-
Player bookmark (as "row marker")
-
-
-
Improvements:
-
-
Ported the following changes from the 0.5.0 beta:
-
-
Sunsoft 5B code using Blip_Buffer
-
MML Field entry for 5B Noise/mode sequences
-
Removing octave setting in DPCM assignment editor
-
Average BPM display
-
[WIP] Fast volume meter decay rate
-
Saving/Loading themes
-
Reset button in mixer menu
-
Registry entry for frame editor font
-
Movable toolbars
-
-
New Tracker Identity
-
-
Tracker now fully uses "0CC-Famitracker" as application title and uses it's own registry key (loads default values from official FamiTracker)
-
New application icon and document icon
-
New visualizer display
-
-
Added support for DPI scaling
-
Selections in the frame editor now have channel scope
-
Added a command to move the current selection to the active editor window
-
"Paste & Duplicate" and drag & drop cloning for the frame editor now reuse common pattern indices within selection
-
Overwrite pasting and range selection commands now work in the frame editor
-
Added a psuedo term "$$" for MML fields which treat all subsequent terms as hexadecimal even without an explicit "$" prefix
-
Fixed arpeggio sequences use note names in the MML field
-
Added buttons to toggle 5B envelope output in the graph editor for 5B noise/mode sequences
-
Redone detune dialog
-
"Strict" is now above "Official" for module error levels
-
-
Bug fixes:
-
-
Fixed tracker crashing when retrieving the state of a non-existent groove
-
Fixed pattern editor not allowing C-0 in polyphonic note preview
-
Fixed pattern editor not moving to the new frame after dragging a selection outside the current frame
-
Fixed "Left Edge" and "Right Edge" on the pattern editor's horizontal scroll bar
-
Fixed tracker using a parent directory as last used folder after loading multiple instrument files or DPCM samples
-
Fixed N163 instrument wave editor displaying 40 as the wave size if it used a wave size of 4
-
Fixed C-1 and C#1 on the search query's note field matching note release and note cut respectively
-
Fixed search wildcards not working for instrument and volume fields
-
Fixed search results dialog moving the cursor to the incorrect channel for expansion chips
-
Fixed DPCM channel playing note C-0 if it contains an active note after retrieving the channel state
-
Fixed "Recall channel state" command crashing on retrieveing the state of a non-existent groove
-
Fixed instrument recorder not working for the FDS channel
-
Exx effect now works on the Triangle channel
-
Fixed VRC6 sawtooth outputting sound in exported NSFs when the instrunment volume is 0
-
Fixed VRC7 using an incorrect pitch lookup table in exported NSFs
-
Fixed VRC7 not making any sound in exported NSFs after using a note release
-
-
-
-
The following people have contributed to the bug tracker during this revision:
-
-
MrKyurem
-
Teuthida
-
YobaHere
-
-
-
-
- 0CC-Famitracker Version 0.3.14.2
-
-
Additions:
-
-
Added linear pitch mode (originally from Famitracker 0.4.0)
-
Added split keyboard settings dialog
-
-
Improvements:
-
-
Keyboard input now queues notes to different channels of identical type when edit mode is disabled
-
Undoable actions now remember the selectin information immediately before and after performing the action
-
Added "Find All", "Find Previous", and "Replace Previous" commands
-
Added "Selection" as the find/replace scope
-
Changed "Any" effect column scope to "All"
-
"Replace All" and changes to highlight settings are now undoable
-
Register state now uses colours for N163 waveform display
-
Module properties dialog can now insert songs at current position or delete multiple songs
-
Added configuration settings item to check for new versions on startup
-
[WIP] Added module error levels
-
Shortcuts menu now checks for conflicts between shortcut commands
-
Alert prompts for non-undoable commands now select "No" as the default option
-
Added menu command to clear the most recently used file list
-
Added shortcut to select instrument by typing instrument number
-
Fixed tracker sometimes waiting indefinitely while loading a module
-
-
Bug fixes:
-
-
Fixed file save dialog not displaying .ftm files when saving modified untitled files while loading another document
-
Undoable actions no longer overwrite the redo state information every time they are undone
-
Transposing and scrolling pattern values no longer create a selection under the cursor
-
Fixed Insert and Backspace keys not working properly if an active selection spans across multiple frames or does not begin in the current frame
-
Fixed tracker resetting bookmark positions after moving frame up or down
-
Fixed repeat key inputting invalid notes after using ^0 echo buffer access note
-
Fixed find query not working if note field contains only note name
-
Fixed replacement query not allowing note cut or note release in the note field
-
Fixed find / replace dialog replacing current note if the search query is modified after the previous query matched
-
Fixed performance dialog not displaying after opening once and then closing
-
Fixed tracker not stopping notes from keyboard input if octave is changed while depressing keyboard key
-
Fixed 2A03 channels not using PAL period table when PAL is used
-
Fixed DPCM channel not playing if a VRC6 or 5B instrument is loaded as the current instrument
-
Fixed MMC5 channels not playing sound when switching to another song where the period high byte remains unchanged
-
Fixed VRC6 pulse channels and 5B channels using incorrect period tables for the instrument recorder
-
DPCM data always outputs to same directory as music data instead of tracker root when exporting BIN data and current module contains no DPCM samples
-
Fixed 3xx effect commands causing pitch bends when issued no notes are being played on the channel
-
Fixed 3xx effect commands on VRC7 channels ignoring the current octave register value
-
Fixed N163 loading the waveform of the currently selected instrument if the channel has not used any instrument
-
Fixed VRC7 channels inverting the 4xy vibrato pitch offset in the tracker
-
-
-
-
The following people have contributed to the bug tracker during this revision:
-
-
m9m
-
techel
-
YobaHere
-
-
-
-
- 0CC-Famitracker Version 0.3.14.1
-
-
Improvements:
-
-
Tracker now pads DPCM samples with invalid size on opening a module
-
Added shortcuts to toggle or solo the currently selected sound chip
-
Vxx effect commands on muted N163 channels now write to the wave buffer when retrieving channel state
-
Noise channel now performs slide effects with no pitch limits
-
Cxx effect now finishes playing the current row before halting
-
The 2A03 frame counter is now clocked at exactly 240 Hz (slightly more accurate than before)
-
-
Bug fixes:
-
-
Tracker no longer validates invalid notes (according to official build)
-
Fixed frame editor not moving the cursor to the clicked channel when clicking on its left/right edges
-
Fixed module properties dialog not moving bookmark lists when moving songs up or down
-
Fixed transpose dialog crashing on selecting "Transpose all tracks"
-
Fixed tracker not updating the vibrato table after loading a new module
-
Changing the module's highlight settings or vibrato style is now recognized as a file changed
-
Fixed DPCM editor not saving changes
-
Fixed VRC7 and 5B not using the refresh rate of the current module
-
Fixed tracker not producing a sound after a WAV file until player begins
-
Fixed WAV render omitting last tick when rendering by a time amount
-
Fixed find dialog not working properly when some ranges are omitted
-
Fixed FDS and MMC5 not producing sound in exported multichip NSFs unless both are enabled
-
Fixed relative instrument arpeggio sequences clipping the channel note at A#7 in exported NSFs
-
Fixed noise channel clipping at 0-# of an octave below in exported NSFs when using download portamentos
-
N163 channels no longer update the wave buffer on every frame
-
Fixed new notes on N163 channels not updating the wave buffer in exported NSFs if instrument does not use a wave instrument sequence
-
-
-
-
The following people have contributed to the bug tracker during this revision:
-
-
MyKyurem
-
Patashu
-
Threxx
-
YobaHere
-
-
-
-
- 0CC-Famitracker Version 0.3.14.0
-
-
Additions:
-
-
Added the *.0cc file extension
-
Added diagnostic information when loading invalid modules
-
Added transpose dialog
-
-
Improvements:
-
-
2A03 instruments now implement the instrument interface
-
FDS instruments are now compatible with other channels (as untyped sequence instruments)
-
Multichip NSFs now skip writing to registers of unused sound chips
-
Implemented FDS Zxx in exported NSFs
-
Reordered main frame menu for clearer organization
-
Re-added fine spectrum visualizer
-
-
Bug fixes:
-
-
Fixed document wrapper for custom exporters crashing when retrieving a non-existent instrument
-
Fixed tracker crashing after importing any FTM containing bookmarks
-
Fixed custom exporters crashing due to incompatible interface layouts
-
Fixed DPCM functions in document wrapper crashing the tracker if the queried sample does not exist
-
Fixed certain multichip exported NSFs crashing due to VRC6 overwriting the driver code in presence of FDS
-
Fixed tracker ignoring "Backup files" option
-
Fixed find / replace dialog not clearing wildcard effect name cache on new searches
-
Selection now always moves to current frame if multi-frame selection is disabled (according to official build)
-
Fixed selection with Shift + arrow keys allowing selection across frame boundaries when option is disabled
-
Fixed selection errors when overflow paste mode is disabled
-
Fixed 2A03 instrument not copying delta offset values on cloning
-
Fixed BPM display showing values above maximum tempo at current refresh rate
-
Fixed VRC6 channels sometimes generating an extra click on starting
-
-
-
- 0CC-FamiTracker Version 0.3.13
-
-
Additions:
-
-
Added a command to create new instruments by recording the output of certain channels as instrument sequences
-
Instruments of all sound chips (except FDS and VRC7) are compatible
-
-
Improvements:
-
-
"Retrieve channel state" now respects Fxx and Oxx effects, as well as current groove position
-
Tracker now stops retrieving channel states after encountering a Cxx effect
-
Added ranges to the search query and the ability to search fields that do not match parts of the query
-
Pressing a note key always previews the current instrument even when cursor is not on the note column when edit mode is disabled
-
Ctrl + Left/Right now shifts the phase of the current wave in the FDS / N163 wave editor, Ctrl + Down inverts the wave
-
-
Bug fixes:
-
-
[11/30/15 interim build] A00 command now updates the channel default volume for subsequent Axy and Mxy effects
-
[11/28/15 interim build] Multichip NSFs no longer crash due to FDS allowing VRC6 and VRC7 to modify the driver code
-
[11/26/15 interim build] Fixed VRC6 and 5B channels not silencing when the insturment sequence volume is 0 in exported NSFs
-
[11/21/15 interim build] Fixed instrument recorder crashing when a new FTM is loaded
-
Cleanup actions that alter the pattern data always reset the undo history
-
Fixed various memory leaks
-
Copying selection as plain text now empties unselected columns properly
-
Text export now writes unused N163 channels to output file according to the behaviour of official build
-
Fixed text importer not allowing "^-0" in pattern note field
-
Added ".-#" wildcard for search query for the noise channel
-
Fixed horizontal tab character not working in sequence editor MML field
-
Fixed arpeggio scheme text field parsing "+x y..." as "+y y..."
-
Fixed FDS instrument editor registering a file change on opening if the current instrument uses any non-zero FM parameter
-
7xy effect on VRC6 sawtooth channel matches NSF behaviour (clip at volume 34 if V01 is set and volume underflows)
-
N163 Z7F command now takes effect immediately
-
Fixed incorrect slide effect parameters from recalling N163 channel state
-
Fixed Zxx on N163 channels in exported NSFs being cancelled by loading new instruments
-
Fixed MMC5 Pulse 2 not halting when MMC5 Pulse 1 is muted in multichip NSFs
-
Fixed the above bug crashing NSFs containing the FDS chip
-
Fixed 1xx, 2xx, 3xx effects becoming 1/4 as fast on N163 in exported NSFs
-
-
-
- 0CC-FamiTracker Version 0.3.12
-
-
Additions:
-
-
Added FDS automatic frequency modulation effects
-
Bookmark manager no longer crashes
-
Added a menu command to swap pattern data of two channels in the FTM
-
-
Improvements:
-
-
Added a menu command that displays the estimated song duration
-
Pattern editor does not play notes from keyboard input while playing with edit mode enabled and follow mode disabled
-
Selections in compact view always include all columns in selected channels
-
Arpeggio scheme sequence editor now displays the arpeggio type of the term below the mouse cursor properly
-
Arpeggio scheme sequence editor can now set the arpeggio type from the graph editor (by holding numpad 0 - 3)
-
Register display now highlights recent register writes, blue for new values, red for old values
-
Groove settings dialog allows direct text input and copying grooves as Fxx effect pattern data
-
Added a context menu command for the VRC7 instrument editor to copy the current instrument as plain text values
-
-
Bug fixes:
-
-
Tracker no longer crashes upon loading FTMs that contain patterns with zero non-empty rows
-
Tracks using fixed tempo now always allow speed values up to 255
-
Fixed pattern editor not resetting the selection area when using Shift key to create a new selection
-
Fixed pattern editor not resetting the selection area after cursor crosses frames while playing with follow mode enabled
-
Fixed tracker not moving bookmark tables appropriately after tracks are moved or removed on the track list
-
Fixed text importer erroneously enabling default groove for random tracks
-
Fixed "Any" as effect column scope not working in Find / Replace dialog
-
Fixed Module Properties dialog removing the FDS channel upon confirmation
-
Fixed Module Properties removing channels to the right of N163 when changing only the number of N163 channels
-
Fixed 2A03's nonlinear mixing sometimes applying even while channel is muted
-
Fixed inactive N163 channels loading the waveform of the currently selected instrument upon playing
-
Fixed wave export rendering extra rows upon encountering skip effects
-
Fixed VRC7 instrument editor showing -6 dB / oct instead of -3 dB / oct for the rate scale settings
-
Fixed 2A03 Pulse 1's state not being retrieved
-
Fixed NSFs with certain expansion chip configurations crashing
-
Fixed Axy and Mxy resetting the channel volume incorrectly
-
Fixed N163 Zxx effect not setting the correct wave position in exported NSFs
-
-
-
- 0CC-FamiTracker Version 0.3.11r1
-
-
Improvements:
-
-
Added simple wildcard for search query ("." character)
-
-
Bug fixes:
-
-
Pasting single-channel pattern data that begins from a channel volume column no longer moves the target selection area depending on the cursor position
-
Pasting single-channel effect data no longer moves the target selection area if the cursor is outside the effect columns
-
Fixed paste undo applying to as many effect channels as 2A03 Pulse 1 has for single-channel effect clip data
-
Fixed Find / Replace dialog crashing upon any action
-
Effect search queries without effect parameter now work properly
-
Fixed Mxy effect not resetting to the default channel volume in exported NSFs
Fixed incompatible behaviour of Qxy and Rxy by realizing the portamento effects as instantiations of 3xx automatic portamento
-
Fixed Qxy and Rxy not working in Sunsoft 5B in the tracker
-
Echo buffer no longer converts the note cut to an invalid note
-
Echo buffer no longer converts blank entries to invalid notes when they are modified by transposing effects
-
Fixed 2A03 hardware sweep units not resetting properly for Hxy/Ixy effects
-
Fixed FDS-only NSFs corrupting during export
-
Fixed bankswitched multichip NSFs corrupting during export
-
Fixed Txy not working in exported NSFs
-
Fixed the tracker sometimes not exporting Mxy effects to NSFs
-
Fixed the tracker exporting invalid pattern data when the N163 wave buffer effect has an out-of-bound parameter
-
-
-
- 0CC-FamiTracker Version 0.3.8
-
-
Additions:
-
-
Added Txy delayed transpose effect
-
Added an option to export raw data of all non-empty rows as CSV
-
Effect hints now appear after updating a pattern effect command
-
Added a menu command to remove all unused DPCM samples and DPCM assignments
-
-
Improvements:
-
-
Ported to official FamiTracker 0.4.6 and NSF driver 2.11
-
"Display register state" supports Nintendo MMC5, Konami VRC7, and Sunsoft 5B
-
"Display register state" shows human-readable channel information for all expansion chips
-
"Display register state" skips non-existent N163 channels in the volume/ frequency display
-
FDS channel now uses the same volume table as exported NSFs, but an option in the configuration menu is added to use the old table in the tracker
-
Added an option in the configuration menu to cut sub-volume at volume 1 when Axy or 7xy is active on a channel
-
Pressing the Repeat key moves the cursor down on all pattern fields, except when using the Modplug tracker edit style
-
Added hotkey to duplicate the current non-empty pattern below the cursor to the first unused pattern of the channel
-
FTM import now supports detune tables and groove tables
-
Sequence MML field now accepts "'" single quotation mark for repeating terms
-
The Sunsoft 5B's volume level can now be modified in the chip mixer
-
MMC5 can now output sound when the period register is below 0x008
-
The status bar now displays the current row and frame index in hexadecimal numbers when "Show row numbers in hex" is enabled
-
Qxy and Rxy now affect the first entry of the echo buffer immediately
-
-
Bug fixes:
-
-
Sunsoft 5B channels no longer desync upon playing
-
Fixed a bug with the Lxx effect where no note release is issued if the non-release parts of the instrument sequences have not finished
-
Fixed Mxy not resetting the channel volume to the previous one in the tracker if it is interrupted by an Axy effect that is cancelled with an A00 on the same row as the new note
-
Fixed a bug where Yxx on the DPCM channel affects the N163 chip when there are fewer than 8 N163 channels
-
Effect S7F works properly in exported NSFs
-
Detune settings dialog no longer writes detune tables upon clicking "Cancel"
-
Fixed FTM import not accepting Sunsoft 5B instruments
-
Replacement query now handles expansion chip-specific effects correctly
-
-
-
- 0CC-FamiTracker Version 0.3.7
-
-
Additions:
-
-
Added Yxx wave buffer access for N163 channels
-
Added Find / Replace tab
-
-
Improvements:
-
-
Added information panel for the detune settings dialog
-
Added hotkey configuration for the Volume Mask command
-
Each N163 instrument can hold more than 512 samples in exported NSFs
-
Added warning upon removing expansion chips from the current FTM
-
Double-clicking the pattern editor does not create a selection if the step size is zero
-
Both the effect type and parameter are remembered together when recalled later using the Repeat key
-
-
Bug fixes:
-
-
Fixed a bug where the text importer could not load N163 instruments with a wave size of larger than 128
-
Fixed Shift + Mouse Wheel sometimes not working when "Warp pattern values" is not checked in the configuration menu
-
Fixed truncation error of the Tune button in the detune settings dialog
-
-
-
- 0CC-FamiTracker Version 0.3.6
-
-
Additions:
-
-
Added ad-hoc support for NSF export using multiple expansion chips
-
Added delayed channel volume effect in FamiTracker
-
-
Improvements:
-
-
Improved Shift + Mouse Wheel behaviour
-
Shift + Mouse Wheel wraps values only when the corresponding configuration is checked (disabled by default)
-
Instruments reset the 0xy effect's counter when it plays an arpeggio scheme
-
"x" and "y" are case-insensitive in the arpeggio scheme MML input box
-
-
Bug fixes:
-
-
When "Preview next/previous frame" is checked, 0CC-FamiTracker now moves to the previous channel properly using the up arrow key when the step size is larger than 1 and the channel contains a Bxx, Cxx, or Dxx command
-
Fixed expansion chip-exclusive effects not being properly exported to NSFs
-
Fixed Shift + Mouse Wheel sometimes editing multiple values despite having no pattern selection
-
FDS detune table is now in correct pitch when automatically generated by the cent offset in the detune settings dialog
-
Fixed expansion chip selector sometimes not removing pattern data in newly created channels when both the expansion chip combination and the number of N163 channels have been modified
-
-
Internal:
-
-
add change here
-
-
-
- 0CC-FamiTracker Version 0.3.5
-
-
Additions:
-
-
Added echo buffer
-
Added support for NSFe export
-
Added delayed channel volume effect (implemented in ASM only)
-
Added specs.txt
-
-
Improvements:
-
-
Text importer and exporter now supports detune tables and grooves
-
Text importer now allows retry / ignore upon encountering an unknown command
-
Blank field dash and row number are properly aligned to the centre
-
-
Bug fixes:
-
-
Fixed N163 NSF export not working
-
Text importer uses the correct form of channel-exclusive effects sharing the same letter (H, I, J)
-
Fixed the groove settings dialog sometimes resetting the song speed
-
Fixed 0CC-FamiTracker not reading Oxx effects when the channel is muted
-
Fixed exported NSFs freezing upon using groove 00 as the default groove
-
Fixed configuration volume not affecting Sunsoft 5B channels
-
0CC-FamiTracker can now save and load Sunsoft 5B instruments
-
-
-
- 0CC-FamiTracker Version 0.3.4
-
-
Additions:
-
-
Added groove settings
-
Added GROOVES block in FTM format
-
-
Improvements:
-
-
Namco 163 can use unused registers for the waveform memory when there are fewer than 8 N163 channels (up to 240 samples if there is only one channel)
-
0CC-FamiTracker now skips sequence, instrument and DPCM blocks upon saving if these blocks contain no data
-
-
Bug fixes:
-
-
Fixed note cut not working on Sunsoft 5B channels in exported NSFs
-
Fixed Qxy and Rxy not working properly on the noise channel
-
-
-
- 0CC-FamiTracker Version 0.3.3
-
-
Additions:
-
-
Added Exx effect for hardware envelope and length counter control
-
Added Sxx effect for 2A03 triangle channel linear counter
-
Added two demo FTMs demonstrating the 2A03 hardware features
-
-
Improvements:
-
-
2A03 hardware sweep emulation is more accurate
-
Sunsoft 5B channels are properly tuned
-
Sunsoft 5B uses a subtractive volume table to handle its exponential volume
-
Shift + Mouse Wheel can alter individual values of two-parameter effects
-
Shift + Mouse Wheel can now wrap values upon overflowing
-
-
Bug fixes:
-
-
Noise channel no longer halts in pitch slides and relative arpeggio sequences due to the channel notes' intrinsic octave and pitch
-
Fixed the 2A03 hardware envelope's divider not being properly reloaded
-
Shift + Mouse Wheel now works properly when selection spans across channels
-
Fixed expansion chip selector not removing pattern data in newly created channels
-
-
Internal:
-
-
add change here
-
-
-
- 0CC-FamiTracker Version 0.3.2
-
-
Additions:
-
-
Added DETUNETABLES block in FTM format
-
Implemented detune settings dialog
-
-
Improvements:
-
-
Default N163 pitch table is more accurate
-
Default VRC7 pitch table is more accurate (this is already implemented in the official FamiTracker releases)
-
Removed detune table for Sunsoft 5B (now identical to 2A03 / NTSC)
-
-
Bug fixes:
-
-
Fixed a bug where the Lxx parameter in exported NSFs is 1 larger than in FTM
-
-
-
- 0CC-FamiTracker Version 0.3.1
-
-
Bug fixes:
-
-
Fixed Vxx not working on 5B channels
-
Fixed 5B noise mode sequences not working in NSF export
-
-
-
- 0CC-FamiTracker Version 0.3.0
-
-
Additions:
-
-
Added full support for the Sunsoft 5B expansion chip
-
Added expansion chip selector from ipi's build
-
Added one demo FTM demonstrating the 0CC-FamiTracker implementation of the Sunsoft 5B chip
-
Added one demo FTM demonstrating the Lxx effect
-
-
Improvements:
-
-
Frame editor returns to the first channel after modifying the pattern index on the last channel
-
NSFs can be exported in linear mode (they were forced in bankswitching mode since the first version)
-
-
-
- 0CC-FamiTracker Version 0.2.4
-
-
Additions:
-
-
Added one demo FTM demonstrating the tempo fix
-
Added detune settings (implemented in V0.3.2)
-
-
Bug fixes:
-
-
Fixed tempo truncation error in FamiTracker
-
Fixed Lxx not working on the DPCM channel
-
-
-
- 0CC-FamiTracker Version 0.2.1
-
-
Additions:
-
-
Sunsoft 5B envelope toggle is now incorporated into instrument duty sequences
-
Vxx for the Sunsoft 5B channels, same effect as 5B duty sequence entry
-
-
Improvements:
-
-
Status bar now shows the combination of expansion chips in multichip FTMs
-
0CC-FamiTracker now removes all unused sequences upon removing unused instruments
-
Undo reverts the "file is modified" flag if the original state of the FTM can be restored
-
-
Bug fixes:
-
-
Fixed scrolling during drag-and-drop when there are a lot of channels
-
0CC-FamiTracker now uses the QWERTY key code constants
-
0CC-FamiTracker can now load FTMs using all six expansion chips
-
0CC-FamiTracker no longer considers instruments used with no notes unused during clean up
-
FDS instruments no longer set the "file is modified" flag upon editing if they use frequency modulation
-
N163 instruments no longer set the "file is modified" flag upon editing if there is more than one waveform
-
-
-
- 0CC-FamiTracker Version 0.2.2
-
-
Additions:
-
-
Ctrl+Shift+M now toggles Namco 163 multiplexer emulation, enabled by default
-
Namco 163 waveforms can be up to 128 samples long
-
-
Improvements:
-
-
Multichip FTMs load properly when there are fewer than 8 N163 channels
-
Instrument editor always moves the pattern editor cursor to one of the instrument's channel(s) whenever the cursor is on a different chip
-
The resource file now uses English (United States) as the language for all files instead of Swedish (Sweden)
-
Better easter egg
-
N163 waves automatically prevent reading from the non-wave registers
-
-
Bug fixes:
-
-
Fixed NSF export bug for FDS and N163 which use invalid pitch table pointers
-
Fixed NSF export bug for VRC7 where VRC7 channels are two octaves lower
-
Lxx effect no longer affects new notes, only existing notes
-
-
-
- 0CC-FamiTracker Version 0.2.1
-
-
Additions:
-
-
Added an easter egg (included in source code since V0.3.8)
-
-
Improvements:
-
-
Arpeggio sequence graph editor initializes at the correct vertical position in Scheme mode
-
-
Bug fixes:
-
-
Fixed a bug where arpeggio schemes cannot be input using the MML field
-
-
-
- 0CC-FamiTracker Version 0.2.0
-
-
Additions:
-
-
Added the ability to read custom pitch tables
-
Added delayed note release effect (Lxx)
-
-
Bug fixes:
-
-
Program now displays properly on higher DPI settings
-
-
-
- 0CC-FamiTracker Version 0.1.1
-
-
Improvements:
-
-
MML field now displays arpeggio schemes with "x" and "y" properly
-
MML field accepts "+x" and "+y" as terms
-
-
Bug fixes:
-
-
Arpeggio sequence graph editor will not affect "x" and "y" in sequence terms
-
Fixed a bug that treats negative numerals in front of terms incorrectly
-
-
-
- 0CC-FamiTracker Version 0.1.0
-
-
Additions:
-
-
Initial release
-
Added arpeggio schemes
-
5 demo FTMs, one with permission from ipi
-
-
-
-
-
-
-
- FamiTracker Version 0.4.6
-
-
Pattern rows with unspecified instruments will use the selected instrument
-
Fixed some rendering bugs
-
Fixed instrument clone command bug
-
-
- FamiTracker Version 0.4.5
-
-
Improved VRC7 emulation, clipping will occur when audio is too loud
-
Improved accuracy of tempo calculation
-
Added multi-channel support to the insert command
-
Added song selector to the wave export dialog
-
Added drag and drop support to instrument list for instrument reordering
-
Added hex support to macro sequence strings and waves (x00 and $00)
-
Added option to display channel register values
-
Fixed a bug with the transpose command when used without an active selection
-
Fixed a portamento up/down effect bug when used on a silent channel
-
Fixed a bug with Sxx effect on DPCM affecting the pulse 1 channel when exported to NSF
-
Fixed a bug when using delayed notes on the last row of a pattern
-
Fixed a few pattern editor render bugs
-
Fixed MIDI note on/off priority problem
-
-
- FamiTracker Version 0.4.4
-
-
Fixed a problem with fixed arpeggio not playing the final note
-
Fixed muting / unmuting channels affecting all channels when preview full row was enabled
-
Fixed toolbar icons not being visible in Windows XP
-
Fixed a problem that caused the 64th sample not staying assigned when file is loaded
-
Fixed note slides clearing the slide effect after reaching target note
-
Fixed the Select All (Ctrl+A) command behaviour to be more similar to IT
-
Fixed skip command (Dxx) in NSF code when skipping to any other row than 0
-
Fixed NES export
-
Updated PAL DPCM period table
-
-
- FamiTracker Version 0.4.3
-
-
Added names to the built in VRC7 patches
-
Added option to preview full row when editing notes
-
Added option to display flat notes instead of sharps
-
Added a fix for TNS-HFC carts when DPCM bankswitching is used
-
Added an audio level mixer
-
Removed MIDI import
-
Corrected VRC7 tuning table
-
Fixed DPCM instrument editor keyboard bug
-
Fixed NSF export when using sequences with hidden loop points
-
Fixed NSF code crash when using too many assigned DPCM samples
-
Fixed crash on startup when NSFplay is located in the same folder
-
Fixed a problem with N163 and FDS waves that appeared when playing a module
-
Fixed some DPCM sample editor bugs
-
Fixed duplicated paste bug in the frame editor
-
Fixed some noise pitch slide effect bugs
-
Fixed the tremolo effect command (7xx) on VRC7 channels
-
Fixed note slide effects on VRC7
-
-
- FamiTracker Version 0.4.2
-
-
Added selection + drag & drop capability to the frame editor
-
NSF exporter will optimize N163 waves
-
Added initial delta counter setting to the DPCM instrument editor
-
Added a text exporter / importer (by rainwarrior)
-
Added a shortcut item for the duplicate patterns command
-
Added a volume mask option to pattern editor (edit menu)
-
Added module comments dialog
-
Adjusted filtering of FDS audio emulation
-
Fixed extra effect columns not being copied on shift+drag
-
Fixed a problem with shift+mouse wheel
-
Fixed a few other FTM file import problems
-
Fixed a problem with FDS wave previewing
-
Fixed a bankswitching bug when exporting multisong NSFs
-
Fixed VRC6 and MMC5 not being silenced by the Cxx command
-
Fixed some problems with the Dxx command
-
-
- FamiTracker Version 0.4.1
-
-
Added an instrument files menu
-
Added an option to copy volume column to text (Shift+copy)
-
Changed default key for note cut to '1'
-
Fixed some problems with the FTM import feature
-
Fixed vibrato (4xx) export bug
-
Fixed volume slide (Axx) export bug
-
Fixed an undo bug after pasting from clipboard
-
Fixed problem when loading instrument files that contains sequences of max size
-
Fixed some wave file export bugs
-
-
- FamiTracker Version 0.4.0
-
-
Added fixed and relative arpeggio modes
-
Added DPCM bank switching
-
Added Namco expansion sound
-
Added pattern expand/shrink options
-
Added pattern & instrument deep clone commands (by coda)
-
Added assembly source export option
-
Added some NSF export optimizations
-
Added indication of unsaved files
-
Added support for 24bit and 32bit samples to the DPCM importer
Shift+wheel = Increase/decrease instrument, volume and effect values
-
Scroll lock = Toggle follow mode
-
Control+D = Duplicate frame
-
It's possible to edit directly in the frame editor by double clicking
-
Customizable keys for note cut, repeat and clear field
-
Added second highlight
-
Added a repeat action key
-
Added a second highlight option
-
Fixed a bug with the tremolo effect
-
-
- FamiTracker Version 0.2.9
-
-
New effects Q, R (pitch slide), A (volume slide) A (volume slide)
-
Fixed a tempo bug in the tracker
-
VRC6 support added
-
Improved the song editor
-
Added options to disable follow mode when playing and customizable row highlighting
-
Added clear patterns command
-
Wave file export
-
Added .NES file exporting
-
Improved hardware sweep commands in the tracker again (accurate NSF player is needed to get those right)
-
Fixed a bug where NSFs would fail if there was deleted instruments in the file
-
Fixed a problem with NSF bankswitching
-
Fixed some problems with note delay command in tracker and NSF
-
-
- FamiTracker Version 0.2.7
-
-
New NSF code, creates smaller NSF files (and use less 6502 CPU).
-
NSF bank switching is used automatically when needed.
-
New pattern effects: V, square duty setting/noise mode; Y, DPCM sample offset
-
Settings edit boxes are locked from editing, double click to unlock.
-
Fixed some bugs in the instrument editor to avoid crashes.
-
Added modplug keyboard style when the modplug setting is enabled.
-
Optimized screen updates, the tracker should use less CPU.
-
Currently selected instrument is highlighted in the list box.
-
Added an option to mask the instrument when inserting new notes.
-
Added a tempo box to the song settings.
-
Added multiple-tap-of-home-key functionality.
-
Added an option to select the instrument currently being played by the selected channel.
-
Fixed mixed pasting, instruments is now also pasted.
-
Fixed the instrument sequence too long crash bug.
-
Added buttons for next/prev song in the toolbar.
-
Auto-arpeggio works for PC keyboard input.
-
The commands speed, jump, skip and halt are now handled from muted channels.
-
Notes won't be retriggered when pushing two buttons at the same time and then releasing one.
-
Added a shortcut editor to the option dialog, note that the default shortcuts will still be shown in menus.
-
Page up/down jump lenght is customizable from configuration.
-
Impulse tracker edit option added.
-
The cursor will move with the same length as step length when moving it.
-
Fixed a bug that occured when moving the cursor when multiple effect tracks are visible.
-
Changed the pith sequence interpreter.
-
Volume of channels will be rounded of to 1 instead of 0.
-
DPCM delay works in the tracker.
-
Fixed a problem that caused 8-bit wave files to fail when imported to DPCM.
-
Fixed the crash problem when using samples too long.
-
Added a value gradients option for the volume column.
-
Paste works when edit mode is off.
-
Changed the noise channel to display frequencies instead of useless notes.
-
Square hardware sweep is adjusted.
-
Scrolling with the mouse wheel in free cursor mode will scroll the view and not cursor
-
New keys
-
-
Numpad 0 - 9 = Select instrument 0 - 9
-
Ctrl + Numpad = Set step size
-
Alt + F9 = Mute channel
-
Alt + F10 = Solo channel
-
Numpad / = Decrease octave
-
Numpad * = Increase octave
-
Ctrl + up = Next instrument
-
Ctrl + Down = Previous instrument
-
Alt + T = Mask instrument column
-
-
-
- Back to main index
-
-
diff --git a/hlp/command_line.htm b/hlp/command_line.htm
deleted file mode 100644
index fe501937a..000000000
--- a/hlp/command_line.htm
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
-
-
-
- Command line
-
-
- Dn-Famitracker may be invoked from the command line
- to open a file, or to export a module to another file type.
-
-
-
Open
-
-
Dn-Famitracker [module filename]
-
-
This command line will start Dn-Famitracker and open the
- specified module document.
-
-
Play
-
-
Dn-Famitracker [module filename] -play
-
-
- This command will automatically play the module when the program starts.
-
-
Export
-
-
Dn-Famitracker [module filename] -export [export file] [optional log file] [DPCM file for BIN export]
-
-
This command line will export the specified module file to the specified
- export file. Any messages created by the export process will
- be sent to the specified log file. After exporting, Dn-Famitracker
- will close without opening its main window. This is intended
- for automated processing of module files.
-
-
- The type of export is determined by the file extension used.
-
-
- Known export file extensions:
-
-
NSF
-
NSFe
-
NES
-
BIN
-
BIN_AUX (BIN with auxiliary data)
-
PRG
-
ASM
-
ASM_AUX (ASM with auxiliary data)
-
TXT
-
-
- If the export file extension is not known, the first
- custom export plugin will be tried instead, if available.
- The DPCM file is only required for BIN export;
- it is ignored in other cases.
-
-
Disable crash dumps
-
-
Dn-Famitracker [module filename] -nodump
-
-
- This command will disable the crash dump generation, for cases where these are undesirable.
-
-
Log
-
-
Dn-Famitracker [module filename] -log
-
-
- This command will enable the register logger, available in debug builds only.
-
-
-
- For more info and help, run Dn-Famitracker -h
-
-
- Back to interface · main index
-
-
-
diff --git a/hlp/comments.htm b/hlp/comments.htm
deleted file mode 100644
index 3463811c7..000000000
--- a/hlp/comments.htm
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
- Module comments
-
-
- This dialog is used to store a message in the module file.
-
- Options:
-
-
Show when loading file: Show this dialog when opening file.
-
-
-
- Back to main index
-
-
-
diff --git a/hlp/config_appearance.htm b/hlp/config_appearance.htm
deleted file mode 100644
index ff8bb799e..000000000
--- a/hlp/config_appearance.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
- Appearance configuration
-
-
- These settings are used to configure the visual appearance of the pattern editor.
-
-
- Two toggle options are available:
-
-
-
Pattern colors
- Check this to enable individual colors for each column. When unchecked
- the note/octave color will be used for all columns.
-
Display flats:
- Display notes as flats (♭) instead of sharps (♯) in the pattern editor.
-
-
-
-
-
-
- Back to configuration · interface · main index
-
-
-
diff --git a/hlp/config_emulation.htm b/hlp/config_emulation.htm
deleted file mode 100644
index 995204baa..000000000
--- a/hlp/config_emulation.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
- Emulation configuration
-
-
- These settings are used to configure the audio emulation of Dn-FamiTracker.
-
-
- FDS:
-
-
Lowpass filter cutoff
- Set the lowpass filter cutoff of FDS. Default is 2000Hz.
-
-
-
- N163:
-
-
Lowpass filter cutoff
- Set the lowpass filter cutoff of FDS. Default is 12000Hz.
-
Disable multiplexing
- Switches from multiplexed mixing to linear mixing.
-
-
-
- VRC7:
-
-
Hardware patch version
- Selects the hardware patch set for VRC7. Default is j0CC-FT 0.6.2 by Nuke.YTK (3/20/2019).
-
-
-
- Back to configuration · interface · main index
-
-
-
-
diff --git a/hlp/config_general.htm b/hlp/config_general.htm
deleted file mode 100644
index 97b6fd162..000000000
--- a/hlp/config_general.htm
+++ /dev/null
@@ -1,261 +0,0 @@
-
-
-
-
-
-
-
-
- General configuration
-
-
These settings controls general application behaviour.
-
-
General settings
-
-
-
-
- Setting
-
- Description
-
-
-
- Wrap cursor
-
- Wrap around the cursor when reaching top or bottom in the
- pattern editor.
-
-
-
- Wrap across frames
-
- Move to next or previous frame when reaching top or bottom
- in the pattern editor.
-
-
-
- Free cursor edit
-
- Unlock the cursor from the center of the pattern editor.
-
-
-
- Preview wave files
-
- Preview wave and DPCM files in the open file dialog when
- loading samples to the module.
-
-
-
- Key repeat
-
- Enable key repetition in the pattern editor.
-
-
-
- Show row numbers in hex
-
- Display row numbers and the frame count on the status bar
- in hexadecimal.
-
-
-
- Preview next/previous frame
-
- Preview next and previous frames in the pattern editor.
-
-
-
- Don't reset DPCM on note stop
-
- Prevent resetting the DPCM channel after previewing any
- DPCM sample.
-
-
-
- Ignore step when moving
-
- Ignore the pattern step setting when moving the cursor,
- only use it when inserting notes.
-
-
-
- Delete-key pulls up rows
-
- Make delete key pull up rows rather than only deleting
- the value, as if by Shift+Delete.
-
-
-
- Backup unmodified files
-
- Create backup copy of unmodified file, when you open
- and save a module.
-
-
-
- Single instance
-
- Only allow one single instance of the Dn-FamiTracker
- application. You must restart the program for this setting
- to take effect!
-
-
-
- Preview full row
-
- Preview all channels when inserting notes in the pattern
- editor.
-
-
-
- Don't select on double-click
-
- Do not select the whole channel when double-clicking in
- the pattern editor.
-
-
-
- Warp pattern values
-
- When using Shift + Mouse Wheel to modify a pattern value,
- allow the parameter to wrap around its limit values.
-
-
-
- Cut sub-volume
-
- Always silent volume values below 1 due to Axy or 7xy effects.
-
-
-
- Use old FDS volume table
-
- Use the existing volume table for the FDS channel which has
- higher precision than in exported NSFs.
-
-
-
- Retrieve channel state
-
- Reconstruct the current channel's state from previous
- frames upon playing (except when playing one row).
-
-
-
- Overflow paste mode
-
- Move pasted pattern data outside the rows of the current
- frame to subsequent frames.
-
-
-
- Show skipped rows
-
- Display rows that are truncated by Bxx, Cxx, or Dxx effects.
-
-
-
- Hexadecimal keypad
-
- Use the extra keys on the keypad as hexadecimal digits in
- the pattern editor.
-
-
-
- Check version on startup
-
- Check for new Dn-FamiTracker versions on startup if an internet
- connection could be established.
-
-
-
-
-
-
Pattern edit style
-
-
-
-
- Setting
-
- Description
-
-
-
- FastTracker II
-
- Step down after inserting instrument / effect number.
-
-
-
- Modplug
-
- Stays on the same line after inserting instrument / effect number, also
- affects keyboard layout.
-
-
-
- Impulse Tracker
-
- Impulse tracker style when inserting instrument / effect numbers. Doesn't
- release instruments on key up actions. Changes behaviour of home/end keys.
-
-
-
- FastTracker II (JP106)
-
- Same as FastTracker II but with modifications to get correct layout on JP106 keyboards.
-
-
-
-
-
-
Keys
-
-
-
-
- Key
-
- Description
-
-
-
- Note cut
-
- Inserts a note cut command in the pattern editor.
-
-
-
- Clear field
-
- Clears a pattern field (note, volume, instrument or effect)
-
-
-
- Repeat
-
- Repeats last action in the pattern editor.
-
-
-
- Note release
-
- Inserts a note release command in the pattern editor.
-
-
-
- Echo buffer
-
- Inserts an echo buffer note in the pattern editor.
-
-
-
-
-
- Back to configuration · interface · main index
-
-
-
diff --git a/hlp/config_gui.htm b/hlp/config_gui.htm
deleted file mode 100644
index 55c388f88..000000000
--- a/hlp/config_gui.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
- GUI configuration
-
-
- These settings are used to configure GUI related parameters in Dn-FamiTracker.
-
-
- Frame editor:
-
-
Channel view limit
- Sets the channel view limit of the frame editor. Default is 28 channels.
-
-
-
- Register view:
-
-
Idle refresh rate
- Sets the refresh rate when not playing. Default is 100ms.
-
Precise pitch bar
- Pitch bars can now slide between semitone positions. On by default.
-
-
-
- Back to configuration · interface · main index
-
-
-
-
diff --git a/hlp/config_midi.htm b/hlp/config_midi.htm
deleted file mode 100644
index 9227264e4..000000000
--- a/hlp/config_midi.htm
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
-
-
-
-
- MIDI configuration
-
-
- This panel is used to configure the MIDI interfaces.
-
-
-
-
- Setting
-
- Description
-
-
-
- Input device
-
- Selects a MIDI input device to control the pattern editor.
-
-
-
- Output device
-
- Output commands to a MIDI device.
-
-
-
- Receive sync ticks
-
- Enable receiving MIDI timing clock, which causes the tracker to step down in the pattern
- editor for each 6'th tick. This results in 4 steps/quarter note.1
-
-
-
- Skip key releases
-
- Skip recording of key release commands.
-
-
-
- Map MIDI to NES channels
-
- Maps the MIDI channels to the tracker channels (MIDI channel 0 = pulse 1,
- channel 1 = pulse 2...)
-
-
-
- Record velocities
-
- Translate MIDI note velocities to volume column values.
-
-
-
- Auto arpeggiate chords
-
- Arpeggiate multiple keypresses.
-
-
-
-
- 1. Note: This command will also disable automatic step down when inserting notes in the pattern editor!
-
-
-
- Back to configuration · interface · main index
-
-
-
diff --git a/hlp/config_mixer.htm b/hlp/config_mixer.htm
deleted file mode 100644
index a1004271e..000000000
--- a/hlp/config_mixer.htm
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
- Mixer configuration
-
-
- This allows you to confgure the mixing levels of the emulated audio hardware. This option is provided because
- the mixing levels could vary on different types of hardware (such as different models of the Famicom or different versions
- of game cartridges), it allows you to fine tune the audio emulation against a specific
- set of hardware.
-
-
- Before changing these settings, please be aware that mixing levels are not yet stored in the NSF format and
- that your song could be played back with any configuration of mixing levels!
-
-
- APU1 is the first audio out pin (pulse 1 & 2) and APU2 is the second audio out pin (triangle, noise & DPCM),
- the rest are the expansion chips. The sliders ranges from -12 dB to +12 dB, the default
- value is 0 dB for all sliders.
-
-
- Back to configuration · interface · main index
-
-
-
diff --git a/hlp/config_shortcuts.htm b/hlp/config_shortcuts.htm
deleted file mode 100644
index be895422e..000000000
--- a/hlp/config_shortcuts.htm
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
- Shortcuts configuration
-
-
- This section allows you to customize the key shortcuts in the program.
- Select the command you want to modify and the press the key combination you wish
- to use in the keys-field.
-
-
- Back to configuration · interface · main index
-
-
-
diff --git a/hlp/config_sound.htm b/hlp/config_sound.htm
deleted file mode 100644
index 529414d7b..000000000
--- a/hlp/config_sound.htm
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
-
-
-
- Sound configuration
-
-
- This panel is used to configure the audio settings.
-
-
-
-
- Setting
-
- Description
-
-
-
- Device
-
- The WASAPI device used for audio output.
-
-
-
- Sample rate
-
- Audio sample rate, should be set to the native setting of your sound card.1
-
-
-
- Buffer length
-
- Audio buffer length. Keep as short as possible for lowest delay. (Default: 40 ms)
- 1. This program is using band-limited synthesis, a higher sample rate is not necessary for high audio quality.
- This setting should be set to the native rate of your sound card to maximize performance.
-
-
- Back to configuration · interface · main index
-
-
-
diff --git a/hlp/config_version.htm b/hlp/config_version.htm
deleted file mode 100644
index d16e300a0..000000000
--- a/hlp/config_version.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
- Version configuration
-
-
- These settings are used to configure the module tolerance level of Dn-FamiTracker, as well as
- compatibility settings. Note that only the module tolerance level is implemented thus far.
-
-
- Module error level:
-
-
Strict
- Validate all modules so they do not contain any illegal data.
-
Default
- Perform the usual error checking.
-
None
- Perform no validation at all while loading or saving modules.
- The tracker might crash or enter an inconsistent state.
-
-
-
-
-
- Back to configuration · interface · main index
-
-
-
-
diff --git a/hlp/configuration.htm b/hlp/configuration.htm
deleted file mode 100644
index 14e55f93a..000000000
--- a/hlp/configuration.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
- Configuration
-
-
- This chapter explains the categories in the
- configuration window.
-
-
-
- Back to interface · main index
-
-
-
diff --git a/hlp/control_panel.htm b/hlp/control_panel.htm
deleted file mode 100644
index e3a997a33..000000000
--- a/hlp/control_panel.htm
+++ /dev/null
@@ -1,137 +0,0 @@
-
-
-
-
-
-
-
-
- Control panel
-
-
The main window control panel
-
-
-
-
Frame editor
-
-
-
-
- The first part is the frame editor (also known as order editor), located to
- the left. This may be adjusted to be next to the Pattern editor via the View menu settings.
-
- A frame is a set of patterns for all channels, where each
- channel is represented by a pattern number individual from all other channels. There
- are 128 available pattern slots for each channel, and the patterns aren't shared across
- the channels. Up to 128 frames can be used.
-
-
- To change pattern, press "+" or "-" buttons or "+" &
- "-" keys in
- the pattern editor. If "change all" is checked, all channels will change
- instead of just the selected one. Use Ctrl+Right and Ctrl+Left to
- step through frames from the pattern editor. Double click or press F3
- to enable edit mode for the frame editor, where you can enter pattern values
- manually.
-
-
- To expand the channel view, click on the right arrow on the top left corner.
- To minimize the channel view, click on the left arrow on the top left corner.
-
-
- The frame editor also supports mouse selection and drag & drop operations. Use Shift+drag to copy pattern numbers to new frames and Ctrl+drag to
- copy patterns to new frames.
-
-
Song settings & edit settings
-
-
-
-
- Song settings is default play speed & tempo, number
- of rows and frames in the song. Double-click any box to enter a value manually.
-
-
- Click on the Speed button to toggle between Speed and Grooves.
-
-
- Click on the Tempo button to toggle between Tempo and Fixed.
- Using Fixed mode tempo will force the tempo to sync with the engine tick rate (2.5 * Engine tick speed) and
- Fxx will now only set the speed.
-
-
- Speed and tempo can also be changed by using pattern command Fxx.
-
-
- The resulting BPM tempo (when Tempo is not fixed) is calculated by using the formula
-
-
- BPM = (6 * Tempo) / Speed
-
-
- which means that the tempo box is correct at speed of 6.
-
-
- The resulting BPM tempo (when Tempo is fixed) is calculated by using the formula
-
-
- BPM = (15 * Engine tick speed) / Speed
-
-
- When Grooves are chosen instead of speed, the resulting BPM may vary depending on the
- current speed sequence of the groove.
-
-
- The engine tick rate for the song is 60 or
- 50 Hertz (when using default NTSC/PAL settings), and this is used to
- calculate the average tempo of the song. This means that some rows may play
- slightly longer or shorter than others,
- something that might be audible. To avoid this, leave the
- tempo setting at 150 (125 for PAL!) and use only the speed setting to change BPM
- to ensure that all rows get the same duration, or click on the Tempo button to
- force the tempo to sync with the engine tick rate.
-
- Also be aware that the maximum supported BPM is 900 for NTSC and 750 for PAL
- (equal to speed 1 at tempo 150 / 125), going above that will not function
- properly!
-
-
-
-
-
- Note:
- The speed & tempo split-point is currently set to 32, but files created in older versions of the tracker
- will have this point set to 20. This was changed to give a access to a larger speed range since the speed
- command sometimes is more useful than the tempo command.
-
- It is possible to toggle this split-point with the command Ctrl+Shift+S
- if you wish to change it in the current module.
-
-
-
-
-
-
- The step setting changes the step behaviour when moving the cursor in the
- pattern editor. Key repetition enables key repeat behaviour.
-
-
- Song information & instrument list
-
-
-
-
- Song information text fields are for name, artist and copyright. These strings are stored
- in NSFs (and also available in the NSF export dialog). The song
- list selects a song in multi-song files.
- The big list to the right is the instrument box, and
- the small toolbar is used to create,
- delete, open, save and edit settings for instrument and the text box is to name
- instruments.
-
- The instrument list supports drag and drop operation for reordering instruments.
-
-
- Back to interface · main index
-
-
-
diff --git a/hlp/dpcm_editor.htm b/hlp/dpcm_editor.htm
deleted file mode 100644
index 893f82df1..000000000
--- a/hlp/dpcm_editor.htm
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
-
-
-
-
- DPCM sample editor
-
-
-
There is a simple DPCM sample editor available from
- the DPCM instrument editor,
- it's intended mainly for trimming silent parts from the beginning and end of samples.
- Other types of edits should be done preferably before the sample is
- converted to DPCM.
-
-
-
-
-
Use the sample area to select a part of the sample and to set the
- start position (for preview).
-
-
-
Play
- Previews the sample at the selected pitch.
-
-
-
-
Delete
- Removes a part of the sample, select the part you wish to remove and press delete. This works best on the
- beginning and end of a sample; if you need to remove something in the middle
- then it's usually better to do this on the sample before you convert it to DPCM.
-
-
-
-
Tilt
- Inserts zero-value samples
- inside a selected area, causing the sample to tilt toward zero. The idea is to
- restore the delta counter back to zero when the sample
- has finished, in order to restore volume for the triangle and noise channels.
-
-
-
-
Bit Reverse
- Reverses the bit sequence of each byte in the DPCM sample. Useful for restoring bit-reversed
- samples, or creating new timbres for new ones.
-
-
-
-
Center wave
- Draws the sample with an initial delta counter value of 64 in order to center the start of the wave.
- This is another method to keep the triangle and noise volume consistent, make
- sure all samples starts and ends at 64.
- The sample itself is not affected by this option, the equal operation in the
- tracker is to use the effect Z40 when playing the sample.
-
-
-
-
-
- The offset value tells the start position (as used internally by
- the DPCM channel), this value can be used with the
- Yxx command.
- The pos value is the position in size units as used by the DPCM channel.
-
-
- Back to interface · main index
-
-
-
diff --git a/hlp/dpcm_import.htm b/hlp/dpcm_import.htm
deleted file mode 100644
index ebebfefee..000000000
--- a/hlp/dpcm_import.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
- Importing DPCM samples
-
-
-
- This feature is used to convert Microsoft wave files (.wav) to 1-bit DPCM samples,
- as used by the NES hardware's sample channel.
- The format of the wave files must be PCM, no compressed formats are supported.
- Sample rate, sample size and channel count doesn't matter, the file will be
- resampled according to the quality setting.
-
-
- Choose import in
- the DPCM instrument editor dialog, select a file and you will be asked to select
- a quality and volume
- setting:
-
-
-
Quality
- Sets the sample rate for the converted sample, this is equivalent to the pitch setting in the instrument editor. Use the same setting to play the
- sample at original pitch. Quality of 15 gives
- best result but also shortest sample time.
-
-
Gain
- Sets the conversion volume level. Range: -12dB to +12dB.
-
-
-
-
- Maximum supported size of one DPCM sample
- is 4 kB, at quality 15 (33 kHz) it's a little
- less than one second and lowest quality (4 kHz) about eight seconds.
-
-
- Back to interface · main index
-
-
-
diff --git a/hlp/effect_list.htm b/hlp/effect_list.htm
deleted file mode 100644
index 7eb9e6b2a..000000000
--- a/hlp/effect_list.htm
+++ /dev/null
@@ -1,465 +0,0 @@
-
-
-
-
-
-
-
-
- Effect list
-
-
The pattern effects are based on the MOD effects.
- One important difference to many other trackers is that most effects remains active until it's disabled with a 00 parameter.
Automatic volume slide. Use A0y to slide up and Ax0 to slide down.
- The x and y parameters affects the volume column value as fractions of 8.
- Use 00 to disable.
Controls the speed and tempo setting of the module. xx between 01 - 1F sets the speed and
- xx between 20 - FF sets the tempo.
- If the module's tempo is set to Fixed, xx sets the speed.
Triggers the hardware sweep down. x is period (0 - 7) and y is the shift value (1 - 7).
-
-
- This effect is only available on the 2A03 pulse channels.
This effect controls the duty period of the pulse channels and noise mode of the noise channel.
- On N163, it can be used to select the wave index.
- On VRC7, it can be used to select the patch index.
- On S5B, it can be used to select the channel mode bitmask.
- Valid values are:
-
Directly controls the DPCM delta counter. This can be used to control the amplitude of the triangle,
- noise and DPCM channels due to the non-linear mixing of audio signals.
- Valid range: 00 - 7F
Controls the modulation speed of the FDS frequency modulator. This affects the highest 4 bits of the 12-bit modulator frequency.
- Valid range: 00 - 0F.
Controls the modulation speed of the FDS frequency modulator. This affects the lowest 8 bits of the 12-bit modulator frequency.
- Valid range: 00 - FF.
When xx is equal to or greater than 80, this command overrides the value of the numerator of the modulation multiplier to xx - 80.
- Modulator frequency will now calculated by the note frequency multiplied by (xx - 80) / (y + 1), where y is set by a corresponding Ixy command.
- No Ixy command should be placed on the right of any Hxx command on the same row for it to be enabled.
- Automatic modulation speed must be enabled by a corresponding Ixy command for it to be enabled.
- Valid range: 80 - FF.
Bit 0 of x toggles the hardware envelope on the pulse/noise channel. This causes the channel volume to affect decay rate instead.
- If the length counter is disabled, the amplitude wraps around.
- On the triangle channel, this also toggles the linear counter, since both must be active at the same time.
-
- Bit 1 of x toggles the length counter on the pulse/noise channel.
- On the triangle channel, both this and the linear counter may cut the channel's output after a fixed number of counter clocks have elapsed, whichever comes first.
-
- This effect also works for the MMC5 pulse channels.
- Valid range: 0 - 3.
Enables the length counter and sets it to the value listed in the table below.
- On the triangle channel, this also intializes its linear counter; whichever shorter will cut the triangle output first.
- Default value is 01 (254).
-
-
-
-
x0
-
x1
-
x2
-
x3
-
x4
-
x5
-
x6
-
x7
-
x8
-
x9
-
xA
-
xB
-
xC
-
xD
-
xE
-
xF
-
-
-
0x
-
10
-
254
-
20
-
2
-
40
-
4
-
80
-
6
-
160
-
8
-
60
-
10
-
14
-
12
-
26
-
14
-
-
-
1x
-
12
-
16
-
24
-
18
-
48
-
20
-
96
-
22
-
192
-
24
-
72
-
26
-
16
-
28
-
32
-
30
-
-
-
This effect also works for the MMC5 pulse channels.
- Valid range: 00 - 1F.
Resets the linear counter on the triangle channel to (xx - 80).
- If xx is less than 80, this effect disables the linear counter and the length counter, which then will behave as delayed note cut.
Enables the hardware envelope. xx sets the rate of attack from current volume to the channel maximum.
- A smaller value corresponds to a quicker rate.
- Valid range: 00 - 3F.
Enables the hardware envelope. xx - 40 sets the rate of decay from current volume to 0.
- A smaller value corresponds to a quicker rate.
- Valid range: 40 - 7F.
-
-
-
- Back to interface · main index
-
-
-
diff --git a/hlp/export_wave.htm b/hlp/export_wave.htm
deleted file mode 100644
index 6a55b1dfb..000000000
--- a/hlp/export_wave.htm
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
- Export to wave
-
-
- This feature allows FTM modules to be exported to wave files.
-
-
-
- Back to main index
-
-
-
diff --git a/hlp/faq.htm b/hlp/faq.htm
deleted file mode 100644
index 74703d8fa..000000000
--- a/hlp/faq.htm
+++ /dev/null
@@ -1,204 +0,0 @@
-
-
-
-
-
-
-
-
- Frequently Asked Questions
-
-
-
- Module
-
- Q:So... How do I get started?
- A: The first thing to do would be to create an instrument. On the
- top-right corner of the screen you will see a large empty black box. Click the
- "New Instrument" button below that. Now double-click your new instrument, and
- start playing around with it (starting with volume obviously) until you get a
- sound that you're satisfied with. Then you can start laying down some notes, and
- away you go!
-
-
- Q:How do I add a sound chip like MMC5 or VRC6 to my module?
- A: Simply open Module>Module Properties. There you will find an Expansion
- Chip menu where you can select any one of the
- available sound chips.
-
-
- Q:How do I create instruments for them? I can't find the option to
- create a VRC6
- instrument!
-
- A: To create an instrument for a specific chip, the cursor should be
- focused on one of channels of the chip in question, because every chip has its
- own type of instrument and you cannot, for instance, use a 2A03 instrument on a
- VRC6 square channel.
-
-
-
-
-
- Editing
-
- Q:I can't find key for stopping note (dash symbol in the pattern).
- I've checked 'Shortcuts' in 'Configuration', and haven't found anything similar.
- A: The key is definable, it is in 'Configuration', 'General',
- bottom-right corner (frame titled 'Keys'). If you have problems with redefining
- the key, you may need to add the Standard English keyboard layout using your
- operating system's regional and language options.
-
-
- Q:How do I write triplets?
-
- A: There are several valid ways to insert triplets in your module, but
- one of the most common ones is to use the Gxx
- command. If your module's tempo and speed are set to 150 and 6, respectively,
- then you can use G02 and G04 on your triplet's second and third
- notes, and you will get perfect triplets. Bear in mind that if you are using a
- different tempo, different values will be required, so mess around with that
- until you get the sound you like.
-
-
- Q:How to make patterns with different length?
-
- A: All the patterns have the same length (defined by the "Rows" field),
- however you can make one pattern shorter using effect Dxx.
-
-
- Q:How do I stop my song, as opposed to letting it loop all the time?
- A: Use the Cxx
- command at the very end of your module to stop it dead. xx does nothing;
- use zeros.
-
-
-
-
Instruments
-
- Q:How to load instrument file (*.fti)?
-
- A: There are five buttons under the instruments list - New, Delete, Open,
- Save, Editor. Version 0.3.0 has some problems with instruments loading under
- Windows 7, they could not be saved or loaded from arbitrary folder.
-
-
- Q:I've made one instrument, and when I'm trying to make another,
- first one changes as well.
-
- A: You should select new 'Sequence' for new instrument. It could be done
- by clicking 'Select next empty slot' button.
-
-
- Q:I'm having difficulty getting any sound out of my custom VRC7
- instruments. Help!
-
- A: The first thing to do if you want sound is to increase the attack on
- the carrier. Then you can mess around with the settings until you get something
- that you are pleased with.
-
-
- Q:My VRC6 sawtooth wave sounds all wrong! What did I do?!
-
- A: Make sure you didn't accidentally set the duty cycle to 1 in the
- instrument settings or effect column. This is an intentional feature to distort
- the sawtooth wave.
-
-
- Q:How do I get Sunsoft 5B envelopes to work?
-
- A: You first need to either set the chip to use Envelope in the Noise/Mode macro
- (the yellow bar) or put the Vxx command V04 into the effects column. Now place
- the Hxy command into the effects column (or another effect column if using Vxx). From
- here, there are two options: You can either control the envelope manually (using extra effects)
- or placing a note in any of the channels (using the autoenvelope feature). If you want to control
- the envelope manually, do H0y (replace "y" with desired envelope shape) and then use Ixx/Jxx
- effects to control the pitch. If you want to use the autoenvelope feature, use Hxy, (replacing "x" with
- the desired octave) and place a note with the envelope enabled.
-
-
- Q:Is there a table that shows all the available envelope shapes?
-
- A: Yes! It can be seen in the Sunsoft 5B documentation.
-
-
-
-
- Troubleshooting
-
- Q:I have problem with Dn-FamiTracker under Windows Vista x64 or Windows
- 7, the sound is stuttering.
-
- A: Try to update sound card drivers.
-
-
- Q:I get sound alright, but it's constantly clicking.
-
- A: The buffer length is too short. Try adjusting it in the "Sound" tab in
- File>Configuration.
-
- Q:WASAPI error: Could not open audio stream! / WASAPI error: Could not find sound device!
-
- A: Select an existing sound device in the "Sound" tab in File>Configuration
- and refresh your sound configuration by pressing F12.
-
-
- Q:I tried opening a module in Dn-FamiTracker, but it gives me an error message!
-
- A: The error message will tell you what went wrong with opening the file.
-
-
- "FamiTracker module version too new, expected x or below"
- You are attempting to open a module from a newer version.
- Update to the latest stable release and try opening the file in it.
-
- "FamiTracker module version too old, expected x or above"
- You are attempting to open a module from a version too old.
-
- "Sequence index out of range: expected <x>, got <y>"
- The module is corrupted, and the file can't be read properly.
- Q:Why doesn't my 5B module sound correctly when exported?
-
- A: The answer often lies in the emulator running the exported NSF. Since
- the audio used in Gimmick! only uses the Tone part of the chip, the Noise and
- Envelope features are not required for the game to sound correct. Emulators like
- NSFPlay and Dn's internal emulation will be able to play back the file correctly,
- however.
-
-
-
-
-
Miscellaneous
-
- Q:Can raw PCM playback be implemented?
-
- A: Not at the moment. Playing samples through the 8-bit MMC5 DAC ($5011) or the
- 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 new sound driver and hardware setup designed for PCM playback is required.
-
-
- Q:Is Dn-FamiTracker available for Linux?
-
- A: Not natively, but you can run Dn-FamiTracker under Wine for the time being.
- A migration from MFC to Qt is planned in the distant future.
-
-
-
-
-
- Back to main index
-
-
-
diff --git a/hlp/fds.htm b/hlp/fds.htm
deleted file mode 100644
index 0e881d979..000000000
--- a/hlp/fds.htm
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
-
-
-
-
-
- Nintendo FDS
-
-
-
-
-
-
About
-
-
- This is a single channel chip used in the Famicom Disk System hardware by
- Nintendo. It was an external disk drive unit available for
- Famicom, games was distributed on disks instead of carts.
-
-
- The channel uses a 64-step customizable waveform and has a simple frequency
- modulator.
-
-
-
Instruments
-
-
-
-
-
Wave editor
-
-
- The instrument editor contains a wave editor, the wave is 64
- steps long and the amplitude is 64 steps.
-
-
- Usage: Left-click to change each sample, middle-click to draw a
- line and right-click to switch between line/dot mode. A few presets are also
- available.
-
-
- Use copy/paste wave to copy a MML-string of the wave to/from the
- clipboard.
-
-
Modulator editor
-
-
- The rest of the controls belongs to the frequency modulator:
- rate (0 - 4095), depth (0 - 63) and delay (0 - 255)
- after a note is triggered can be set.
- (This has been copied straight from MCK).
-
-
- The big box is the modulation table, where each box tells how much to add or
- subtract from the frequency. Each value is
- used twice by the modulator unit, and the frequency is automatically reset each time end
- is reached. Yellow = 0, green above = +1, +2, +4, green below = -1, -2, -4 and blue
- is reset to initial frequency. Use copy/paste table to copy and
- MML-string of the table to/from the clipboard.
-
-
-
-
-
- There is also a tab with envelopes for volume, arpeggio & pitch.
-
-
- Back to sound hardware · main index
-
-
-
diff --git a/hlp/gpl.txt b/hlp/gpl.txt
deleted file mode 100644
index 3912109b5..000000000
--- a/hlp/gpl.txt
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/hlp/hlp.vcxproj b/hlp/hlp.vcxproj
deleted file mode 100644
index 74a621d5c..000000000
--- a/hlp/hlp.vcxproj
+++ /dev/null
@@ -1,562 +0,0 @@
-
-
-
-
- ASAN-Debug
- Win32
-
-
- ASAN-Debug
- x64
-
-
- ASAN-Release
- Win32
-
-
- ASAN-Release
- x64
-
-
- Debug
- Win32
-
-
- Release
- Win32
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
- 16.0
- Win32Proj
- {afd2f6e3-e658-4a1b-a691-8f10a858321b}
- hlp
- 10.0.20348.0
-
-
-
- Utility
- false
- v143
- Unicode
-
-
- Utility
- false
- v143
- Unicode
-
-
- Utility
- false
- v143
- false
- Unicode
-
-
- Utility
- false
- v143
- false
- Unicode
-
-
- Utility
- false
- v143
- Unicode
-
-
- Utility
- false
- v143
- Unicode
-
-
- Utility
- false
- v143
- false
- Unicode
-
-
- Utility
- false
- v143
- false
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(SolutionName)
- $(Platform)\$(Configuration)\
- .chm
-
-
- true
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(SolutionName)
- $(Platform)\$(Configuration)\
- .chm
-
-
- false
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(SolutionName)
- $(Platform)\$(Configuration)\
- .chm
-
-
- false
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(SolutionName)
- $(Platform)\$(Configuration)\
- .chm
-
-
- true
- $(SolutionName)
- .chm
-
-
- true
- $(SolutionName)
- .chm
-
-
- false
- $(SolutionName)
- .chm
-
-
- false
- $(SolutionName)
- .chm
-
-
-
- Level3
- true
- WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
-
-
- Console
- true
-
-
-
-
- Level3
- true
- WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
-
-
- Console
- true
-
-
-
-
- Level3
- true
- true
- true
- WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
-
-
- Console
- true
- true
- true
-
-
-
-
- Level3
- true
- true
- true
- WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
-
-
- Console
- true
- true
- true
-
-
-
-
- Level3
- true
- _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
-
-
- Console
- true
-
-
-
-
- Level3
- true
- _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
-
-
- Console
- true
-
-
-
-
- Level3
- true
- true
- true
- NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
-
-
- Console
- true
- true
- true
-
-
-
-
- Level3
- true
- true
- true
- NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
-
-
- Console
- true
- true
- true
-
-
-
-
- true
-
-
- Document
- start /wait hhc "$(SolutionName).hhp"
-if not exist "$(SolutionName).chm" goto :HelpError
-copy "$(SolutionName).chm" "$(OutDir)$(SolutionName).chm"
-goto :HelpDone
-:HelpError
-echo $(ProjectDir)$(SolutionName).hhp(1) : error:Problem encountered creating help file
-echo.
-:HelpDone
-echo.
- start /wait hhc "$(SolutionName).hhp"
-if not exist "$(SolutionName).chm" goto :HelpError
-copy "$(SolutionName).chm" "$(OutDir)$(SolutionName).chm"
-goto :HelpDone
-:HelpError
-echo $(ProjectDir)$(SolutionName).hhp(1) : error:Problem encountered creating help file
-echo.
-:HelpDone
-echo.
- start /wait hhc "$(SolutionName).hhp"
-if not exist "$(SolutionName).chm" goto :HelpError
-copy "$(SolutionName).chm" "$(OutDir)$(SolutionName).chm"
-goto :HelpDone
-:HelpError
-echo $(ProjectDir)$(SolutionName).hhp(1) : error:Problem encountered creating help file
-echo.
-:HelpDone
-echo.
- start /wait hhc "$(SolutionName).hhp"
-if not exist "$(SolutionName).chm" goto :HelpError
-copy "$(SolutionName).chm" "$(OutDir)$(SolutionName).chm"
-goto :HelpDone
-:HelpError
-echo $(ProjectDir)$(SolutionName).hhp(1) : error:Problem encountered creating help file
-echo.
-:HelpDone
-echo.
- start /wait hhc "$(SolutionName).hhp"
-if not exist "$(SolutionName).chm" goto :HelpError
-copy "$(SolutionName).chm" "$(OutDir)$(SolutionName).chm"
-goto :HelpDone
-:HelpError
-echo $(ProjectDir)$(SolutionName).hhp(1) : error:Problem encountered creating help file
-echo.
-:HelpDone
-echo.
- start /wait hhc "$(SolutionName).hhp"
-if not exist "$(SolutionName).chm" goto :HelpError
-copy "$(SolutionName).chm" "$(OutDir)$(SolutionName).chm"
-goto :HelpDone
-:HelpError
-echo $(ProjectDir)$(SolutionName).hhp(1) : error:Problem encountered creating help file
-echo.
-:HelpDone
-echo.
- start /wait hhc "$(SolutionName).hhp"
-if not exist "$(SolutionName).chm" goto :HelpError
-copy "$(SolutionName).chm" "$(OutDir)$(SolutionName).chm"
-goto :HelpDone
-:HelpError
-echo $(ProjectDir)$(SolutionName).hhp(1) : error:Problem encountered creating help file
-echo.
-:HelpDone
-echo.
- start /wait hhc "$(SolutionName).hhp"
-if not exist "$(SolutionName).chm" goto :HelpError
-copy "$(SolutionName).chm" "$(OutDir)$(SolutionName).chm"
-goto :HelpDone
-:HelpError
-echo $(ProjectDir)$(SolutionName).hhp(1) : error:Problem encountered creating help file
-echo.
-:HelpDone
-echo.
- Making help file...
- Making help file...
- Making help file...
- Making help file...
- Making help file...
- Making help file...
- Making help file...
- Making help file...
- $(OutDir)$(SolutionName).chm
- $(OutDir)$(SolutionName).chm
- $(OutDir)$(SolutionName).chm
- $(OutDir)$(SolutionName).chm
- $(OutDir)$(SolutionName).chm
- $(OutDir)$(SolutionName).chm
- $(OutDir)$(SolutionName).chm
- $(OutDir)$(SolutionName).chm
- HTMLDefines.h;%(AdditionalInputs)
- HTMLDefines.h;%(AdditionalInputs)
- HTMLDefines.h;%(AdditionalInputs)
- HTMLDefines.h;%(AdditionalInputs)
- HTMLDefines.h;%(AdditionalInputs)
- HTMLDefines.h;%(AdditionalInputs)
- HTMLDefines.h;%(AdditionalInputs)
- HTMLDefines.h;%(AdditionalInputs)
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/hlp/hlp.vcxproj.filters b/hlp/hlp.vcxproj.filters
deleted file mode 100644
index fe5ee33bf..000000000
--- a/hlp/hlp.vcxproj.filters
+++ /dev/null
@@ -1,266 +0,0 @@
-
-
-
-
- {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
- cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
-
-
- {93995380-89BD-4b04-88EB-625FBE52EBFB}
- h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
-
-
- {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
- rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
-
-
- {2921ea14-3eed-4737-b052-4cb9adb5ccb7}
-
-
- {2bfac17d-404b-4b59-a88b-15285793fe23}
-
-
- {dfe51ed1-38aa-4477-ad48-baae15864497}
-
-
- {71c2d500-54bf-4509-877f-0553d4d19447}
-
-
- {006c7d87-9340-4dfb-8971-d7890b76892e}
-
-
- {89ff6e95-8e2e-48ea-844b-3fc667f325fb}
-
-
- {372a30c4-6395-4e87-8909-d0e913cdceaf}
-
-
- {8b9d2713-6ff3-49b3-85b9-8364e5f66c7f}
-
-
- {9c8cba55-25e8-45c1-bba8-899cb5bd3b06}
-
-
- {a7b5673e-3410-435e-a7e3-78bb728230d7}
-
-
- {665607cd-e4d2-4480-a320-695220407752}
-
-
-
-
- HTML
-
-
- HTML Help Files
-
-
- HTML Help Files
-
-
- HTML Help Topics
-
-
- HTML Help Topics
-
-
- HTML Help Topics
-
-
- HTML Help Topics\Chips
-
-
- HTML Help Topics\Chips
-
-
- HTML Help Topics\Chips
-
-
- HTML Help Topics\Chips
-
-
- HTML Help Topics\Chips
-
-
- HTML Help Topics\Chips
-
-
- HTML Help Topics\Chips
-
-
- HTML Help Topics\Chips
-
-
- HTML Help Topics\CSS
-
-
- HTML Help Topics\Interface
-
-
- HTML Help Topics\Interface
-
-
- HTML Help Topics\Interface
-
-
- HTML Help Topics\Interface
-
-
- HTML Help Topics\Interface
-
-
- HTML Help Topics\Interface
-
-
- HTML Help Topics\Interface
-
-
- HTML Help Topics\Interface
-
-
- HTML Help Topics\Interface
-
-
- HTML Help Topics\Interface\Configuration
-
-
- HTML Help Topics\Interface\Configuration
-
-
- HTML Help Topics\Interface\Configuration
-
-
- HTML Help Topics\Interface\Configuration
-
-
- HTML Help Topics\Interface\Configuration
-
-
- HTML Help Topics\Interface\Configuration
-
-
- HTML Help Topics\Interface\Configuration
-
-
- HTML Help Topics\Interface\Configuration
-
-
- HTML Help Topics\Interface\Configuration
-
-
- HTML Help Topics\Interface\Configuration
-
-
- HTML Help Topics\Interface\Menus
-
-
- HTML Help Topics\Interface\Menus
-
-
- HTML Help Topics\Interface\Menus
-
-
- HTML Help Topics\Interface\Menus
-
-
- HTML Help Topics\Interface\Menus
-
-
- HTML Help Topics\Interface\Menus
-
-
- HTML Help Topics\Interface\Menus
-
-
- HTML Help Topics\Interface\Menus
-
-
- HTML Help Topics\Interface\Menus
-
-
- HTML Help Topics\Interface\Dialogs
-
-
- HTML Help Topics\Interface\Dialogs
-
-
- HTML Help Topics\Interface\Dialogs
-
-
- HTML Help Topics\Interface\Dialogs
-
-
- HTML Help Topics\Interface\Dialogs
-
-
- HTML Help Topics\Interface\Dialogs
-
-
- HTML Help Topics\Interface\Dialogs
-
-
- HTML Help Topics\Interface\Dialogs
-
-
- HTML Help Topics\Interface\Dialogs
-
-
- HTML Help Topics\Interface\Dialogs
-
-
-
-
- HTML Help Files
-
-
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
- HTML Help Topics\Images
-
-
-
\ No newline at end of file
diff --git a/hlp/img/Icon.png b/hlp/img/Icon.png
deleted file mode 100644
index 9ab9347c8..000000000
Binary files a/hlp/img/Icon.png and /dev/null differ
diff --git a/hlp/img/chip_2A03.png b/hlp/img/chip_2A03.png
deleted file mode 100644
index 3e91e2979..000000000
Binary files a/hlp/img/chip_2A03.png and /dev/null differ
diff --git a/hlp/img/chip_FDS.png b/hlp/img/chip_FDS.png
deleted file mode 100644
index cb11cd6f2..000000000
Binary files a/hlp/img/chip_FDS.png and /dev/null differ
diff --git a/hlp/img/chip_MMC5.png b/hlp/img/chip_MMC5.png
deleted file mode 100644
index 3d6bade45..000000000
Binary files a/hlp/img/chip_MMC5.png and /dev/null differ
diff --git a/hlp/img/chip_N163.png b/hlp/img/chip_N163.png
deleted file mode 100644
index 59586e148..000000000
Binary files a/hlp/img/chip_N163.png and /dev/null differ
diff --git a/hlp/img/chip_S5B.png b/hlp/img/chip_S5B.png
deleted file mode 100644
index dfed6c732..000000000
Binary files a/hlp/img/chip_S5B.png and /dev/null differ
diff --git a/hlp/img/chip_VRC6.png b/hlp/img/chip_VRC6.png
deleted file mode 100644
index 5ee5524c8..000000000
Binary files a/hlp/img/chip_VRC6.png and /dev/null differ
diff --git a/hlp/img/chip_VRC7.png b/hlp/img/chip_VRC7.png
deleted file mode 100644
index b69cd613c..000000000
Binary files a/hlp/img/chip_VRC7.png and /dev/null differ
diff --git a/hlp/img/comments.png b/hlp/img/comments.png
deleted file mode 100644
index fa7c1d670..000000000
Binary files a/hlp/img/comments.png and /dev/null differ
diff --git a/hlp/img/dpcm_editor.png b/hlp/img/dpcm_editor.png
deleted file mode 100644
index daa2550fb..000000000
Binary files a/hlp/img/dpcm_editor.png and /dev/null differ
diff --git a/hlp/img/dpcm_import.png b/hlp/img/dpcm_import.png
deleted file mode 100644
index cc44cf41a..000000000
Binary files a/hlp/img/dpcm_import.png and /dev/null differ
diff --git a/hlp/img/export_wav.png b/hlp/img/export_wav.png
deleted file mode 100644
index fc6941dba..000000000
Binary files a/hlp/img/export_wav.png and /dev/null differ
diff --git a/hlp/img/fds_fm_table.PNG b/hlp/img/fds_fm_table.PNG
deleted file mode 100644
index 6d8230eed..000000000
Binary files a/hlp/img/fds_fm_table.PNG and /dev/null differ
diff --git a/hlp/img/frame_editor.png b/hlp/img/frame_editor.png
deleted file mode 100644
index f35e24c37..000000000
Binary files a/hlp/img/frame_editor.png and /dev/null differ
diff --git a/hlp/img/img_old.zip b/hlp/img/img_old.zip
deleted file mode 100644
index 4e5ba7fcf..000000000
Binary files a/hlp/img/img_old.zip and /dev/null differ
diff --git a/hlp/img/inst_2a03.png b/hlp/img/inst_2a03.png
deleted file mode 100644
index bab50b166..000000000
Binary files a/hlp/img/inst_2a03.png and /dev/null differ
diff --git a/hlp/img/inst_dpcm.png b/hlp/img/inst_dpcm.png
deleted file mode 100644
index a173bd479..000000000
Binary files a/hlp/img/inst_dpcm.png and /dev/null differ
diff --git a/hlp/img/inst_fds.png b/hlp/img/inst_fds.png
deleted file mode 100644
index ce78e8aaa..000000000
Binary files a/hlp/img/inst_fds.png and /dev/null differ
diff --git a/hlp/img/inst_n163.png b/hlp/img/inst_n163.png
deleted file mode 100644
index a69431797..000000000
Binary files a/hlp/img/inst_n163.png and /dev/null differ
diff --git a/hlp/img/inst_sun5.png b/hlp/img/inst_sun5.png
deleted file mode 100644
index 56d3f4721..000000000
Binary files a/hlp/img/inst_sun5.png and /dev/null differ
diff --git a/hlp/img/inst_sun5_nmode.png b/hlp/img/inst_sun5_nmode.png
deleted file mode 100644
index 5effe9d27..000000000
Binary files a/hlp/img/inst_sun5_nmode.png and /dev/null differ
diff --git a/hlp/img/inst_vrc7.png b/hlp/img/inst_vrc7.png
deleted file mode 100644
index fea2eb525..000000000
Binary files a/hlp/img/inst_vrc7.png and /dev/null differ
diff --git a/hlp/img/pattern.png b/hlp/img/pattern.png
deleted file mode 100644
index d74f7cc17..000000000
Binary files a/hlp/img/pattern.png and /dev/null differ
diff --git a/hlp/img/properties.png b/hlp/img/properties.png
deleted file mode 100644
index bf3499053..000000000
Binary files a/hlp/img/properties.png and /dev/null differ
diff --git a/hlp/img/s5b_env_0-3,_9.png b/hlp/img/s5b_env_0-3,_9.png
deleted file mode 100644
index 8db83d85b..000000000
Binary files a/hlp/img/s5b_env_0-3,_9.png and /dev/null differ
diff --git a/hlp/img/s5b_env_4-7,_f.png b/hlp/img/s5b_env_4-7,_f.png
deleted file mode 100644
index 725c2d255..000000000
Binary files a/hlp/img/s5b_env_4-7,_f.png and /dev/null differ
diff --git a/hlp/img/s5b_env_8.png b/hlp/img/s5b_env_8.png
deleted file mode 100644
index bf5e096ff..000000000
Binary files a/hlp/img/s5b_env_8.png and /dev/null differ
diff --git a/hlp/img/s5b_env_a.png b/hlp/img/s5b_env_a.png
deleted file mode 100644
index 63cea4b9f..000000000
Binary files a/hlp/img/s5b_env_a.png and /dev/null differ
diff --git a/hlp/img/s5b_env_b.png b/hlp/img/s5b_env_b.png
deleted file mode 100644
index 91213289c..000000000
Binary files a/hlp/img/s5b_env_b.png and /dev/null differ
diff --git a/hlp/img/s5b_env_c.png b/hlp/img/s5b_env_c.png
deleted file mode 100644
index 3f98b9a5f..000000000
Binary files a/hlp/img/s5b_env_c.png and /dev/null differ
diff --git a/hlp/img/s5b_env_d.png b/hlp/img/s5b_env_d.png
deleted file mode 100644
index 0609b5a20..000000000
Binary files a/hlp/img/s5b_env_d.png and /dev/null differ
diff --git a/hlp/img/s5b_env_e.png b/hlp/img/s5b_env_e.png
deleted file mode 100644
index 7e1edec56..000000000
Binary files a/hlp/img/s5b_env_e.png and /dev/null differ
diff --git a/hlp/img/song_and_edit_settings.png b/hlp/img/song_and_edit_settings.png
deleted file mode 100644
index c14b79d50..000000000
Binary files a/hlp/img/song_and_edit_settings.png and /dev/null differ
diff --git a/hlp/img/song_information_and_instrument_list.png b/hlp/img/song_information_and_instrument_list.png
deleted file mode 100644
index d3ac7fc4b..000000000
Binary files a/hlp/img/song_information_and_instrument_list.png and /dev/null differ
diff --git a/hlp/img/toolbar1.png b/hlp/img/toolbar1.png
deleted file mode 100644
index 0abb0ce0e..000000000
Binary files a/hlp/img/toolbar1.png and /dev/null differ
diff --git a/hlp/img/toolbar2.png b/hlp/img/toolbar2.png
deleted file mode 100644
index 4c955c6c0..000000000
Binary files a/hlp/img/toolbar2.png and /dev/null differ
diff --git a/hlp/instruments.htm b/hlp/instruments.htm
deleted file mode 100644
index fb888aec7..000000000
--- a/hlp/instruments.htm
+++ /dev/null
@@ -1,164 +0,0 @@
-
-
-
-
-
-
-
- Instruments
-
-
-
- As no samples are stored in instruments (except for the DPCM channel), a
- set of settings are available to customize the sound. These settings are
- defined through sequence-graphs.
- A sequence is a list of values that are applied to the channel at the same rate
- as the frame rate, shown in the main window. Default for NTSC is 60 FPS and PAL
- is 50 FPS.
-
-
-
- The instrument editor - 2A03
-
-
-
-
-
- Select a sequence in the Instrument settings list and use the Select next empty
- slot to get a free sequence slot. Check the checkbox to enable the
- sequence.
-
- These effects are available
- (none of these apply to the DPCM
- channel)
-
-
-
-
-
- Volume
-
-
- Channel amplitude.
- is not possible to change triangle volume, but a zero will disable the
- channel and non-zero will enable it.
-
- Range: 0 to 15.
-
-
-
-
- Arpeggio
-
- Produces fast note-shifting, commonly used to simulate chords.
-
- Range: -79 to +79
- +79
-
-
-
-
-
-
- Pitch bend & High-speed pitch bend
-
-
- Alters the pitch, Hi-pitch multiplies the value by
- 16.
- Range: -127 to 126
-
-
-
-
-
- The sequence can be drawn in the sequence editor, left mouse button then changes single items and right button draws lines. You
- can set a loop point by clicking the Length-field.
-
-
-
-
-
-
- The instrument editor - DPCM
-samples
-
-
-
- The DPCM channel behaves different from the others in the way that samples are
- used, this tab is used to assign DPCM samples to instruments.
- First load the samples, either directly from "Load sample" where the
- format must be 1-bit delta PCM, or "Import sample" to import wave-files. (The quality of wave files will decrease significantly
- when converted to DPCM.)
- The NES can handle a total of 16 kB DPCM samples.
-
- Then select a key in "Assigned samples"-box and select the sample from the
- drop-down box below. The pitch box sets the pitch for the sample.
-
- The "<-" can also be used to assign samples, and "->" to remove assigned
- samples.
-
- More about importing DPCM samples.
-
-
- Note:
- Playing a DPCM sample may decrease the volume level of triangle and
- noise. If full volume isn't regained after a sample is finished, use a note stop
- or the Z-effect in the DPCM channel to restore it.
-
-
-
-
-
-
- VRC6 instruments
-
- VRC6 are not compatible with 2A03 instruments. To create a VRC6 instrument,
- place cursor in a VRC6 channel and create a new instrument. The differences are
- no DPCM-support and 8 levels of the duty pulse setting.
-
-
- MMC5 instruments
-
- MMC5 is compatible with 2A03 instruments. The two square channels in MMC5 are
- identical to the 2A03 square channels, except for no hardware sweep function.
-
-
-
- Back to main index
-
-
-
diff --git a/hlp/main_index.htm b/hlp/main_index.htm
deleted file mode 100644
index 56ab254ad..000000000
--- a/hlp/main_index.htm
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Welcome to Dn-FamiTracker
-
-
-
-
-
-
Overview
-
-
- Dn-FamiTracker is a fork of Famitracker, the Windows sound tracker style sequencer designed for creating NES/Famicom music. The music can be exported to NSF (Nintendo Sound
- Format) which is possible to play on the NES/Famicom hardware. A NSF player or NES emulator can be used to play these files on a PC/Mac.
-
-
-
- This help file descibes the interface of the program and the
- targeted sound hardware.
- There is also a wiki available for the "vanilla" version of FamiTracker,
- with a FAQ, example songs and more information (archived):
- http://famitracker.com/wiki/index.php?title=Main_Page
-
-
You can always press F1 anywhere in the application to access the context sensitive help.
-
-
Features
-
-
Full realtime emulation of the channels; using blargg's band-limiting library for high quality audio
-
MIDI devices support
-
NSF file export, makes it possible to use music in NES applications or play on NES
-
Supported expansion chips:
- Konami (VRC6, VRC7), Nintendo (MMC5, FDS), Namco 163 and Sunsoft 5B.
-
Source is avaliable under the GNU General Public License (GPL).
-
-
-
- Back to interface · main index
-
-
-
diff --git a/hlp/mmc5.htm b/hlp/mmc5.htm
deleted file mode 100644
index 6281d8c38..000000000
--- a/hlp/mmc5.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
- Nintendo MMC5
-
-
-
-
-
-
About
-
-
- The MMC5 contains two pulse wave channels that are identical to the
- internal pulse channels, except that the two hardware sweep units are missing.
- These channels also have a hardware volume envelope, accesible with
- Exx effects.
-
- The MMC5 has an 8-bit DAC for PCM playback, which is not supported in
- Famitracker. Playing samples through the MMC5 DAC ($5011) or the
- 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.
- Due to the MMC5's pulse channels being a near clone of the 2A03 pulses, the instruments used by MMC5 are shared with 2A03.
- See 2A03 instruments.
-
-
- Back to sound hardware · main index
-
-
-
diff --git a/hlp/n163.htm b/hlp/n163.htm
deleted file mode 100644
index 13271c7a5..000000000
--- a/hlp/n163.htm
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-
-
- Namco 163
-
-
-
-
-
-
About
-
-
- This chip was created by Namco and contains up to eight wave channels. This chip
- was earlier erroneously known as Namco 106 (which is the same chip but without
- the audio capabilities). It was used in multiple Namco games, such as
- Final Lap, King of Kings, Mappy Kids and Rolling Thunder.
-
-
- The chip has 128 bytes of RAM for waveform storage and channel registers.
- Each channel can use a wave size from 4 to 256 steps, with adjustable wave RAM
- position either through the instrument settings or the
- Zxx command.
-
-
- This chip has up to 8 channels available, configurable from the module properties dialog.
- All channels are clocked sequentally by the chip, so the pitch range
- will depend on the channel count: a lower number of channels means less time taken by channels
- to update, which means each channel has an extended top pitch range. More channels will also
- increase the effects of aliasing since this chip uses phase accumulation for tone generation.
-
-
- The DAC is also shared by all channels in the same sequential manner.
- The rate for this channel switching is around 120 kHz, which means that
- when all 8 channels are enabled, there will be audible channel switching noise at 15 kHz
- (or 17 kHz when 7 channels are enabled). Some Namco carts do have a LP filter to deal with
- this, but it did little to alleviate the high pitched noise, so it's still very audible.
- To avoid this, either disable multiplexing in the emulation configuration settings, or use a sufficient
- lowpass filter in the emulation configuration settings.
-
-
-
Instruments
-
-
-
-
-
Envelopes
-
-
- Namco instruments has an envelope editor that behaves like 2A03, with the
- exception for an extra wave setting.
- This tab is used to define waves for the instrument, the wave editor is the same
- as used for FDS except that only 16 levels are available and the wave size is
- customizable. Like for FDS, a few presets are available.
-
-
- Up to 64 different waves can be stored in the same instrument, and the wave to
- actually use is controlled by the wave envelope setting or the Vxx effect.
- Only one wave is uploaded the the wave memory at a time.
-
-
- The location in the wave memory is customizable, and the user is responsible for
- being sure that no instruments tries to use the same memory position
- simultaneously! For example, two instruments that uses wave position 0 cannot be
- used at the same time, but can be used at different times. Two instruments that
- uses wave position 0 and 32 can be used simultaneously.
-
-
- The instrument editor will suggest wave positions depending on the wave size.
-
-
- Also be aware that the pitch table is calculated with 32 steps waves in mind, so
- waves that are not a power of two in size will be out of tune.
-
-
- Back to sound hardware · main index
-
-
-
diff --git a/hlp/nsf_export.htm b/hlp/nsf_export.htm
deleted file mode 100644
index 0dcd7f7e1..000000000
--- a/hlp/nsf_export.htm
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
-
-
-
-
- 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.
-
-
- 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.
-
- A few other formats beside NSF are also available:
-
-
-
- NSF
- Creates an NSF file.
-
-
- NSFe
- Creates an NSFe file with extra metadata for track labels, track times, and comments.
-
-
- NSF2
- Creates an NSF-compatible file containing NSFe metadata. This metadata may be 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.
-
-
- BIN
- Stores only the music data and DPCM samples in separate files,
- for use with the 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.
-
-
- ASM
- Stores the music data and samples in text format that can be used with the driver sources (for CA65).
- More flexible than the BIN option.
-
-
-
-
- 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. More info about this is available on the web
- page.
-
-
- Back to interface · main index
-
-
-
diff --git a/hlp/pattern_editor.htm b/hlp/pattern_editor.htm
deleted file mode 100644
index 8c5302ec8..000000000
--- a/hlp/pattern_editor.htm
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
-
- Pattern editor
-
-
- The pattern editor consists of all channels and has the following layout:
-
-
-
-
- All fields except note, octave and effect letter are in hexadecimal.
-
-
-
Note and octave
- 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.
-
-
- 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 '*'.
-
-
-
- Instrument column
- Instrument to use. The selected
- instrument is automatically inserted unless the instrument mask option is
- enabled (Edit menu). If cleared then the previous instrument will be used.
- Note: Missing or incompatible instruments will be displayed with a red color!
-
-
-
- Volume column
- Sets the volume for the channel, range 0 - F. Only functional for channels that support volume control,
- which are pulse and noise channels for 2A03.
-
-
-
- Channel effects
- Used for channel effects. Format is
- Yxx, where Y
- = effect type and xx = effect parameter.
- Additional effect-columns can be used by clicking the arrows in the channel header.
- See this page for available effects.
-
-
-
-
-
- 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.
-
-
- Channels can be muted by clicking it's name in the channel header, double clicking
- makes it play solo. Shortcuts for these
- 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.
-
-
- Back to interface · main index
-
-
-
diff --git a/hlp/performance.htm b/hlp/performance.htm
deleted file mode 100644
index 0a4abee00..000000000
--- a/hlp/performance.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
- Performance
-
-
- This dialog is used to display tracker performance, as CPU usage and audio streaming status.
- What's important here is to check that the buffer underrun counter isn't increasing.
- If it does then you need to increase the audio buffer size (in audio settings).
-
-
-
- Back to main index
-
-
-
-
diff --git a/hlp/properties.htm b/hlp/properties.htm
deleted file mode 100644
index 3dd0834c3..000000000
--- a/hlp/properties.htm
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
-
- Module properties
-
-
- The module properties is used to manage songs, configure expansion chip,
- vibrato style, and pitch mode.
-
-
-
-
-
- The song editor is used to manage multiple songs in a single module. The same
- instrument set will be used for all songs, and up to 64 songs are supported in a
- single file.
-
-
- 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.
-
-
- The expansion chip box is used to enable
- expansion chips
- for the module. Any combination of expansion chips may be enabled.
-
-
- The channel count selector is only available for Namco 163.
-
-
- The Device mix offset box is used to adjust a module's
- expansion chip
- mixing level. They are correspondingly enabled by the current expansion chips used.
-
-
-
- The Hardware-based mixing checkbox toggles between legacy expansion mixing, and
- hardware-based expansion mixing, whose measurements are based on the
- audio mixing survey.
-
-
- The OPLL settings box is used to modify a module's current OPLL patch set when
- VRC7 expansion audio and the "Use external OPLL" checkbox is selected. This is intended
- for modules which use an external OPLL in place of VRC7 registers, such as TNS-HFC.
-
-
- 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.
-
-
- 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.
-
-
- Back to interface · main index
-
-
-
diff --git a/hlp/shortcuts.htm b/hlp/shortcuts.htm
deleted file mode 100644
index 1bbbe640d..000000000
--- a/hlp/shortcuts.htm
+++ /dev/null
@@ -1,377 +0,0 @@
-
-
-
-
-
-
-
- Key commands
-
-
- These are the default shortcuts, some are customizable from the
- configuration window.
-
-
General
-
-
-
-
Key
-
Action
-
-
-
Alt+F4
-
Exit
-
-
-
Ctrl+N
-
Create new file
-
-
-
Ctrl+O
-
Open file
-
-
-
Ctrl+S
-
Save file
-
-
-
Ctrl+E
-
Export file
-
-
-
F1
-
Help
-
-
-
F2
-
Move focus to pattern editor
-
-
-
F3
-
Move focus to frame editor
-
-
-
Return
-
Play / stop
-
-
-
Shift+Return
-
Play and loop pattern
-
-
-
Ctrl+Return
-
Play row
-
-
-
F5
-
Play from start
-
-
-
F7
-
Play from cursor
-
-
-
F8
-
Stop
-
-
-
F2 - F9
-
Select octave 0 - 7, if no other keys are configured.
-
-
-
F12
-
Kill sound and reload sound configuration
-
-
-
Alt+F9
-
Mute channel
-
-
-
Alt+F10
-
Solo channel
-
-
-
-
Editing
-
-
-
-
Key
-
Action
-
-
-
Ctrl+X
-
Cut
-
-
-
Ctrl+C
-
Copy
-
-
-
Ctrl+V
-
Paste
-
-
-
Ctrl+B
-
Paste and overwrite
-
-
-
Ctrl+A
-
Select all
-
-
-
Ctrl+Z
-
Undo last action
-
-
-
Ctrl+Y
-
Redo last action
-
-
-
Esc
-
Deselect
-
-
-
Del
-
Delete selection / selected row
-
-
-
Home
-
Move to top of channel, row and pattern
-
-
-
Ctrl+Home
-
Move to top of pattern
-
-
-
End
-
Move to end of pattern
-
-
-
Space
-
Edit enable/disable
-
-
-
Backspace
-
Delete the row above
-
-
-
Ctrl+G
-
Interpolate
-
-
-
Ctrl+R
-
Reverse
-
-
-
Ctrl+F1
-
Transpose, decrease notes
-
-
-
Ctrl+F2
-
Transpose, increase notes
-
-
-
Ctrl+F3
-
Transpose, decrease octaves
-
-
-
Ctrl+F4
-
Transpose, decrease octaves
-
-
-
Ctrl+Right
-
Go to next frame
-
-
-
Ctrl+Left
-
Go to previous frame
-
-
-
Ctrl+D
-
Duplicate frame
-
-
-
Tab / Alt+Left
-
Go to next channel
-
-
-
Shift+Tab / Alt+Right
-
Go to previous channel
-
-
-
Alt+G
-
Go to specific frame, row, and channel
-
-
-
Numpad +
-
Increase pattern
-
-
-
Numpad -
-
Decrease pattern
-
-
-
Ctrl+K
-
Toggle bookmark
-
-
-
Ctrl+Page Up
-
Go to next bookmark
-
-
-
Ctrl+Page Down
-
Go to previous bookmark
-
-
-
Numpad 0-9
-
Select instrument 0 - 9
-
-
-
Alt+Numpad 0-9
-
Set step size, 0 - 9
-
-
-
Numpad /
-
Decrease octave
-
-
-
Numpad *
-
Increase octave
-
-
-
Ctrl+Up
-
Next instrument
-
-
-
Ctrl+Down
-
Previous instrument
-
-
-
Alt+I
-
Edit instrument
-
-
-
Home
-
Move to first column of channel, then move to first channel, then move to top left of pattern.
-
-
-
Alt+F1
-
Decrease pattern values
-
-
-
Alt+F2
-
Increase pattern values
-
-
-
Alt+F3
-
Coarse decrease pattern values
-
-
-
Alt+F4
-
Coarse increase pattern values
-
-
-
Ctrl+Home
-
Move to top of pattern.
-
-
-
End
-
Move to bottom of pattern.
-
-
-
Alt+D
-
Clone pattern
-
-
-
Alt+T
-
Mask instruments.
-
-
-
Alt+V
-
Mask Volume.
-
-
-
Alt+B
-
Select selection block start.
-
-
-
Alt+E
-
Select selection block end.
-
-
-
Ctrl+F
-
Toggle find / replace tab.
-
-
-
Ctrl+Shift+M
-
Toggle N163 multiplexing.
-
-
-
Ctrl+Shift+S
-
Toggle speed/tempo split threshold.
-
-
-
Ctrl+Shift+K
-
Secret.
-
-
-
Ctrl+Shift+R
-
Secret.
-
-
-
Ctrl+Shift+A
-
Secret.
-
-
-
Ctrl+Shift+I
-
Secret.
-
-
-
Ctrl+Shift+D
-
Secret.
-
-
-
-
Frame editor
-
-
-
-
Key
-
Action
-
-
-
Ctrl+C
-
Copy
-
-
-
Ctrl+X
-
Cut
-
-
-
Ctrl+V
-
Paste
-
-
-
Ctrl+Up
-
Move current frame up
-
-
-
Ctrl+Down
-
Move current frame down
-
-
-
Insert
-
Insert a new frame with empty pattern numbers
-
-
-
Delete
-
Delete frame / selection
-
-
-
-
- Back to interface · main index
-
-
-
diff --git a/hlp/sound.htm b/hlp/sound.htm
deleted file mode 100644
index 6d9af9f4e..000000000
--- 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.
- 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.
-
-
- To create instruments for
- these channels, select the channel with the pattern cursor and then add new
- instrument.
-
-
- 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.
-
-
-
-
- Back to main index
-
-
-
diff --git a/hlp/speed.htm b/hlp/speed.htm
deleted file mode 100644
index a6bbbbbfc..000000000
--- a/hlp/speed.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
- Engine speed
-
-
- This dialog allows a custom song refresh rate to be used, instead of the default rate (60 Hz for NTSC or 50 Hz for PAL).
-
-
-
-
-
-
- Note:
- Playback is only guaranteed to work at 60 Hz when exported to NSF,
- it's up to the user to make sure exported songs actually works when using speeds above 60 Hz.
-
- 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.
-
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.
-
-
Note: These are intended to be used with the H0y/Hxy command.
-
-
-
-
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
-
-
-
\ No newline at end of file
diff --git a/hlp/text_export.htm b/hlp/text_export.htm
deleted file mode 100644
index 6e4b9411a..000000000
--- a/hlp/text_export.htm
+++ /dev/null
@@ -1,408 +0,0 @@
-
-
-
-
-
-
-
-
-Text import and export
-
-
- This feature creates a text equivalent of a module file.
- It is intended to facilitate the creation of automated tools for
- reading or creating Dn-Famitracker data.
-
-
-
- The syntax consists of a list of commands. One command begins
- each line, followed by a series of whitespace-separated tokens
- to be consumed by that command. Blank lines are skipped.
- The import begins with a new empty document, and each command
- makes a change to the document.
-
-
-
- The format is not case-sensitive.
- Future versions may not be backwards compatible;
- save as a module instead if this is needed.
-
-
-
Commands
-
-
-
# ...
-
- A line beginning with a # command is ignored by the importer, treated as a comment.
- # must be followed by at least one whitespace character before any comments appear.
-
-
-
TITLE [title]
-
-
title: string - the document's title
-
-
-
AUTHOR [author]
-
-
title: string - the document's author
-
-
-
COPYRIGHT [copyright]
-
-
title: string - the document's copyright information
-
-
-
COMMENT [comment]
-
- This adds a line to the document comment.
- Multiple COMMENT commands will each add a new line to the comment.
-
comment string - line of text to add
-
-
-
MACHINE [machine]
-
-
machine: int[0,1] - 0 for NTSC, 1 for PAL
-
-
-
FRAMERATE [fps]
-
-
fps: int[0,800] - music framerate, 0 for machine default
- Creates a DPCM sample of the specified size in bytes.
- Use the DPCM command to fill in the sample data.
-
index: int[0,63] - index of the sample
-
size: int[0,4081] - size in bytes to allocate for the sample
-
name: string - original filename of sample
-
-
-
DPCM : [data]
-
- Fills in sample data for the sample defined by the last DPCMDEF command.
- The data list may be of any length as long as it does not exceed the allocated
- sample length. Multiple DPCM commands will resume filling the sample
- where the previous one left off.
-
- Defines a 2A03 instrument. To add DPCM sample key mappings, use the KEYDPCM command.
- Use the MACRO command to define sequences for use with 2A03 instruments.
-
index: int[0,63] - index of the instrument
-
seq_vol: int[-1,127] - volume macro sequence, -1 for none
-
seq_arp: int[-1,127] - arpeggio macro sequence, -1 for none
-
seq_pit: int[-1,127] - pitch macro sequence, -1 for none
-
seq_hpi: int[-1,127] - hi-pitch macro sequence, -1 for none
-
seq_dut: int[-1,127] - duty macro sequence, -1 for none
- Defines an FDS instrument.
- Use the commands FDSWAVE, FDSMOD, and FDSMACRO to fill in the
- waveform, modulation table, and macro data for the FDS instrument.
-
index: int[0,63] - index of the instrument
-
mod_enable: int[0,1] - 0 for modulator disabled, 1 for enabled
- Adds a DPCM sample mapping to a key in a 2A03 instrument.
- Use the INST2A03 command to define the instrument before attempting to add a key mapping.
-
inst: int[0,63] - index of the instrument
-
octave: int[0,7] - octave of key
-
note: int[0,11] - scale note of key
-
sample: int[0,63] - index of the sample to play
-
pitch: int[0,15] - pitch of the sample
-
loop: int[0,1] - 0 for no loop, 1 for loop
-
loop_point: int[0,255] - loop point of the sample (32 byte increments)
-
delta: int[-1,127] - delta counter value, -1 for off
-
-
-
FDSWAVE [inst] : [data]
-
- Defines a waveform for an FDS instrument.
- Use the INSTFDS command to define the instrument before attempting to define its waveform.
-
inst: int[0,63] - index of the instrument
-
data: int_list[0,63] - contents of the waveform, must be 64 elements long
-
-
-
FDSMOD [inst] : [data]
-
- Defines a modulator table for an FDS instrument.
- Use the INSTFDS command to define the instrument before attempting to define its mod table.
-
inst: int[0,63] - index of the instrument
-
data: int_list[0,7] - contents of the table, must be 32 elements long
- Defines a waveform for a Namco 163 instrument.
- Use the INSTN163 command to define the instrument before attempting to define its waveforms.
-
inst: int[0,63] - index of the instrument
-
wave: int[0,15] - index of the wave
-
data: int_list[0,15] - contents of the waveform, must be the same length as defined by the INSTN163 instrument
-
-
-
TRACK [pattern] [speed] [tempo] [name]
-
- Begins a new track.
-
pattern: int[0,256] - length of patterns
-
speed: int[0,255] - track speed
-
tempo: int[0,255] - track tempo
-
name: string - name of the track
-
-
-
COLUMNS : [columns]
-
- Sets the number of effect columns in each channel. This should be specified after a TRACK command, and
- before using ROW commands to fill in pattern data. If not specified, each channel will have the default
- number of effect columns (1).
-
columns: int_list[1,4] - number of effect columns for each channel,
- must be the same length as needed for the expansion chip set specified by EXPANSION
-
-
-
ORDER [frame] : [list]
-
- Sets the patterns to be played in each frame. Applies to current track.
-
frame: hex[00,7F] - index of frame
-
list: hex_list[00,7F] - pattern to use for each channel,
- must be the same length as needed for the expansion chip set specified by EXPANSION
-
-
-
PATTERN [pattern]
-
- Sets the current pattern to be filled by subsequent ROW commands.
-
pattern: hex[00,7F] - index of pattern
-
-
-
ROW [row] : [c0] : [c1] : [c2] ...
-
- Writes data to one row of the current pattern in the current track.
- After the row is specified, there is a colon character (:) before
- the row data for each channel in turn.
- Visually this should look similar the pattern editor, as if you
- were editing a frame where all pattern indices are the same
- (e.g. ORDER 00 : 00 00 00 00 00).
- The first field represents the note, the first character a letter (C,D,E,F,G,A,B)
- then
-
row: hex[00,7F] - index of pattern
-
c0...: channel data for each channel.
- The channel data looks like: nnn ii v eee
-
-
nnn: note, begins with a letter (C,D,E,F,G,A,B), then
- a sharp (#,+) natural (-,.) or flat (b,f) character,
- then an octave (0,1,2,3,4,5,6,7); an empty note
- is ..., a halt is ---, a release is ===;
- the notes for the noise channel c3 are special:
- they begin with a hex[0,F] to specify noise pitch,
- followed by two characters "-#"
-
-
ii: hex[00,3F] - instrument index, .. for none.
-
v: hex[0,F] - volume, .. for none.
-
eee: effect, begins with a letter or number specifying the effect type,
- then the last two characters are hex[00,FF] specifying the parameter value.
- There must be as many eee fields as specified by the COLUMNS command.
-
patch byte: hex[00,FF] - 8 bytes for patch ROM data
-
patch name: string - corresponding patch name
-
-
-
-
-
-
Data Types
-
-
- The following data types are used in the format:
-
-
-
-
int - decimal integer
-
hex - unsigned hexadecimal number
-
string - string of characters, if whitespace is required the string may be enclosed in quotes ("");
- if a quote (") is required, use a double quote ("") instead;
- a string may not contain a newline
-
int_list - list of whitespace-separated integers following a colon character, continues to end of line
-
hex_list - list of whitespace-separated hexadecimal numbers following a colon character, continues to end of line
The main window toolbar. The buttons are described in order:
-
-
-
-
-
-
-
-
Button
-
Description
-
-
-
New
-
New module
-
-
-
Open
-
Open a file
-
-
-
Save
-
Save current file
-
-
-
Cut
-
Cut selected pattern
-
-
-
Copy
-
Copies selected pattern
-
-
-
Paste
-
Paste into pattern
-
-
-
About
-
Display about box
-
-
-
Help
-
Help button
-
-
-
Add frame
-
Add a new frame
-
-
-
Remove frame
-
Remove selected frame
-
-
-
Move frame down
-
Move selected frame down one step
-
-
-
Move frame up
-
Move selected frame up one step
-
-
-
Duplicate frame
-
Inserts a copy of selected frame
-
-
-
Module properties
-
Open module properties dialog
-
-
-
Play
-
Play the module
-
-
-
Play pattern
-
Play and loop selected pattern
-
-
-
Stop
-
Stop player
-
-
-
Record
-
Record/normal mode
-
-
-
Previous song
-
Switch to previous song in list
-
-
-
Next song
-
Switch to next song in list
-
-
-
Setting
-
Bring up settings dialog
-
-
-
NSF export
-
Bring up export dialog
-
-
-
Octave
-
Selected octave
-
-
-
Follow mode
-
Enable/disable follow mode when playing the module (Can be
- toggled with Scroll-lock)
-
-
-
Compact view
-
Enable/disable compact channel view
-
-
-
Row highlight
-
Steps between highlighted rows
-
-
-
2nd highlight
-
Steps between second row highlight
-
-
-
-
-
- Back to interface · main index
-
-
-
diff --git a/hlp/vrc6.htm b/hlp/vrc6.htm
deleted file mode 100644
index 646ecb529..000000000
--- a/hlp/vrc6.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
-
-
-
-
- Konami VRC6
-
-
-
-
-
About
-
-
- The VRC6 chip has two square wave channels and one sawtooth wave
- channel. This chip was used in games as Akumajou Densetsu and Madara by
- Konami.
-
-
Pulse 1 and 2
-
-
- Produces pulse waves like the internal channels, but have eight different duty
- settings and lacks hardware sweep. They can also go deeper in frequency.
-
-
Sawtooth
-
-
- Generates a sawtooth wave. This channel has no duty functionalty but
- still uses that instrument setting to calculate the volume since the volume
- register is larger than 4 bits (0 - 15), one bit from the duty
- setting is used to form a 5-bit volume value. A volume level too high causes the wave to wrap around and
- will sound distorted (happens when duty = 1 and volume > 5), so the useful volume range is usually 0 - 15
- anyway.
-
-
-
Instruments
-
-
- Instruments are specific for VRC6 but behaves much like those for 2A03, except
- that 8 duty levels are available and
- has no DPCM tab.
-
-
- Back to sound hardware · main index
-
-
-
diff --git a/hlp/vrc7.htm b/hlp/vrc7.htm
deleted file mode 100644
index dcb642039..000000000
--- a/hlp/vrc7.htm
+++ /dev/null
@@ -1,324 +0,0 @@
-
-
-
-
-
-
-
-
-
- Konami VRC7
-
-
-
-
-
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.
-
-
- 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.
-
-
- 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
- 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.
-
-
-
-
-
Instruments
-
-
-
-
- Instruments contains a patch setting and the parameters for the
- custom patch (patch #0). The predefined patches (patch #1
- - #15) are defined in
- hardware and cannot be changed.
-
-
- Use copy/paste to create and read MML strings from the clipboard of the
- patch settings.
-
-
- 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.
-
-
-
-
- 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