Skip to content

Commit

Permalink
Merge pull request #19 from Shaw02/develop
Browse files Browse the repository at this point in the history
to release version 1.30
  • Loading branch information
Shaw02 authored Dec 29, 2020
2 parents 1db2829 + f15338a commit 725c66b
Show file tree
Hide file tree
Showing 86 changed files with 3,815 additions and 628 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
*.bak
*.lib
*.bin
*.nsf
*.nes
*.exe
*.chm

Expand All @@ -26,6 +28,7 @@ _old/
*.o
*.map
*.lst
*.dbg
*log.txt


Expand Down
20 changes: 10 additions & 10 deletions include/makefile.mk
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
#; LOG files
########################################

LOG_FILE = comlog.txt #各コマンドの標準出力先です。
ERRLOG_FILE = errlog.txt #各コマンドのエラー出力先です。
BLDLOG_FILE = buildlog.txt #make.exeの出力先です。
LOG_FILE = comlog.txt #各コマンドの標準出力先です。
ERRLOG_FILE = errlog.txt #各コマンドのエラー出力先です。
BLDLOG_FILE = buildlog.txt #make.exeの出力先です。



Expand All @@ -31,12 +31,12 @@ MCFLAGS = -a -e
#---------------
#; C Compiler
CC = $(TOOL_PASS)cl65
CFLAGS = -t none -I$(INC_PASS) --listing $*.lst --list-bytes 255 -c -o
CFLAGS = -t none -I$(INC_PASS) --listing $*.lst --list-bytes 255 -g -c -o

#---------------
#; Assembler
AS = $(TOOL_PASS)ca65
ASFLAGS = -t none -I$(INC_PASS) --listing $*.lst --list-bytes 255
ASFLAGS = -t none -I$(INC_PASS) --listing $*.lst --list-bytes 255 -g

#---------------
#; Archiver
Expand All @@ -46,7 +46,7 @@ ARFLAGS = a
#---------------
#; Linker
LINKER = $(TOOL_PASS)ld65
LDFLAGS = -C $(CFG_FILE) -L$(LIB_PASS) -v -m $(MAP_FILE) -vm -o
LDFLAGS = -C $(CFG_FILE) -L$(LIB_PASS) -v -m $(MAP_FILE) -vm --dbgfile $(DBG_FILE) -o

#---------------
#; File delete
Expand All @@ -59,19 +59,19 @@ CP = copy


#===============================
#; 依存関係(ヘッダーファイル等を、依存関係に追加するために、定義)
#; 依存関係(ヘッダーファイル等を、依存関係に追加するために、定義)

%.o : %.s $(INC_FILES) #;".inc"ファイルが更新された場合は、.sは、全部アセンブルする。
%.o : %.s $(INC_FILES) #;".inc"ファイルが更新された場合は、.sは、全部アセンブルする。
@echo [Assemble] : $< >>$(ERRLOG_FILE)
$(AS) $(ASFLAGS) $< 1>>$(LOG_FILE) 2>>$(ERRLOG_FILE)


%.o : %.c $(H_FILES) #;".h"ファイルが更新された場合は、.cは、全部コンパイルする。
%.o : %.c $(H_FILES) #;".h"ファイルが更新された場合は、.cは、全部コンパイルする。
@echo [Compile] : $< >>$(ERRLOG_FILE)
$(CC) $(CFLAGS) $*.o $< 1>>$(LOG_FILE) 2>>$(ERRLOG_FILE)


%.s : %.mml $(DMC_FILES) #;".dmc"ファイルが更新された場合は、.mmlは、全部コンパイルする。
%.s : %.mml $(DMC_FILES) #;".dmc"ファイルが更新された場合は、.mmlは、全部コンパイルする。
@echo ======================================================== >>$(LOG_FILE)
@echo [Compile] : $< >>$(LOG_FILE)
@echo ======================================================== >>$(LOG_FILE)
Expand Down
Binary file removed sample/Ropchiptune/ROPdemosong.nsf
Binary file not shown.
Binary file removed sample/Yumipico/original_v3.nsf
Binary file not shown.
4 changes: 2 additions & 2 deletions sample/beeoboy/famicorn-kid.mml
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ $bass..main2 { $bass3-1 $bass3-1 $bass3-1 }

/* vol */ E(40) {10 9 6 3 L 0}

$TriArp = {@N0,0 @0 s60 l16 Ev40 o6}
$TriArp {@N0,0 @0 s60 l16 Ev40 o6}

$arpegio_1 { rreg >ce<re g>cec drgr< }
$arpegio_2 { r>ec<r agrr rrrr rrrr }
Expand All @@ -332,7 +332,7 @@ $arp..main2 { $arps2 $arps2 $arps1 $arps1 }
/* vol */ E(50) { 11 10 9 8 7 6 5 L 0 }
/* note */ E(51) { 0 5 10 15 20 25 L 30 }

$Bubble = {@N0,0 @0 s60 l16 Ev50 En51 o3}
$Bubble {@N0,0 @0 s60 l16 Ev50 En51 o3}

$bubble_rhythm { rrrr rr(((b)))b rrrr rrrr}

Expand Down
Binary file removed sample/beeoboy/famicorn-kid.nsf
Binary file not shown.
1 change: 1 addition & 0 deletions sample/ca65/MAKEFILE
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ MAIN_PROJ = test.nes
#; �����J�[�̐ݒ�
CFG_FILE = nesa.cfg
MAP_FILE = test.map
DBG_FILE = test.dbg

#---------------
#; �\�[�X�t�@�C��
Expand Down
Binary file removed sample/ca65/test.nes
Binary file not shown.
1 change: 1 addition & 0 deletions sample/cc65/MAKEFILE
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ MAIN_PROJ = test.nes
#; �����J�[�̐ݒ�
CFG_FILE = nesc.cfg
MAP_FILE = test.map
DBG_FILE = test.dbg

#---------------
#; �\�[�X�t�@�C��
Expand Down
Binary file removed sample/cc65/test.nes
Binary file not shown.
Binary file removed sample/sw/4.nsf
Binary file not shown.
Binary file removed sample/sw/Bach_BWV578.nsf
Binary file not shown.
Binary file removed sample/sw/Chopin_op66.nsf
Binary file not shown.
Binary file removed sample/sw/DrumPatch.nsf
Binary file not shown.
Binary file removed sample/sw/Mozart_Kv618.nsf
Binary file not shown.
Binary file removed sample/sw/Rest_Mode.nsf
Binary file not shown.
Binary file removed sample/かえるの合唱/かえるの合唱.nsf
Binary file not shown.
9 changes: 9 additions & 0 deletions src/_clean.bat
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@

SET PATH_BACK=%PATH%

rem --- nsd.lib ---
cd nsd
call _clean
cd..

rem --- nsc64.exe ---
cd nsc64\
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
MSBuild -t:Clean -p:Configuration=Release;Platform="x64"
cd..
SET PATH=%PATH_BACK%

rem --- rom.bin ---
cd rom
call _clean
Expand Down
13 changes: 12 additions & 1 deletion src/_make.bat
Original file line number Diff line number Diff line change
@@ -1,22 +1,33 @@


SET PATH_BACK=%PATH%

rem --- nsd.lib ---
cd nsd
call _make
copy *.lib ..\..\lib\
cd..

rem --- nsc.exe ---
rem call "C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"
cd nsc
rem devenv nsc.sln /build Release
cd release
copy *.exe ..\..\..\bin\
cd..
cd..
SET PATH=%PATH_BACK%

cd nsc64\x64\Release
rem --- nsc64.exe ---
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
cd nsc64\
MSBuild -t:Build -p:Configuration=Release;Platform="x64"
cd x64\Release
copy *.exe ..\..\..\..\bin\
cd..
cd..
cd..
SET PATH=%PATH_BACK%

rem --- rom.bin ---
cd rom
Expand Down
8 changes: 8 additions & 0 deletions src/help/jmml.html
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@
<tr><td>曲名 "<var>曲名</var>" </td><td>タイトル名を設定します。</td></tr>
<tr><td>作曲 "<var>作曲者</var>" </td><td>作曲者を設定します。</td></tr>
<tr><td>作者 "<var>作者</var>" </td><td>著作権者を設定します。</td></tr>
<tr><td>製作者 "<var>製作者</var>" </td><td>製作者を設定します(NSF2, NSFe)。</td></tr>
<tr><td>テキスト "<var>テキスト</var>" </td><td>テキストを設定します(NSF2, NSFe)。</td></tr>
<tr><td>音楽順番 {<var>順番</var>} </td><td>BGMの演奏順番を設定します(NSF2, NSFe)。</td></tr>
<tr><td>効果音順番 {<var>順番</var>} </td><td>SE の演奏順番を設定します(NSF2, NSFe)。</td></tr>
<tr><td>コード "<var>コード名</var>" </td><td>リンクするNSF用のROMコードを指定します。(Default: <var>name</var> = `nsd.bin')</td></tr>
<tr><td>読む "<var>ファイル名</var>" </td><td>外部ファイルを呼び込みます。</td></tr>
<tr><td>音楽数 <var>n</var> </td><td>BGMの曲数を設定します。(Default: <var>n</var> = 1)</td></tr>
Expand Down Expand Up @@ -83,6 +87,10 @@

<table>
<tr><th>ストトン表記 </th><th>同等のMML表記</th><th>内容</th></tr>
<tr><td>曲名 "<var>曲名</var>" </td><td>#label "<var>strings</var>" </td><td>曲名を設定します。 </td></tr>
<tr><td>作曲 "<var>作曲者</var>" </td><td>#author "<var>strings</var>" </td><td>作曲者を設定します。 </td></tr>
<tr><td>時間 <var>n</var> </td><td>#time <var>n</var> </td><td>演奏時間をmsec単位で設定します。 </td></tr>
<tr><td>フェードアウト <var>n</var> </td><td>#fade <var>n</var> </td><td>フェードアウト時間をmsec単位で設定します。 </td></tr>
<tr><td><a href="jmml_note.html"></a></td><td><a href="mml_note.html">a</a></td><td>音符 (A, La, ラ)</td></tr>
<tr><td><a href="jmml_note.html"></a></td><td><a href="mml_note.html">b</a></td><td>音符 (B, Si, シ)</td></tr>
<tr><td><a href="jmml_note.html"></a></td><td><a href="mml_note.html">c</a></td><td>音符 (C, Do, ド)</td></tr>
Expand Down
132 changes: 116 additions & 16 deletions src/help/mml.html
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@
<tr><td>#bgm <var>n</var> </td><td>1</td><td>BGM(曲)の数を設定します。</td></tr>
<tr><td>#se <var>n</var> </td><td>0</td><td>SE(効果音)の数を設定します。</td></tr>
<tr><td>#priority <var>n</var> </td><td>0</td><td>以降のSE(効果音)の優先度を設定します。<br>
SE(効果音)を再生開始した時、既に優先度が高いSE(効果音)が再生中であった場合は、再生しません。<br>
 (0 : 優先度高 ~ 3:優先度低)</td></tr>
SE(効果音)を再生開始した時、既に優先度が高いSE(効果音)が再生中であった場合は、再生しません。<br>
 (0 : 優先度高 ~ 3:優先度低)</td></tr>
<tr><td>#timebase <var>n</var> </td><td>24</td><td>以降のシーケンス記述ブロック(BGM, SE, Sub)の4分音符の分解能を設定します。<br>
何度でも指定可能であり、各シーケンス記述ブロック毎に設定することもできます。<br>
音符、休符において、この数値<var>n</var>の4倍の値を割り切ることが可能なm分音符を使用することができます。<br>
Expand Down Expand Up @@ -83,10 +83,10 @@
<tr><td>#offsetEm <var>n</var> </td><td>0</td><td>シーケンス記述ブロック内にて、<a href="mml_envelop.html">Emコマンド</a>の引数を指定数値だけずらします。</td></tr>
<tr><td>#offsetEn <var>n</var> </td><td>0</td><td>シーケンス記述ブロック内にて、<a href="mml_envelop.html">Enコマンド</a>の引数を指定数値だけずらします。</td></tr>
<tr><td>#offsetPCM <var>address</var> </td><td>$10000<br>(⊿PCM無し)</td><td>⊿PCMを配置するアドレスを指定します。<br>
シーケンスデータはこのコマンドで指定したアドレス-1の領域まで使えます。<br>
NSF music formatを出力する場合は、このアドレスよりΔPCMの実体が配置されます。<br>
アセンブリ言語ソースを出力する場合は、リンカー"ld65.exe"のコンフィグファイルにて、
"#segmentPCM"コマンドで指定したセグメントの配置アドレスと、同じアドレスに設定して下さい。</td></tr>
シーケンスデータはこのコマンドで指定したアドレス-1の領域まで使えます。<br>
NSF music formatを出力する場合は、このアドレスよりΔPCMの実体が配置されます。<br>
アセンブリ言語ソースを出力する場合は、リンカー"ld65.exe"のコンフィグファイルにて、
"#segmentPCM"コマンドで指定したセグメントの配置アドレスと、同じアドレスに設定して下さい。</td></tr>
<tr><td>BGM(<var>n</var>){<br> <var>Sequence data</var><br>} </td>
<td>-</td>
<td><var>n</var>番目のBGMのシーケンスの記述ブロックです。<br>
Expand Down Expand Up @@ -145,20 +145,120 @@

<p>
NSF music format用の設定コマンドです。<br>
多くのコマンドは、NSFへビルドする際に、NSFヘッダーに設定されます<br>
NSFヘッダー、またはメタデータに設定されます<br>
</p>

<table>
<caption>コマンド一覧</caption>
<tr><th>Command</th><th>Default</th><th>Contens</th></tr>
<tr><td>#title "<var>strings</var>" </td><td></td><td>タイトル名を設定します。NSFビルド時にヘッダーに埋め込まれます。</td></tr>
<tr><td>#composer "<var>strings</var>" </td><td></td><td>作曲者を設定します。NSFビルド時にヘッダーに埋め込まれます。</td></tr>
<tr><td>#copyright "<var>strings</var>" </td><td></td><td>著作権者を設定します。NSFビルド時にヘッダーに埋め込まれます。</td></tr>
<tr><td>#code "<var>name</var>" </td><td>nsd.bin</td><td>リンクするNSF用のROMコードを指定します。<br>
<a href="nsc_option.html">コンパイルオプション</a>`-l'でROMコードの指定がある場合は、コンパイルオプションを優先します。<br>
各ROMコードの詳細は、<a href="spec.html">各.lib/.binの仕様</a>を参照ねがいます。</td></tr>
<tr><td>#External <var>n</var> </td><td>各.binによる</td><td>NSFのヘッダーに設定する拡張音源フラグを、この値に書き換えます(初期値は各.binで異なります)。<br></td></tr>
<tr><td>#Bank </td><td>-</td><td>⊿PCMのバンク切り替えに対応した.bin(nsd_all.bin, nsd_all2.bin)をリンクする場合に、各コマンドを記述する前に必ず指定してください。<br></td></tr>
<tr><th>Command</th>
<th>Default</th>
<th>NSF</th>
<th>NSFe</th>
<th>Contens</th>
</tr>
<tr><td>#title "<var>strings</var>" </td>
<td> </td>
<td>1 </td>
<td>v </td>
<td>タイトル名を設定します。<br>
NSFではヘッダーに埋め込まれ、NSFeではメタデータを生成します。<br>
また、NSF2で、且つ、32文字を超える場合、メタデータを生成します。</td>
</tr>
<tr><td>#composer "<var>strings</var>" </td>
<td> </td>
<td>1 </td>
<td>v </td>
<td>作曲者を設定します。<br>
NSFではヘッダーに埋め込まれ、NSFeではメタデータを生成します。<br>
また、NSF2で、且つ、32文字を超える場合、メタデータを生成します。</td>
</tr>
<tr><td>#copyright "<var>strings</var>" </td>
<td> </td>
<td>1 </td>
<td>v </td>
<td>著作権者を設定します。<br>
NSFではヘッダーに埋め込まれ、NSFeではメタデータを生成します。<br>
また、NSF2で、且つ、32文字を超える場合、メタデータを生成します。</td>
</tr>
<tr><td>#maker "<var>strings</var>" </td>
<td> </td>
<td>2 </td>
<td>v </td>
<td>製作者を設定します。<br>
NSF2, NSFe共にメタデータを生成します。NSF1では未対応です。</td>
</tr>
<tr><td>#text "<var>strings</var>" </td>
<td> </td>
<td>2 </td>
<td>v </td>
<td>テキストを設定します。<br>
NSF2, NSFe共にメタデータを生成します。NSF1では未対応です。</td>
</tr>
<tr><td>#plst {<var>list</var>} </td>
<td> </td>
<td>2 </td>
<td>v </td>
<td>BGMの演奏順番を指定します。<br>
演奏する順番にBGM番号を0~255で指定し、番号と番号の間はスペース、TAB、もしくはカンマで区切ってください。<br>
NSF2, NSFe共にメタデータを生成します。NSF1では未対応です。</td>
</tr>
<tr><td>#psfx {<var>list</var>} </td>
<td> </td>
<td>2 </td>
<td>v </td>
<td>SEの演奏順番を指定します。<br>
演奏する順番にBGM番号を0~255で指定し、番号と番号の間はスペース、TAB、もしくはカンマで区切ってください。<br>
NSF2, NSFe共にメタデータを生成します。NSF1では未対応です。</td>
</tr>
<tr><td>#mixe {<br>
<var>id</var> = <var>volume</var>,<br>
<var>id</var> = <var>volume</var><br>
}</td>
<td> </td>
<td>2 </td>
<td>v </td>
<td>各拡張音源の音量バランスを指定します。<br>
NSF2, NSFe共にメタデータを生成します。NSF1では未対応です。<br>
<var>id</var>は、音源タイプを指定します(DefaultはNSFeの仕様で標準化された規格です)。<br>
 APU1 : Squares - Default: 0<br>
 APU2 : Triangle / Noise / DPCM - Comparison: Triangle - Default: -20<br>
 VRC6 : Default: 0<br>
 VRC7 : Comparison: Pseudo-square - Default: 1100<br>
 FDS : Default: 700<br>
 MMC5 : Default: 0<br>
 N163 : Comparison: 1-Channel mode - Default: 1100 or 1900<br>
 SN5B : Comparison: Volume 12 ($C) - Default: -130<br>
<var>volume</var>は音量を、-32768~32767で指定します(単位;1/100dB)。</td>
</tr>
<tr><td>#code "<var>name</var>" </td>
<td>nsd.bin</td>
<td>1 </td>
<td>v </td>
<td>リンクするNSF用のROMコードを指定します。<br>
<a href="nsc_option.html">コンパイルオプション</a>`-l'でROMコードの指定がある場合は、コンパイルオプションを優先します。<br>
各ROMコードの詳細は、<a href="spec.html">各.lib/.binの仕様</a>を参照ねがいます。<br>
NSFe作成時は、各.binの設定を元に、NSFeのメタデータを生成します。</td>
</tr>
<tr><td>#External <var>n</var> </td>
<td>各.binによる</td>
<td>1 </td>
<td>v </td>
<td>NSFのヘッダーに設定する拡張音源フラグを、この値に書き換えます(初期値は各.binで異なります)。<br></td>
</tr>
<tr><td>#VRC7 <var>n</var> </td>
<td>0 </td>
<td>2 </td>
<td>v </td>
<td>VRC7の換装を設定します(NSFプレイヤーが対応している場合、VRC7がOPLLの音色に切り替わります。)。<br>
 0 - VRC7<br>
 1 - YM2413 (`nsd_opll.bin'を使用する場合、こちらを指定してください)</td>
</tr>
<tr><td>#Bank </td>
<td>非指定 </td>
<td>1 </td>
<td>v </td>
<td>⊿PCMのバンク切り替えに対応した.bin(nsd_all.bin, nsd_all2.bin)をリンクする場合に、各コマンドを記述する前に必ず指定してください。<br></td>
</tr>
</table>
<br>
</div>
Expand Down
22 changes: 21 additions & 1 deletion src/help/mml_sequence.html
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,29 @@ <h4>sequence</h4>

<table>
<tr><th>Command</th><th>Default</th><th>Type</th><th>Contens</th></tr>
<tr><td>#priority <var>n</var> </td><td>0 (#priority)</td><td>-</td><td>このシーケンス(SE)記述ブロック個別に優先度を設定します。(Default: <var>n</var> = 0)<br>
<tr><td>#priority <var>n</var> </td><td>0 (#priority)</td><td>-</td><td>このシーケンス(SE)記述ブロック個別に優先度を設定します。<br>
 (0 : 優先度高 ~ 3:優先度低)<br>
(効果音の記述ブロックにのみ有効です。)</td></tr>
<tr><td>#label "<var>strings</var>" </td><td>- </td><td>-</td>
<td>このシーケンス記述ブロック個別の曲名を設定します。<br>
NSF2, NSFe共にメタデータ"#tlbl"を生成します。NSF1では未対応です。</td>
</tr>
<tr><td>#author "<var>strings</var>" </td><td>- </td><td>-</td>
<td>このシーケンス記述ブロック個別の作曲者を設定します。<br>
NSF2, NSFe共にメタデータ"#taut"を生成します。NSF1では未対応です。</td>
</tr>
<tr><td>#time <var>n</var> </td><td>-1 </td><td>-</td>
<td>このシーケンス記述ブロック個別の演奏時間をmsec単位で設定します。<br>
0未満は、NSFプレイヤーのデフォルトの演奏時間となります。<br>
0は、直ちにフェードアウトが始まることを意味します。<br>
NSF2, NSFe共にメタデータ"#time"を生成します。NSF1では未対応です。</td>
</tr>
<tr><td>#fade <var>n</var> </td><td>-1 </td><td>-</td>
<td>このシーケンス記述ブロック個別のフェードアウト時間をmsec単位で設定します。<br>
0未満は、NSFプレイヤーのデフォルトのフェードアウト時間となります。<br>
0は、フェードアウトしない事を意味します。<br>
NSF2, NSFe共にメタデータ"#fade"を生成します。NSF1では未対応です。</td>
</tr>
<tr><td><a href="mml_note.html">a</a></td><td>-</td><td>-</td><td>音符 (A, La, ラ)</td></tr>
<tr><td><a href="mml_note.html">b</a></td><td>-</td><td>-</td><td>音符 (B, Si, シ)</td></tr>
<tr><td><a href="mml_note.html">c</a></td><td>-</td><td>-</td><td>音符 (C, Do, ド)</td></tr>
Expand Down
Loading

0 comments on commit 725c66b

Please sign in to comment.