今号の内容 ・MUSICコーナー ・PC−6000ハード&ユーティリティー ・P6なんでもコーナー ・お知らせ ・編集後記 SAVEが発足してから3回目の正月を迎えることができまし た。回数を重ねる毎に情報量が減り、新しい情報はほとんど出て こないというのが現状です。だれかP6に関するあっというよう な情報を提供して下さい。SAVEでは、できるかぎり会員のみ なさまに裏技等をしぼりだしていくつもりです。本年もSAVE を宜しくお願いします。 この冬は本当に異常気象です。暖冬だと思ったら急にドカ雪が 降ってきて各地で観測史上上位に入るような雪が降ったりしてな んなんでしょうか。特に、先日は北海道の帯広市で1日に1m近 くの降雪を記録しました。札幌でも平年より積雪量が1月の下旬 になって急に降ってきたため多くなりました。除雪も大変です。 ほかの地方は暖冬の影響で暖かかったのではないでしょうか。 <MUSICコーナー> 前回はサウンドLSIの基本的使い方を書きましたが、今回は サウンドスクリーンエディタについて説明します。いわゆる 「SoUND SCREEN」文です。 まず大ざっぱに説明しますと、使用キーはTAB、スペース、 SHIFT、カーソルキー、RETURN、ページ切り替えキー 、INS、DEL、SToP、CTRL−Eです。 カーソルはほぼLSI内のレジスタごとに、上下左右のキーで 動きます。また、レジスタ変更内容はSHIFT+上下キーです (数値の大小と上下方向とは不一致)。高速変更はSHIFT+ 左右キーです。これは、やってみるとわかります。 モードが3つあります。それぞれ、次の様に役割を分担してい ます。 グラフィック画面BBLSIの直接操作 TEXT画面BBBB各レジスタの時間的変化の変化量設定 TAB画面BBBBB各チャンネルの周波数などを表示 ●グラフィック画面(LSIモニタとほぼ同じ画面) カーソルキーBBレジスタ間でカーソルを移動します。移動のし かたは少し不規則です。動かして見て下さい。 SHIFT+カーソルキーBBカーソルの示すレジスタの内容を 変更します。4つのカーソルキー でそれぞれ違います。これも動か してみて下さい。 スペースBBMIXERのゲート1つひとつの開閉、VoICE の「一定音量発生」と「エンベロープ発生」の切り 替えを行います。 INSBBペアレジスタの上位バイトへの繰り上がり、上位バイ トからの繰り下がりを考慮するモード、つまりペアレ ジスタ運動モードのスイッチです。 DELBBINSとは逆に、ペアレジスタもそれぞれを独立レジ スタとして扱うモードにするスイッチです。 RETURNBBそれぞれのレジスタに定数を加え続ける、「時 間的変化」のループに入ります(ループの速度 を落としたいときはSHIFTを押します)。 TABBBTAB画面へ移ります。 ●TEXT画面(数字だけの画面) グラフィック画面のRETURNキーで実行されるループで、 各レジスタに加え続けられるそれぞれの定数を設定します。 数値は正の時淡緑、負のとき赤(mkU、6601では白地に 黒と黒地に緑)の色で表示されます(「細部説明」16以降参照) カーソルキー、TAB、SHIFT+カーソルキー、INS、D EL、RETURNは、グラフィック画面と同様です。 スペースBB全数値の正負反転します。 SHIFT+スペースBB全数値を00に設定。 ページ切り替えキーBBBグラフィック画面へ移します。 ●TAB画面(周波数が表示される画面) ToNEの各チャンネルの周波数(Hz)、ノイズ周波数(H z)、エンベロープ周期(秒)を次の式によって算出し表示しま す。TABキーによりグラフィック画面へ移ります。 {ToNE周波数(Hz)} =1996750/{16*(ToNEペアレジスタ)} {NoISE周波数(Hz)} =1996750/{16*(NoISEレジスタ)} {エンベロープ周期(秒)} =256*(エンベロープペアレジスタ)/1996750 細部説明 @まず、SoUND SCREENを実行してください。 Aカーソルを動かして、ToNEの各チャンネルを、適当な値に 設定します。(SHIFT+カーソルキー) BカーソルをMIXERのゲートに合わせ、右側3つのゲートを つなぎます(スペースバー)。ただし、普通ならすでにつなが っています。 CカーソルをVoICEの各チャンネルに合わせ、8ぐらいにし ます。 Dこれで音が出ました。普通の音を出すのにToNE、MIXE R、VoICEの3段階の操作が必要であることが分かってい ただけたと思います。 Eカーソルを上下に動かす際、MIXERを飛び越してしまうの に気づかれたでしょう。どちらかというと、MIXERは頻繁 に操作することはなく、ToNEとVoICEを交互に操作す ることが多いので、ToNEとVoICEの間でカーソルが往 復するようになっています。 F次に、VoICEにおいてスペースバーを押し、棒グラフの場 所を直線が貫くような絵になるようにします。すなわち、エン ベロープがかかるようにします。 GENV.のレジスタ12にカーソルを合わせ、8ぐらいに設定 します。 HENV.のレジスタ13にカーソルを合わせ、適当なエンベロ ープパターンに設定します(8がよいでしょう)。 Iレジスタ11,12を変更すると、エンベロープのかかる速さ が変わるのが分かります。 11MIXERの左側3つのゲートも適当に接続します。これでノ イズが出るようになります。 12レジスタ6を操作することにより、ノイズの音質が変わります 13TABを押すと、各ToNE周波数、ノイズ周波数、エンベロ ープ周期が算出され、表示されます。(分母が0になるときは 表示しません。) 14INS/DELキーは、ペアレジスタ連動/独立を切り替えま す。連動モードにしておいて、いずれかのペアレジスタの下位 レジスタを増減してみれば、上位レジスタに繰り上がり、繰り 下がりが起こるのが分かります。 15≪と同じ操作で、VoICEのエンベロープを解除してくださ い。 16RETURNキーを押すと、ToNEの各レジスタが増えはじ めます。 17SHIFTキーを押さえると、そのスピードが落ちます。 18RETURNキーを押すと元にもどり、カーソルが現れます。 19ページ切り替えキーを押すと、テキスト画面が現れます。レジ スタ0,2,4の位置には01が、そのほかの位置には00が 示されています。説明16でToNEのレジスタ0,2,4が増 えはじめたのはこのためです。 2001とあるところを02に変更し、RETURNキーを押すと そのレジスタは2倍の速さで増え始めます。 21スペースバーを押すと、TEXT画面の値が正負逆転します。 ここでRETURNキーを押すと、今度はレジスタの内容が減 りはじめます。 22SHIFT+スペースバーで、すべての値が00になります。 ここでRETURNキーを押しても変化は起こりません。 23このように、RETURNキーによって各レジスタを時間的に 変化させるときも、ペアレジスタ連動/独立モードによって、 ペアレジスタは繰り上がり、繰り下がりをするようになったり しなくなります。 24どうですか。操作に慣れていただけたでしょうか。 25表示をTEXT画面にしたあと、各値を適当に変えます。 26これには簡単な方法があります。右方向キーを押し続けながら SHIFTキーを押したり離したりしてください。 27RETURNキーを押すと、サウンドLSIがむちゃくちゃに なります。(無意味なことをさせてすみません) ファイルの中に”OhB7−3.MOJ”というファイル名が ありますが、これはLSIモニタのグラフィック画面でレジスタ 内容の表示している数字を斜字体に変えるものです。ロードして RUNすると、チェックサムの確認をした後に変わります。 次回はこれらのサウンドパラメータデータを保存しておくため のサウンドジェネレータをお送りします。 <PC−6000 ハード&ユーティリティ> 今回はN60モード(モード3〜4)についてのテープ→ディ スク落としの裏技についてお送りします。 例えばページ2や3を使った場合、テープ版だと拡張エリアを 使わなくてもページ2ではE000Hまで、ページ3ではC00 0H、ページ4ではA000Hまでがユーザーエリア上限となっ ていてまちまちです。しかし、これらをDISKBASICにす るとこれよりもユーザーエリアが減ってしまいます。このため、 テープ版でメモリぎりぎりのプログラムですと、ノーマルにCL oAD,SAVEとすると、DISKエリアにソフトのプログラ ムがひっかかってしまい、暴走してしまいます。したがって、こ ういう場合はページ1を使います。ページ1でロードして、ソフ ト上でページを変えればよいのです。もともとのプログラムには 拡張BASICは使っていないし、ロードの時だけにDISKB ASICを使うだけなので、ロード後はDISKBASIC機能 は働かなくてもよいのです。 ディスク落としの方法は、ページ1で立ち上げ、セーブします ロードも、ページ1で立ち上げ、ロードした後、ダイレクトに、 PoKE−628,実際のページ数 又は、 PoKE&HFD8C,実際のページ数 を入力した後、RUNします。例えば、もとのプログラムがペー ジ3の場合は、ページ1でロードして、 PoKE−628,3 とします。ただし、これを使うと、SToPキーで止めるとプロ グラムは止まりますが、その後のキー入力は受け付けません。( つまり暴走する) 次に、アンリストの方法です。これは、リストをとってもすぐ にOkが出てしまうという方法で、やり方は2種類あります。一 つは、「LIST」のジャンプテーブルを「END」のアドレス に変更する方法で、これは15号を見ればアドレスが書いてある のでわかると思いますが、もう一つは行番号を細工するのです。 N60BASICは、8400H番地(32K)、C400H番 地(16K)から始まるので次の様にPoKE文で書き換えます (16K)PoKE&HC403,255:PoKE&HC40 4,255 (32K)PoKE&H8403,255:PoKE&H840 4,255 とします。この方法をとると、GoTo文があると?UL Er rorが出るのでその前にもとにもどす必要があります。例えば いちばん先頭の行番号が10であったとすると、 (16K)PoKE&HC403,10:PoKE&HC404 ,0 (32K)PoKE&H8403,10:PoKE&H8404 ,0 とプログラム中に入れておいて行番号をもとにもどしておけばよ いのです。前述のジャンプアドレス変更と同時に使えばけっこう なプロテクトとなります。この方法はN60m(N66)モード やN66SRモードでも使用できます。これらは、モードやペー ジ数によって開始アドレスが異なっていますので、マニュアルの ワークエリア表で確認して下さい。ついでにSToPキーの禁止 (11号)と併用すればより高度なプロテクトがけとなります。 市販ソフトでBASICなのにリストをとってもOkしか出ない といった場合のほとんどがこれらの方法です。また、SToPキ ーがきかないといった場合はだいたいがCTRL−Cで止まりま す。 このコーナーでは近い将来(いつになるかは不明)MUSIC 担当と共同でP6にMIDIをつなげたいと思っています。MI DIをつなげることは簡単ですが、それを動かすソフト製作がか なりシビアです。このことに興味がある、または協力したいとい う会員がいればSAVEまでお知らせ下さい。一応、大まかな具 体案はできていますのでお教えします。よろしくお願いします。 <P6なんでもコーナー> SRをお持ちの方、あなたはすでに高速化を使っていますか? まだの人はいますぐ oUT200,255 を実行して下さい。今までシューティングやアクションゲームが 突如難しくなり、アドベンチャーやシュミレーションゲームは待 ち時間が短くなります。 モード1〜5でプログラムをロードした後、 oUT200,255 とすると今までの倍くらいの処理速度でプログラムが実行されま す。この高速化を使ったおもしろいエピソードがあればこのコー ナーまでお知らせください。 追伸:AX−10の中のセブンバイブルの裏技を知っている方が あればこのコーナーまでお知らせ下さい。 <お知らせ> ・SAVEでは、各担当者を募集しています。内容は会報の原稿 書き、作業の協力、情報提供です。また、自分はこの分野には 自信があるといった担当があれば御意見をお寄せ下さい。新し い担当を作るための参考にしたいと思います。21号からの改 革に向けて準備づくりをしたいと思います。よろしくお願いし ます(とはいっても今とほとんど変わらないかもしれませんが B)。 ・私のP6はこう活用している! 自分が所有しているP6でこんなふうに活用している(例えば 66SRのタイマ機能を利用して朝の目覚しがわりに利用して いる)ということがあれば教えてください。また、こんなふう に使ってみてはどうだろうかといったアイデアがあればSAV Eまでお知らせ下さい。実現可能な場合には、それに取り組み たいと思っています。今出ている案は、RPGの作成、グラフ ィックコンテスト、MUSICコンテストなどがあります。 編 集 後 記 ・とうとう湾岸戦争が始まってしまいました。年明けのテレビで の占い師たちはみんな戦争回避と占っていましたがすべてはず れました。今後日本にも何等化の影響があると思いますが、S AVEは今年もがんばります。よろしくお願いします。 (代表) ・サウンドLSIモニタを持っていない方は私のコーナーはつま らないと思いますが次回は持っていない人のために何かやろう と思っています。 (MUSIC担当) ・SAVE第18号は4月中旬発行予定です。