Monday, December 5, 2016

How to install MuSICA

MuSICA How to install

**Caution** I cannot try and explain all over the MSX environment nowadays.If you cannot run MuSICA, try and resolve problems by yourself. I'll add any farther information when I got though.

For real MSX user

Prerequistite:
SCC
 snatcher/SD snatcher,Ese-SCC
**I think, any other SCC clones  also work but need farther research.

FM
FM-PAC, built-in FM chip loaded after  MSX2+ or Turbo R.
**MSX audio or Yamaha's FM cartridge is not available.

RAM
MSX2 and 64k memory. All models of  MSX2+ or Turbo R loads more than 64k ram due MSX2+ and MSX turbo R specification.
**To tell the truth, MuSICA runs on MSX1 as well, but tricky modification is required. I'll report that in the future.

DiskBasic
**To tell the truth, MuSICA might be loaded via recorder, but needs some binary patch. I'm researching and developing now.

Download dsk image and write into real floppy disk media.


or...

Download archive and uncompress related files, then write into formatted floppy disk



For MSX emulator user (Windows / Mac and any other devices)

Prerequisite:
MSX emulators supported FM sounds, SCC, diskdrive, MSX2 or MSX2+ or MSX turbo R loaded more than 64k ram.
Keyboards which can input ESC, F3, F5, #, =, @, A-Z, 0-9. These keys are minimum (and stressful when you limit keys), if you use MuSICA totally, full keys support are recommended.
Some emulators on mobile devices omit full keyboard support, so check these keys before you try MuSICA.
I don't explain how to set up here, please refer manual of each emulators.

**I'll report Emulator solutions on mobile devices in the future.

Download archive and unzip dsk image and load from emulators as drive A.


or...

Download archive and uncompress related files, then load directory as a dsk image.



For Windows PC user

Download and install. Not so difficult.
**Interfaces are so different from MuSICA, so please refer helps of this application when you try on this.

http://www.nerlaska.com/msx/musica.html


Saturday, December 3, 2016

MSX MuSICA Beginners Report is Started!

Hello guys! Do you enjoy MSX life still now?

I report MSX MuSica on this blog as a beginner.


What is MuSICA??


MuSICA is a music sound driver and editor integrated environment and
released by ASCII Co. in 1990.

*Unfortunatelly, article of MuSICA does not exist on Wikipedia. (I'll edit in the future)

First released only for japanese environment and integrated into some games or 
construction tools.

PC clone is released in 2008 by nerlaska studio.
This tool  works on BlueMSX core and play sounds as well as real MSX console.

You can download from nerlaska studio.


Unofficial port also exists.These version shows english messages on it.



Some other upper compatible driveres are released,
for example, Kinrou 5-gou(translation: Woker No.5) and some more.
I still researching such softwares and report later.


Is MuSICA valuable still now?

Ofcource, definitly YES.
It plays all of popular (de facto ftandard) sound chips of MSX,
PSG, FM and SCC totally.

I know, europian power MSX user unsutisfied without MoonSound
or MSX Audio, but I think, these 3 sound chips is de facto standard
and many people can access. It is very important, I think.

Formatting of MuSICA is .MSD and these files are still available
on the Net. Is it so exciting like sulvaging treasures?

There are many ways of enjoying with MuSICA.

Who am I?

I'm Kumo japanese IT engineer and programmer. 
I played and learned piano (as a hobby) some decades ago and
only understand music notes and playing music instruments.
Ofcource I'm MSX user (still now in 21st century) and write
some programs on it, though.

I'll report how we enjoy music on MSX with MuSICA.

Please wait next report.
See you.



Friday, September 9, 2016

The weakest MSX ever, Casio PV-7 & Expansion unit KB-7.

This MSX was released only in Japan, and had only 8k memory init.

8k memory is not sutisfied MSX specification.

<img class="alignnone size-full wp-image-17" src="http://msx.fool.jp/wp-content/uploads/2016/08/ceehacrwqaea-9q.jpg" alt="CeeHACrWQAEA-9q" width="600" height="450" />

&nbsp;

<!--more-->

PV-7 in this picture is docked on KB-7 expantion unit, and has 3 cartridge slots.

PCB is so simple that you can trace electric circuit. You can find this is literally the simplest MSX, if you read PCB reffering to MSX document.

<img class="alignnone size-full wp-image-17" src="http://msx.fool.jp/wp-content/uploads/2016/08/ceehacrwqairnrw.jpg" alt="CeeHACrWQAEA-9q" width="600" height="450" />
<img class="alignnone size-full wp-image-17" src="http://msx.fool.jp/wp-content/uploads/2016/08/ceehacsxeaaukcc.jpg" alt="CeeHACrWQAEA-9q" width="600" height="450" />

&nbsp;

Sunday, August 14, 2016

openMSX設定:kbd_trace_key_presses

kbd_trace_key_presses


ホストキーボードで押されたキーの、それぞれのSDLキーコード、SDLモディファイアー、Unicodeの値を標準エラー出力のログに記録します。また、コンソールのtypeコマンドでMSX側にペーストされたunicodeとそれに対応する文字コードも表示します。この設定はunicodeキーマップを定義する時に特に便利です。そのため、ある特定のキーや文字がどのunicodeに対応しているか見つけ出すことができます。

使用例:
set kbd_trace_key_presses現在の設定を表示します。
set kbd_trace_key_presses on押されたキーのログ記録をオンにします。

Tuesday, August 9, 2016

openMSXコマンド:escape_grab


escape_grab

grabinput設定が有効な時、Windowモードでのみ有効になります。一時的に入力grabを解除します。openMSXのウィンドウがフォーカスを失い、再度フォーカスされた時、grabは再度有効になります。

使用例:
escape_grab一時的に入力grabを解除します。

openMSXコマンド:diskmanipulator

diskmanipulator

ディスクイメージ(に保存してあるファイル)を扱うコマンド群です。

これは、いろいろと違う用途に使えるので、diskmanipulatorの使い方、として個別の解説を用意しました[訳注:未訳]。

Sunday, August 7, 2016

openMSXコマンド:cycle / cycle_back

cycle / cycle_back

設定値

列挙された設定値を繰り返します。cycle_backはcycleと同じですが、逆順になります。

使用法:
cycle <setting>
特定の設定をcycleの次の値に変更します。
cycle_back <setting>特定の設定をcycleの次の値に変更します。
使用例:
cycle scale_algorithm
cycle videosource

openMSXコマンド:cd<x>

cd<x>


CDROMイメージを交換します。cda, cdbなどのコマンドはMSXの使用可能なCDROMドライブが割り当てられます。これらはMSX-DOSのドライブ名とは対応しません。

使用法:

cda <iso image>CDROM に"cda"ドライブのISOイメージを使用します。
cda insert <iso image>CDROM に"cda"ドライブのISOイメージを使用します。
cda ejectCDROM ドライブの"cda"からイメージを取り出します。
cda
CDROM ドライブの"cda"の現在のISOイメージを表示します。

openMSXコマンド:cart

cart

ROMカートリッジを実行中のMSXに挿入します。cartコマンドは最初に使用可能なスロットに挿入します。carta、cartbなどのコマンドは特定のスロットに挿入します。ejectサブコマンドで、カートリッジは再び削除されます。

ROMカートリッジは、エクステンションの特殊クラスです。ROMカートリッジでないエクステンションについては、ext、list_extensions、remove_extensionのコマンドを参照してください。

使用法:
cart KMARE.ROMROMカートリッジを最初の空きスロットに挿入します。
cart insert KMARE.ROMROMカートリッジを最初の空きスロットに挿入します。
carta USAS.ROM -ips USAS.IPSIPSパッチを適用した上でROMカートリッジをスロットAに挿入する。
cartb NEMESIS.ROM -romtype KonamiROMカートリッジをスロットBに挿入し、(通常は自動判定される)マッパーを明示的に指定する。
carta ejectスロットAから現在挿入されているカートリッジを取り外す。

Saturday, August 6, 2016

openMSXコマンド:bind / unbind / bind_default / unbind_default /activate_input_layer / deactivate_input_layer

bind / unbind / bind_default / unbind_default / activate_input_layer / deactivate_input_layer

(キーを押す、などの)イベントをコマンドと関連付けます。(なる特定のキーを押すなど)イベントを指定すると常に対応するコマンドが実行されます。単体のTclコマンドや;で区切られた一連のコマンドが(通常のTclの書式で)使用できます。キーバインドをカスタマイズするにはbind/unbindを使用してください。機能的に必要なデフォルトのキーバインドを提供するにはbind_defaultを使います。これは、異なった設定をデフォルトで上書きします。イベントが繰り返すとわかっている場合(キーを押し続けた時のキーイベントなど)は-repeatオプションをつかうことで、コマンドが同様の繰り返しをします。

全体のキーバインドのセットを必要とするTclスクリプトやある条件下でのみこれらを有効化するキーバインドはinput layerシステムが使えます。これは特定のレイヤーとのキーバインド設定を可能にし、その後特定のレイヤーを有効化、無効化します。このようなレイヤーはブロックモードで有効化することもできます。ブロックモードとはレイヤーがある特定のイベントととのキーバインドを持たない場合でも、そのイベントがエミュレートしているMSX側にまだ渡されない、ということを意味します。これはある(バーチャルOSDキーボードのような)OSDウィジェットを実装する時に便利です。

指定できるイベント:
<key>[,release]keyb <key>[,release]の省略形です。
keyb <key>[,release]<key>を押します [もしくは離します]
mouse button<n> <up/down>マウスボタン <n> が、上がるか下がります。
mouse motion <x> <y>マウスが<x>と<y>の移動をします。
joy<n> button<m> <up/down>ジョイスティック<n>のボタン<m>が上がるか、下がります。
joy<n> axis<m> <value>ジョイスティック<n>の方向キー<m>から値を取得[訳注:要確認]
focus <boolean>openMSXのウィンドウがフォーカスを取得(1)もしくはフォーカスを失います(0)
OSDcontrol <button> PRESS|RELEASEバーチャルOSD制御用 <button>を押します、もしくは離します
使用法
bindすべてのバインドを表示します。
bind -layer <layername>特定のレイヤーですべてを表示します。
bind <event> [-layer <layername>]イベントのバインドを表示します。オプションでレイヤーを指定できます。
bind <event> [-layer <layername>] [-repeat] <command>新しいバインドを作成します。オプションで特定のレイヤーにバインドを作成できます。また、オプションで(キーが押されたままの時など)一時的なバインドを再定義できます。
bind -layers現在バインドがあるすべてのレイヤー名を表示します。
unbind [-layer <layername>] <event>このイベントに対するすべてのバインドを取り消します(オプションで特定のレイヤーを指定できます)。
unbind -layer <layername>特定のレイヤーのバインドを取り消します。
activate_input_layer現在アクティブなレイヤーを表示します。
activate_input_layer [-blocking] <layername>特定の入力レイヤーを有効化します。オプションでこのレイヤーをブロックモードの状態で有効化できます。
deactivate_input_layer <layername>特定の入力レイヤーを無効化します。
使用例:
bind PAGEUP "set speed 100"
bind PAGEDOWN "set speed 50"

F9が押されている間、フルスロットルで実行します (BrMSXと同様):
unbind F9
bind F9 "set throttle off"
bind F9,release "set throttle on"

ウィンドウがフォーカスを失うと停止します(fMSXと同様):
bind "focus 0" "set pause on"
bind "focus 1" "set pause off"

マウスの真ん中ボタンでインプット切り替え:
bind "mouse button2 down" "toggle grabinput"

ジョイスティックのボタン8をF2キーに割り当てます:
bind "joy1 button8 down" "keymatrixdown 6 0x40"
bind "joy1 button8 up" "keymatrixup 6 0x40"

エミュレーション速度をPageUp/Downキーで増加、減少できます:
bind PAGEUP -repeat "incr speed 1"
bind PAGEDOWN -repeat "incr speed -1"

ジョイスティックの左と右をボリューム増加、減少に使います:
bind "joy1 hat0 left" -repeat "incr speed -5"
bind "joy1 hat0 right" -repeat "incr speed 5"

ALTとENTERでフルスクリーン表示を切り替えます。
bind ALT+RETURN toggle fullscreen

TCLスクリプト中でのジョイスティックもしくはカーソルの上の反応:
bind_default "OSDcontrol UP PRESS" -repeat {osd_menu::menu_action UP }
TCLスクリプト中でのジョイスティックの1ボタンもしくはスペースキーの反応:
bind_default "OSDcontrol A PRESS" -repeat {osd_menu::menu_action A }


openMSXコマンド:cassetteplayer

cassetteplayer

openMSXカセットプレーヤーを制御します。テープイメージを挿入、撤去、作成、巻戻しするための様々なサブコマンドがあります。

使用法:

cassetteplayer insert <tape image>カセットプレーヤーにテープイメージ(WAVかCASフォーマット)を挿入します。
cassetteplayer ejectカセットプレーヤーからイメージを撤去します。
cassetteplayer rewind現在のテープを巻戻します。
cassetteplayer motorcontrol on|offモーター制御信号(remote)に従うかを選択します(デフォルトではon)。
cassetteplayer new [<tape image>]新規のテープイメージを作成し録音モードに入ります。



cassetteplayer play(録音モードに入っている時は)再生モードに入り、テープを巻戻します。

Friday, August 5, 2016

openMSXコマンド:type / type_via_keyboard

type / type_via_keyboard

エミュレートされたMSX上で文字列をタイプします。このコマンドはシミュレートされたMSXキーボード上で自動的にキーが押され、離されます。このコマンドはデモやMSXベーシックのタスク自動化に便利です。

このコマンドには-releaseオプションがあります。これを使うと、新しいキーが押される前に、キーを離すことを指定できます。あるゲームの入力ルーチンではこれが必要 ですが、それはまた、タイプを二回することになり遅くなります。

-freqオプションをつかうと、どれくらいの速さでタイプするか、またどれくらいの長さでキーが押されているか(-releaseが指定されている時は離す速さも)変えることができます。キーは、与えられた周波数で入力され、押す/離すスピードも1/周波数となります。

このコマンドは常に動くでしょう。というのは、ユーザーがMSX上で実際にタイピングしているかのようなものだからです。

もっと速いものを探しているのなら、type_via_keybufを見てください(正し、使えるところは限られます)。default_type_procと一緒に最も標準的なキータイプの実装であるtype_via_keybufも作成できます[訳注:詳細は要確認]。何をやっているのか、わかっている時だけこれは実行してください!

使用例:
type "Hello world!"最も有名なプログラムの、もう1つのマニフェスト


このコマンドを拡張するスクリプトもいくつかあります。

type_from_fileこのコマンドで、(テキスト)ファイルに保存されているテキストを自動でタイプできます。どこかで見つけた、またはテキストに保存してある断片的なベーシックプログラムを打ち込む時にとても便利です。
type_password_from_filetype_from_fileの特別版でファイルに保存された、ゲームのパスワードを入力します。
テキストファイルは特別なフォーマットである必要があります。1パスワード1行で、#で始まる行は無視されます。ファイル名の後に、タイプするパスワードのインデックスを入れられます。インデックスの最初の行は、コメント行や、空行ではいけません。[訳注:要詳細確認]

openMSXコマンド:after

after

あるイベントが終わった後にコマンドを実行します。例えば、一定の時間が過ぎた後や、エミュレーターを一定の時間アイドル状態にする、などです。

遅延するコマンドは、一度だけ実行されます。一定期間ごとにコマンドを実行したいのであれば、これが実行されるたびにコマンドを再度発行してください。afterコマンドは遅延したコマンドのidを返します。遅延したコマンドのリストの問い合わせや遅延したコマンドのキャンセルも可能です。

使用法:
after time <seconds> <command>ある時間が過ぎた後にコマンドを実行する。時間はMSX側の秒数になります。
after realtime <seconds> <command>ある時間が過ぎた後にコマンドを実行する。時間はホスト側の秒数になります。
after idle <seconds> <command>アイドル状態がある時間過ぎた後にコマンドを実行する。時
after frame <command>ビデオフレームが終了した時に実行する。 (VDPスキャニングが vsyncに達した時)
after break <command>ブレークポイントに達した後に実行します。
after boot <command>ブート(もしくはリブート)した後にコマンドを実行します。
after machine_switch <command>新しいマシンに切り替えた後に実行します。
after <input-event> <command>与えられたイベントが起きた後にコマンドを実行します。
イベントとは、マウス、ジョイスティック
、リサイズのイベントなど、bindコマンドと共通です。
after info遅延した術のコマンドを一覧にします。
after cancel <id>与えられたidのコマンドをキャンセルします。
使用例:
after time 2.6 "set renderer SDLGL-PP"
after idle 100 exit
after info
after cancel after#2
after "mouse button1 down" foo

openMSXコマンド:vdpregs

vdpregs



ビデオディスプレイプロセッサ(VDP)の現在の設定を表示します。関連コマンドpallette


使用法:
vdpregs
VDPの現在のコントロールレジスタの内容を表示します。

openMSXコマンド:soundlog

soundlog

openMSXの音声をwavに書き込むサウンドログを制御します。

このコマンドは、record -audioonly

の省略形となっています。


使用法:
soundlog start音声ファイルの"openmsxNNNN.wav"にサウンドログを書き出します。
soundlog start <filename>ファイル名を指定して、サウンドログを開始します。
soundlog start -prefix fooファイル名"fooNNNN.wav"にサウンドログを書き込みます

soundlog stopサウンドログを停止します。
soundlog toggleサウンドログの状態を切り替えます

openMSXコマンド:save_settings

save_settings


現在のopenMSXの設定を設定用XMLファイルに書き込みます。load_settingsも参照してください。

save_settings_on_exitを無効化している場合、このコマンドで設定内容の保存ができます。

save_settingsデフォルトの設定用ファイルに設定内容を保存します。
save_settings <filename><filename>のファイルに設定内容を保存します。

openMSXコマンド:load_settings

load_settings


設定用XMLファイルから設定を読み込みます。設定ファイルは完全である必要はありません。ファイルは内で言及されていない内容については、変更されません。save_settingsも参照してください。

使用法:
load_settings <filename>ファイルから設定を読み込みます。

Thursday, August 4, 2016

openMSXコマンド:trainer

trainer


ゲームトレーナーを制御します。個々のトレーナーを有効化、無効化します。何が指定可能かについてはタブキーを使用してください。トレーナーを切り替えると現在アクティブなトレーナーは非アクティブになります。

使用法:
trainer どのトレーナーが現在アクティブなのかを見ます。。
trainer <game> トレーナー内で、どのチートが現在アクティブなのかを見ます。
trainer <game> all <game>のトレーナーにあるすべてのチートをアクティブにします。Activate all cheats in the trainer of <game>
trainer <game> \[<cheat> ..\] <game>のチートのon/offを切り替えます。
trainer deactivate トレーナーを非アクティブにします。

使用例:
trainer Frogger all
trainer "Circus Charlie" 1 2
trainer Pippols lives "jump shoes"




openMSXコマンド:findcheat

findcheat


これは新しいチートを発見するツールです。例えば、あるゲームでは、残機数が保持されているメモリ位置を探す手助けになります。このチートはのちにtrainerコマンドに追加されました。

これは以下のように動作します:

1.findcheatツールを初期化し、初期のMSXメモリのスナップショットを取ります。
2.ゲーム内で自分に関心のある値が変更されるような動作をします。例えば、残機数が保持されているメモリ位置を探したいのであれば、ゲーム内で残機数を減らし(または増やし)ます。
3.findcheatツールを使用し、現在のMSXメモリを以前のメモリスナップショットと比較します。findcheatはここで、可能性のあるいくつかを提示します。たとえば、数値が増えたり、減ったりしたメモリ位置を探したり、値が変化したりしなかったりした位置を探すことができます。
4.findcheatは検索基準に合うメモリ位置のリストを表示します。
5.もし、まだ数多くの合致する結果がある場合、ステップ2から繰り返します。

Vampier氏はfindcheatをどう使うかについての動画チュートリアルを作成しました。ここから参照できます。

openMSX設定:z80_freq / z80_freq_locked

z80_freq / z80_freq_locked


この二つの設定はZ80のクロック周波数を制御します。z80_freq_lockedが真であるとき、通常エミュレートされたZ80は3.5 Mhz(あるマシンではオプションで5.3Mhzで)で動作します。z80_freq_lockedが偽であるとき、z80_freqの値がZ80クロック周波数として使用されます。

使用法:
14 MHzへのオーバークロック:
set z80_freq 14318180
set z80_freq_locked false

F8キーで3.5Mhzと7Mhzを切り替え:
set Z80_freq 7159090
bind F8 "toggle z80_freq_locked"