NSFへの音源ドライバー情報の埋め込み(案)             ━━━━━━━━━━━━━━━━━━━━━ Include the information of sound driver to NSF (Proposal) --------------------------------------------------------- * This document is written by Shift-JIS.  改訂履歴(Revision) ━━━━━━━━━━━━━━━━ May. 7, 2013 案(Proposal) Written by S.W. May. 8, 2013 案(Proposal) Proposal by @bkc_alf Written by S.W. May. 9, 2013 案(Proposal) Written by S.W. : Write english. May.11, 2013 案(Proposal) Written by S.W. : Addition FamiTracker NSF Driver  利点(merit) ━━━━━━━━━━━━━━━━ ・NSF Player can detect sound driver name. (some programmer of NSF Player want to detect the name of sound driver for chiptune.)  各種NSFプレイヤーが、音源ドライバーを判別できるようになる。 (古い音源ドライバーのバグ補正機能が実装されているNSFプレイヤーの作者からの要望でもある。) (バグ補正機能を働かせるか否かの判定のためにも必要。) ・Assertion that this NSF is original easily.(Is not ripped data)  NSFが自作のオリジナルである(抜き出しでない)ことを簡易的に主張できる。 ・If occur BUG, We can get information of version number for Debug.  バグが発生した際に、デバッグ用の情報として、使われたドライバーのヴァージョン番号が解る。  ファイル構造(File Struct) ━━━━━━━━━━━━━━━━ __________________________ 0000h | | NSF Header (128byte) 007Fh |_________________________ 0080h | | Sound Driver information | ( 8byte in 6502 memory area ) 0087h |_________________________ 0088h | | CODE and DATA | . . .  音源ドライバー情報の構造(Struct of sound driver information) ━━━━━━━━━━━━━━━━ Offset Size Contents ------------------------ 0000h 6byte ASCII Strings of sound driver (software) name.(音源ドライバー名) 0006h 1byte Version integral number (バージョン整数部) 0007h 1byte Version decimal number (バージョン小数部)  音源ドライバー名一覧(List of sound driver) ━━━━━━━━━━━━━━━━ ------------------------ Name : URL : ASCII : Binary : ------------------------ Name : URL : ASCII : Binary : ------------------------ Name : FamiTracker NSF Driver URL : http://www.famitracker.com ASCII : "FTDRV " Binary : 46 54 44 52 56 20 ------------------------ Name : NES Sound Driver & Library (nsd.lib) URL : http://shaw.la.coocan.jp/nsdl/ ASCII : "NSDL " Binary : 4E 53 44 4C 20 20 ... (LSR $4453 / JMP $2020) ------------------------ Name : Development code (for no-bug sound driver) ASCII : " " Binary : 20 20 20 20 20 20 ... (JSR $2020 / JSR $2020) ------------------------ Name : Unknown sound driver (include ripped data, and old sound driver) ASCII : "??????" (other) Binary : ?? ?? ?? ?? ?? ?? (other) ------------------------------------------------ NSFプレイヤーに、古い音源ドライバーの為のバグ補正機能を実装する場合は、 何れの音源ドライバーにも該当しなかった場合に古い音源ドライバーと判定し、 バグ補正機能を有効とすることを推奨する。 これは、バグ補正機能が他の音源ドライバーに影響を与えるため。 Old chiptune sound driver have some bugs. Some NSF Player adjust this bug of old chiptune sound driver. But, It adjuster affect the new sound driver without bug. Therefore, this information is need now. NSF Player detect the sound driver name. If sound driver have not bug, then adjuster is disable. If sound driver is unknown (old sound driver), then adjuster is enable.  補足(supplementation) ━━━━━━━━━━━━━━━━ 以下のNSF Playerは、この情報を検出します。 The following NSF Player detect this information. ・TNS-HFC4 next firmware