MSX-BASIC上のファンクションキーで記号を入力するプログラム

Android版のOpenMSXとHacker’s Keyboardを組み合わせて、何とか実用的なポータブルMSX環境を構築しています。

キーボード4段
キーボード5段
ファンクションキーも使える

Android端末は、なんとver.2.3のGingerbreadをまだ使っております(2021/7現在。もちろんメイン端末ではありません^_^;)。このバージョンでも、OpenMSXの10.0.0は動きます。古いバージョンを探してきて入れ直しました。キーボードはHacker’s Keyboardを使って、ファンクションキーに対応、文字は小さく、かつ透過にすることで何とか後ろのMSXの画面が読める…状態です。

ファンクションキーで記号入力1
ファンクションキーで記号入力2

しかし、キーマップの問題で記号のキーが入れ替わっていたり、そもそも入力できなくなってしまっているものも出てしまいました。そこで、MSX-BASICでは無理矢理ファンクションキーに記号を定義することでとりあえず入力することにしました。以下がBASICプログラムです。同様の問題で困っている方がいらっしゃいましたらどうぞご自由にお使いください。

10 ‘SIGN INPUT WITH FUNCTION KEYS
100 KEY 1,”_()”:’F1
110 KEY 2,CHR$(34)+CHR$(34)+””“”:’F2
120 KEY 3,”=+-#”:’F3
130 KEY 4,”[]{}”:’F4
140 KEY 5,”run”+CHR$(13):’F5
150 KEY 6,”<>/¥|”:’F6
160 KEY 7,”load”+CHR$(34):’F7
170 KEY 8,”&%^~?!”:’F8
180 KEY 9,”:;@”:’F9
190 KEY 10,”+-*/”:’F10

AUTOEXEC.BASとしてワーキングディスクに入れてしまうなどしたら使いやすくなるかもしれませんね。

Musics

各種TrackerやMML音源ドライバほかの音楽ツールで打ち込んでtwitterに投稿した再生動画です。

戦刃アレスタ/Senxin Aleste, “Array of Sters”, TTSMS, MSX2+(WebMSX), 戦刃アレスタMML祭り

戦刃アレスタ/Senxin Aleste, “Array of Sters”, HT2, TI83+, 戦刃アレスタMML祭り

戦刃アレスタ/Senxin Aleste, “Array of Sters”, MXDRV, Win10, 戦刃アレスタMML祭り(ほぼデータコンバート)

Sorcerian Scinario2, “魔性の島(前半のみ)”, TTSMS, MSX2+(WebMSX)

Xevious, メインテーマ(OPLL音色テスト), MB

FF6, “決戦(前半のみ)”, TTSMS, MSX2+(WebMSX)

Warhawk, HT2, TI83+, YouTubeの投稿動画から目コピ

猫踏んじゃった(生演奏), SFG-05 BIOS, MSX2(YAMAHA CX7M/128)

SFG-05 プリセット音色一覧(生演奏), SFG-05 BIOS, MSX2(YAMAHA CX7M/128)

SFG-05 プリセットリズム一覧, SFG-05+FM Music Macro II, MSX2(YAMAHA CX7M/128)

悪魔城伝説/Castlevania3, “Beggining”, PSGT, MSX2(WebMSX)

悪魔城伝説/Castlevania3, “Epitaph”, PSGT, MSX2(WebMSX)

ドラキュラII/Castlevania2, “Monster Dance”, PSGT, MSX2(WebMSX)

悪魔城ドラキュラII/Castlevania2, “Last Boss”, PSGT, MSX2(WebMSX)

アーケード版悪魔城ドラキュラ/Hornted Castle, “十字架を胸に/Cross Your Hearts”, PSGT, MSX2(WebMSX)

悪魔城ドラキュラ/Castlevania, Stage clear jingle, PSGT, MSX2(WebMSX)

Ys4, “Battle #56”, PSGT, MSX2(WebMSX)

Original(Doom like phrase test), PSGT, MSX2(WebMSX)

Original(Invader like phrase test), PSGT, MSX2(WebMSX)

※略称一覧

TTSCC: Trilo Tracker PSG+OPLL版
TTSMS: Trilo Tracker DCSG+OPLL版
MB: Moonblaster
PSGT: PSG Tracker
HT2: Houston Tracker 2

Houston Tracker 2をTIグラフ計算機エミュレータTilEmで

“TIグラフ計算機”と呼ばれるTexas InstrumentsのZ80搭載機があります。いわゆる”ポケコン”のようなジャンルの携帯コンピューターなのですが、この上で動くミュージックトラッカーHouston Tracker 2(HT2)を使いたくて、たまたま手に入ったTI83+としばらく格闘していました。

しかしながら、このTIグラフ計算機、キー名を覚えるまでも一苦労で、音楽打ち込みどころではありません。また、HT2も動作し、きちんと音は出るものの、時々原因不明の暴走をするようです。(公式サイトやデータ公開している人を見るとTI82が多い印象)。

そこで安定性の向上(というかまめなデータバックアップができる)と、PCキーボードでの比較分かりやすい操作を期待して、TIグラフ計算機エミュレータの”TilEm”を使用しました。こちらのエミュレータのキーボードをカスタマイズしてPC用のミュージックトラッカー風に使おうというわけです。

結果は上々で、操作性は比較にならないほど向上しました。

以下に作成したファイルをDLできるようにしましたので興味のある方はどうぞご活用くださいませ。

※F1,F2の設定が一部抜けていたので追加してver.0.2として更新しました。

download

ht2keybind ver 0.2

PC-G8xx Emulator test

以下のポケコンエミュレータの実装テストです。

http://ver0.sakura.ne.jp/js/index.html#g800js

English translated version of “Hoja” Z80 disassembler for MSX

**Untranslated messages are changed and updated as hoja151e2 in 13/12/2020**

I translated Z80 disassembler “Hoja”, originally developed by Masaki Oba is now translated in English. This disassembler is originally developed in 1992-1993 and re-published in 2017. This disassembler is light-weighted and usuful on MSX or CP/M emulators.

screenshot of “Hoja” English version

Download from this link below. (changed some untranslated messages in hoja151e2 in 13/12/2020)

Download hoja151e2.zip

PSGTracker入門編

※本稿はもともとオリジナル版のPSGTrackerのために書かれたものですが、MSX0Stackパッチのために加筆、修正しています。

MSX0Stackで使うために

不足するキーを補うため、タッチJoyPadモードにします。画面上部の三つの〇の1番左の◯を長押しし、左下の表示が”U0+”となることを確認してください。画面の左上はESCにアサインされるため、ここをタップすると常にヘルプが表示されます。

同様にタッチパネルの右上がF5でメニュー画面表示、左下がmで現在のトラック以降最後まで再生、右下がSPC(スペース)で画面内再生となります。表示はされないので、覚えておきましょう。(最初から通しで再生するのはキーボードフェイス側のENTERキーのみになります。)

MSX0Stackはキーボードフェイスの切り替えが非常に複雑なため、基本的には切り替えキーを使わない、LEDが光らない状態で使うことを前提としてキーバインドを再設計しています(それでもいくつか例外はありますが)。意図しない状態でLEDが光っていたら切り替えキーで都度戻してから操作をつづけてください。

初期設定

PSGTrackerが起動すると、”エディタ画面”にカーソルが表示されます。

“n”キーを押すと”オプションメニュー”に移動します。

ステップ数は16、エディタ画面の範囲が4/4拍子、4小節相当です。

ここで、曲の名前を付けておきましょう。これが保存時のファイル名になります。もし、いま名前をつけられなければ、ファイルを保存する前に設定しましょう。

いまの初期段階では、これら以外のパラメータは、デフォルト値そのままにしておくことをお勧めします。

これらの初期設定が終了したら、ESCキーで”エディタ画面”に戻りましょう。

トラック

“トラック”とは1画面に10から20のステップで表示されているデータのことです。トラックは0から始まり、オプションメニューには常に表示されています。入力できるデータの長さは決まっており、16ステップ設定では159トラック、20ステップ設定では127トラックになります。

エディタ画面で”z”,”x”を押すと表示するトラックを戻したり進めたりできます。

トーンチャンネル(Ch1-3)

エディタ画面で”a”から”g”いずれかのキーを押すとC1からB7までの音階が入力できます。数字はオクターブを表し、キーボードフェースに書かれている数字に対応したアルファベットで入力します(w,e,r,s,d,f,z,x,c,0が0から9に対応します)。音階とオクターブの間に”q”キーを押すと#を挟むことで半音上げた音階を表現します(臨時記号についてはシャープのみでフラットはありません)。

“s”のキーを押すと、ノートオフが入力されます。ノートオフは非常に重要です。PSGTrackerでは、ボリュームをVAR(V16として入力)しない限り音が減衰せず、持続が鳴ります。音を止めたい時には明確にノートオフを入力してください。

※注意 PSGTrackerではボリュームや音階を一度入力し始めると、その部分が入力し終わるまでカーソルもESCもデリートも効かなくなります。入力し間違えた時は、いったんダミーの値を入れて入力を終了させてから、改めてその部分のデータを削除します。

”v”キーを押すとボリュームが入力されます。0だと音が出ず、16は減衰音指定となりますので1〜15の15段階で入力します。

音色を加工には、デチューンが指定できます。”u”キーで音程を上げる、”y”キーで下げるデチューンが入力されます。2チャンネルで同じメロディを作成し、1チャンネルにデチューンを掛けると、とても素晴らしい効果があります。

ピッチベンドも”o”キーと”i”で入力されます。前者は音程を上げる、後者は下げるピッチベンドです。どちらも変化スピードの値を1〜9で指定する必要があります。0を指定するとピッチベンドの効果をキャンセルします。メロディに効果をつける時に使えます。

ドラムパート

ノイズ(R)

PSGの仕様では、ノイズの音量はCh1,2,3いずれかのトーンチャンネルの音量と同じになります。そのためノイズは独立したチャンネルではないのですが、PSGTrackerでは擬似的なチャンネルとして扱われます。

Rのカラムでは、ノイズの音量を同じにしたいチャンネル1,2,3いずれかを入力します。トーンチャンネルで音が出ている間しかノイズも音が出せません。トーンチャンネルが減衰音(V16)で減衰した後のステップ、もしくはノートオフ(O)した後のステップのチャンネルを指定しても音は聞こえません。0を指定した場合、ノイズのみノートオフします。

ボリュームをVARにしているチャンネルを指定すると、ノイズ音も減衰し、自然な感じになります。V1からV15のチャンネルを指定すると、ノイズ音も持続し、連打しているような効果があります。

FQのカラムではノイズの周波数に対応する値を01から31までの数値で入力します。一桁の数値でははじめに0を入力する必要があります。数字が小さいほど音程は高くなります。※MSX0Stack パッチα版でもキー入れ替えが済んでおらずsym+数値のキーで入力します

30や31ではタムのような音、24くらいではスネアドラムのような音、01や02ではシンバルのようなイメージの音になります。

※注意 バスドラムやフロアタムなどはノイズで表現するのは難しいので、トーンチャンネルで低い音を出して表現する方が良いでしょう。実際に古いゲームでは、ベースパートと入り混じった感じで低いドラムの音が表現されています。

再生、停止、再開

スペースキー(SPC)で、現在表示しているトラックのみを再生します。

ENTERで、曲全体を最初から再生します。ESCで停止します。

再生開始した後ESCで停止した場合、現在編集中のトラックなど、Mを押すことで現在のトラックから再開されます。

セーブ

F5キーを押して”マスターメニュー”に移動し、j,kで選択後ENTERを押します。

既に保存されているファイル名が一覧で出た後に、ENTERで保存します。ESCを二回押して”エディタ画面”まで戻り、データの作成を続けます。

ロード

F5キーを押して”マスターメニュー”に移動し、j,kで選択後ENTERを押します。デモ曲の”IMPACT”が保存されているのでそれを選択した後、ESCを二回押して”エディタ画面”まで戻ります。スペースキー(SPC)でデータを再生します。

編集

DELキーで、その部分に入力されている命令を消します。消すといっても”スペースで上書き”をイメージしてください。

Fn+DELキーで、”その部分の命令を消して、後ろの命令を全て1つ前に移動”します(このドキュメントではトルツメと言ったりします)。

Fn+l(エル)で、その部分にスペースを挿入して、後ろの命令を全て1つ後ろに移動”します。

カーソルは、上下左右の端まで行くと”同じトラック内の反対側”から出てきます。前後のトラック移動はz, xですので、戸惑わないようにしましょう。

PSGTrackerには残念ながらループ命令がありません。1ループできたら、pでトラックをまとめてコピーしましょう。

指定するトラックの順番は”SOURCE TRACK(コピーする範囲の先頭のトラック番号)”、”TARGET TRACK(コピーしたい先の先頭のトラック番号)”、”NUMBER OF TRACKS(コピーしたい範囲のトラック数)”です。※MSX0Stack パッチα版でもキー入れ替えが済んでおらずsym+数値のキーで入力します

履歴

19/4/18 初期バージョン

19/10/11 日本語訳して加筆

26/5/12 MSX0Stackパッチに合わせて加筆修正

Super easy guide to PSGTracker

 

==Presets==

After booting PSGTracker, your cursor is in a Editor.

Push select to move to OPTION MENU.

Change steps per track from 20 to 16. It means 4/4 and basic for 4 beat music score.

Name the song you want. Set it as file name.(If you cannot name it now, set it before saving to file.)

I recommend to leave other parameters as default for the first steps.

When you finished first settings, return to Editor with ESC.

==Tracks==

“Track” means data within a single screen with 10-20 steps. Track starts from 0.
Final track number is for example 640(16 steps setting), 512(20 steps).

You can move across Tracks with Ctrl+Left/Right in the Editor.

==Melody/Bass==

===Tone Channels(Ch1-3)===

Put C1 – B7. #(a half tone increment) should be between note(alphabet) and octave(number).

Note off is very important because sound does not gain with other than “VAR” volume. Stop sound with Note off properly.

*Once you start setting note, volume or other instructions which needs more than 2 keys, all controls are disabled till finish instruction. Put dummy parameter number and then delete if you mistyped.

If you want to add tasts on a tone itself, use Detune “.” or “,”. Two melody lines which will be very melodious when a single channel set detuned.

Pitch Bend can be set with “`” or “‘” with parameter. It is useful when you want to effect on the melody.

== Drums ==

==Noises(R)==

It is not a channel but peudo-channel because it is not indipendent.
PSG noise does not have own volume register and depends on an other tone channel
Put channel number to share volume with 1,2 or 3 “while other channel makes sound”. If a channel notes of, noise does not sound if you specified channel number.
0 means note off like as in melody.

Leave SQ empty so far.

===If you want to know more===

Change Frequency and perform other than snare drum. Higher number(like 30 or 31) sounds like toms lower number(like 01 or 02) sounds like cymbals.

Select channel number which has “VAR” volume to share. It makes drums so natural.

Base/Bass drum
Like a old school games, express bass drums with very lower tone note. It sounds like as a bass guitar sounds as well but effective.

==Play,Stop and Restart==

F2 to play only current track.

Push F1 to play whole music and ESC to stop.

If you stopped playing music with ESC after F1 pushed, you can restart from current track with F3.

==Save==

Push F5 to move into MASTER MENU and push 3.

After listed files in the disk, push Enter to save.

Select it and back to Editor with ESC twice, then edit music again in the Editor.

==Load==
Push F5 to move into MASTER MENU and push 1. Demo song named “IMPACT” is there.
Select it and back to Editor with ESC twice, then play with F1.

== History ==
19/4/18 Initial version.

PSGTrackerで操作ができなくなったら

PSGTrackerは操作性にクセがあるので戸惑うことがあります。「キーが反応しなくて操作できない」と焦る前に、早い段階で読むことをオススメします

・ステップ入力の途中で、削除したり別の命令を入れようとしていませんか?音階入力やピッチベンドなど数値入力を伴う命令は数値まで入れないと削除も他のステップへの移動もできません。

・CAPS、カナ、GRAPH、CODE、DEADキーを押しませんでしたか?カーソル以外のキーのキー反応がおかしい場合はこれらのキーを押して、元の英数小文字の入力ができるモードに戻してください

・SELECTキーを押してOPTIONメニューに入りませんでしたか?OPTIONメニューからエディターに戻るまでは、再生もMASTER MENUへの切り替えもできません。SELECTを押してエディターに戻ってから、また操作してください。

・OPTIONメニューのファイル名入力途中ではありませんか?ファイル名入力後、エンターで入力を確定してください。SELECTを押してエディターに戻ってから、また操作してください。

※PSGTrackerは同人サークルFlying Bytesによって開発されたMSXのPSG音源用トラッカーです。MSX Resource Centerでフリーウェアとして配布されています。

https://www.msx.org/news/development/en/psg-tracker-freeware

Moonblaster Music File Loader2

このバッチファイルは参照用のMoonblasterの曲データをMSXArchive.nlからダウンロードし、MSXエミュレータで読み込めるようにします。MRCを対象とした前回のスクリプトと同様です。

I wrote bat file which makes download MB files from MSXArchive.nl easier as well as MSX Resource Center to load by MSX emus for reference.

Download:

http://msx.click/wp-content/uploads/2019/01/GETMANLMB.zip