|
|
|
|
|
|
|
|
|
|
|
|
NSDファイル様式 |
|
|
ヘダー部分 |
|
|
|
|
ヘダー部分 |
|
|
|
|
|
|
|
|
項目名 |
バイト数 |
|
|
|
|
|
|
256バイト |
|
ID |
3 |
NSDの固定 |
|
|
|
|
|
ファイル数 |
1 |
現在は1の固定 |
|
|
|
サウンドデータ |
|
サウンドバイト数 |
4 |
取得した3バイト単位の件数+3バイト |
|
|
(取得件数+1)*3)バイト |
|
サウンド件数 |
4 |
取得した3バイト単位の件数 |
|
|
|
|
|
DPCM件数 |
1 |
|
|
|
|
|
|
チップフラグ |
1 |
NSFのチップ情報と同じ |
|
|
|
|
|
未使用 |
2 |
|
|
|
|
|
|
未使用 |
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NSF曲名 |
32 |
NSFの曲名と同じ |
|
|
|
|
|
ポート毎の件数 |
4*16 |
矩形1,矩形2,三角波・・・・のように画面と同じ順番 |
|
DMC情報 |
|
DPCM詳細情報 |
4*32 |
周波数,開始値,アドレス,長さがDMC毎にある |
|
|
$2000バイト |
|
|
|
$4010,$4011,$4012,$4013の値が4バイト単位にある |
|
DPCM出力がある場合 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
サウンドデータ(3バイト単位) |
|
|
|
|
|
|
|
1バイト目 |
クロック情報 |
出力した時刻 |
|
|
|
|
|
|
単位は16msごとに1加算される |
|
|
|
|
|
オーバーフロー分は無視される |
|
|
|
|
|
前に値が$01で次の値が$02の場合は間隔は16ms |
|
|
|
前の値が$F0で次の値が$10の時は間隔は512ms |
|
2バイト目 |
ポート情報 |
出力したポートアドレス(下1桁) |
|
|
|
|
|
拡張音源の場合は区別がつかないので例外条件となる |
|
|
|
ポート情報の例外表 |
|
|
|
|
3バイト目 |
出力データ情報 |
出力した値 |
|
|
|
|
|
|
|
|
|
|
|
|
データの最後には最後を表す為に $FF,$FF,$FFが付加される |
|
|
|
|
|
|
|
|
|
|
|
DMC情報 |
|
|
|
|
|
|
|
|
|
$C000-DFFFまでの配置データ |
|
|
|
|
|
|
ヘダーのDPCM件数が0でない場合$2000分付加される |
|
|
|
|
|
|
|
ボート情報の例外表 |
|
|
|
ビット7がオフの場合は内部音源のポートアドレス下1桁($00であれば$4000) |
|
|
|
|
|
|
|
|
|
ビット7がオンの場合(拡張音源のポートアドレス) |
|
|
|
|
|
|
|
|
|
|
|
|
・VRC6 |
|
|
|
|
|
|
|
$90 - $9000 |
|
|
|
|
|
|
$A0 - $A000 |
|
|
|
|
|
|
$B0 - $B000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
・VRC7 |
|
|
|
|
|
|
|
$91 - $9010 |
|
|
|
|
|
|
$93 - $9030 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
・MMC5 |
|
|
|
|
|
|
|
$80 - $5000 |
|
|
|
|
|
|
$81 - $5001 |
|
|
|
|
|
|
この後も同じ形態 |
|
|
|
|
|
|
$9F - $501F |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
・N106 |
|
|
|
|
|
|
|
$C8 - $4800 |
|
|
|
|
|
|
$F8 - $F800 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
・FME7 |
|
|
|
|
|
|
$C0 - $C000 |
|
|
|
|
|
|
$E0 - $E000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|