今号の内容 ・バグのお知らせ ・PC−6000ハード&ユーティリティ ・MUSICコーナー ・P6なんでもコーナー ・お知らせ ・編集後記 季節が変わればめっきりと寒くなり、各地で初雪の便りが出て くるのもこのころです。今年の初雪は異常に遅く、札幌では11 月10日と史上まれにみる遅さでした。北海道はこれから長い冬 がやってくるのです。受験生も気がしまっていよいよラストスパ ートといった感じですね。 10月は風邪がはやった月でした。みなさんも風邪にはくれぐ れも注意して下さい。 [SAVEバックナンバーのバグのお知らせ] 今ごろになって気が付いたのですが、電算化されたSAVE5 号、6号にバグがありましたのでお知らせします。 ・5号 P1.7行目「北海道はようやく雪がBB」、アンダー ライン部を付け足し ・5号 P2.下から4行目「さきほど一ヶ月にBB」 P5.下から11行目「PoKE&HE8CF,&HB B」 ・6号 P1.10行目「変わったのは御存知だと思います。そ してP6が登場して早くもBB」、以上アンダーライン 部を訂正 [MUSICコーナー] 前回はごめんなさい。原稿を書く暇がなかったものですから。 14号ではノイズの出し方を説明したわけですが、わかってい ただけましたか。とりあえず、ここではドラムについてはあれだ けです。音は自分の努力によって作り出して下さい。 ドラムパートでSコマンドとMコマンドを使ってしまうと、他 のパートでMSは使えなくなります。まあ、使えないことはない のですが、全パート同じエンベロープになってしまうのでものす ごくきたない音楽になることはまちがいないでしょう。他のパー トではソフトエンベロープをつかいましょう。その前にエンベロ ープとは何か? PSGでは音を鳴らすと同じ音量で鳴り続けます。自分でため してみるとわかりますが、ものすごく単調になってしまうので、 最初に出した音より大きくなったり、小さくなったりさせるとよ く聞こえます。この大きくなったり小さくなったりする波形をエ ンベロープといいます。 ソフトエンベロープとは、プログラムの中で自分で波形を作れ ということなのです。例えば、 PLAY”C1” では単なる「ドー」となります。それをソフトエンベロープを使 ってみると、 PLAY”L8 V15C V13C V11C V9C V 7C V5C V3C V1C” とすると、同じ1分音符でも違うのです。こういう味付けをする と音楽もかっこよくなるでしょう。 前回のノイズと今回のエンベロープを使って何か作ってみて下 さい。自分の力で作ったものは気持ちがよいものです。さあがん ばりましょう。 それでは次に前号から約束したとうりサウンドLSIモニタ特 集をします。これを読みながらお手持ちのプログラムを実行させ てサウンドLSIについて理解して下さい。 まず、このサウンドLSIモニタの起動方法ですが、モードは 1,2,4を選びます。ページ数は3か4、モード1の場合は2 です。なお、ページ3のVRAMが存在するとき、以後ページ3 をスクリーンモード3か4にしないように注意して下さい。そし てRUNで実行します。コマンドは以下のコマンドが使えます。 ・SoUND RUN ・SoUND SToP ・SoUND CoNT(END) ・SoUND NEW ・SoUND SCREEN 各コマンドの説明 {SoUND RUN(ページ番号)(,表示ページ番号)} ページ番号で指定されたVRAMを使用して、サウンドLSI の状態のリアルタイム表示を開始する。ページは1以外を指定す る。つまり、SoUNDRUNを実行後、音楽プログラムを実行 すると、サウンドLSIの様子がリアルタイムで画面に表示され る。 {SoUND SToP(SoUND END)} SoUND RUNによって行われているリアルタイム表示活 動を停止する。 {SoUND CoNT} SoUND SToP(END)によって行われている表示活 動を即時再開する。 {SoUND NEW} LSIモニタ自体をすべてリセットする。LSIモニタ始動前 の状態へBASICシステムを復元する。再始動には EXEC&HD800 を行う。 とりあえず実行例を示します。まず、13号か14号のSoU ND文プログラム集のどれかを使って例えば、13号P7,8の 電話の呼び出し音のプログラムを使います。行番号5に 5 SoUNDRUN と付け足します。そしてRUNします。 RUNするとSoUND文実行中の各レジスタが刻々と変化し ていきます。カッコの中は各レジスタ番号、その上の16進数は そのレジスタの値です。実行するとレジスタ0,2,4,8,9 ,10の値が変化しているはずです。8,9,10の値は0AH になったり00Hになったりしていますね。これは、音量を表し 0AHは10進数で10なのでSoUND8,10:SoUND 9,10:SoUND10,10を表しています。ここで、ST oPキーを押して、PAGEキーを押してさきほどの画面を出し てください。レジスタ0に55Hが入っていますね。これはベル の音の値です。確認のために SoUND8,15 とダイレクト入力してPAGEキーを押して下さい。ピーと鳴っ てレジスタ8の値が0FHになってましたね。これを見ることに よりどのレジスタに何の値が入っているかが一目でわかります。 このようにして使います。もっといろいろなプログラムで実験し てみてください。ただPSGで音を鳴らすよりこの画面を見なが ら鳴っているとけっこう楽しいものです。 画面を見ながらこれらの値を自分で操作したいというために次 の SoUND SCREEN というコマンドがあります。こ のコマンドをダイレクト実行すると、レジスタ内容をエディトす ることができます。これらの説明については次号で説明します。 まずはSoUNDRUNに慣れて、画面の意味をよく理解してく ださい。 最後に、この画面の大まかな説明をします。表示は5つの部分 に分かれています。 ・ToNEBBBBBBBBBBB音程(3チャンネル) ・VoICEBBBBBBBBBB音量(3チャンネル) ・NoISEBBBBBBBBBB雑音の音質 ・MIXERBBBBBBBBBBToNE,NoISEの混合 ・ENV.(ENVELoPE)B音量の周期的変化 それぞれのブロックの状態を示すものは次の3種類あります。 ・レジスタ番号Bかっこ内の10進数 ・データBBBB小さめの数字2桁で表された16進数 ・棒グラフBBデータの量的イメージ §ToNE レジスタ番号0と1,2と3,4と5の3組のペアレジスタで 3種の音程を指定するものです。ペアレジスタというのは、16 進数2桁のレジスタを2つでひとまとめに考えるものです。 ですから、レジスタとしては6つありますが、数値として扱う のは3つということになります。それぞれの数値は小さいほど高 い音になります。 §VoICE ToNEの3種の音程をそれぞれ別々の音量にして送り出しま す。数値が大きいほど大きな音になります。 §MIXER ところで、VoICEで「どれほどの音を出そうか」と考える 前に、まず、「出すか出さないか」を決めないといけません。こ れがMIXERの6つのゲートです。右3つがそれぞれのToN Eを「出す(つながっている)」か「出さない(切れている)」 かを示します。 さて、これでひととおりの音の出し方が分かりました。ToN Eで音程を決め、MIXERのゲートを接続し、さらにVoIC Eでボリュームを上げるわけです。 MIXERの残り3つのゲートは雑音(「シャー」)を、それ ぞれ3つのVoICEに与えるかどうかを決めます。 §ENVELoPE VoICEの3つの数値は0〜15が与えられて音量を決めま すが、数値に(厳密には第4ビットに1)が与えられると音量は 一定ではなく、時間的に変化するようになります。その音量変化 の形状がENVELoPEのレジスタに支配されます。 形状を定めるレジスタと、変化の周期の長さを決めるペアレジ スタとから成っています。エンベロープ形状はP6のマニュアル に載っていますのでそちらを参照してください。 今回はここまでです。次回はサウンドスクリーンエディタにつ して説明します。なお、サウンドLSIモニタを持っていない方 は何がなんだかわからないかもしれませんがこれらはサウンドL SIモニタを実行させながら見ないとわかりませんので御了承く ださい。このサウンドLSIモニタのプログラムは非常に長いの でSAVEでは完成したプログラムをおわけしています。要領は 15号のこのコーナーをごらんください。 [PC−6000ハード&ユーティリティ] 前回のジャンプテーブルの続きです。 アドレス(H) 予約語 コード 処理アドレス FAE5,E6 SGN D4H 3898H FAE7,E8 INT D5H 39E7H FAE9,EA ABS D6H 38B9H FAEB,EC USR D7H 0755H FAED,EE FRE D8H 32DEH FAEF,F0 INP D9H 0DCCH FAF1,F2 LPoS DAH 0D22H FAF3,F4 PoS DBH 0D27H FAF5,F6 SQR DCH 3F92H FAF7,F8 RND DDH 3BA5H FAF9,FA LoG DEH 3EA5H FAFB,FC EXP DFH 3E21H FAFD,FE CoS E0H 3F51H FAFF,00 SIN E1H 3F57H FB01,02 TAN E2H 3FD3H FB03,04 PEEK E3H 6286H FB03,04 PEEK(60モード )E3H 0DF3H FB05,06 LEN E4H 3229H FB07,08 HEX$ E5H 4A3FH FB09,0A STR$ E6H 305BH FB0B,0C VAL E7H 32BAH FB0D,0E ASC E8H 3238H FB0F,10 CHR$ E9H 3249H FB11,12 LEFT$ EAH 3257H FB13,14 RIGHT$ EBH 3286H FB15,16 MID$ ECH 328FH FB17,18 PoINT EDH 2D55H FB19,1A CSRLIN EEH 0D30H FB1B,1C STICK EFH 2236H FB1D,1E STRIG F0H 2256H FB1F,20 TIME F1H 1E83H FB21,22 PAD F2H 4708H FB23,24 DSKI$ F3H 5A1FH FB25,26 LoF F4H 5D9CH FB27,28 LoC F5H 5D7AH FB29,2A EoF F6H 5DB1H FB2B,2C DSKF F7H 5D54H FB2D,2E CVS F8H 579AH FB2F,30 MKS$ F9H 5789H N60モードはP6シリーズすべての機種で使えます。そのた め次回はN60モードに関することを紹介します。 [P6なんでもコーナー] 今回はゲーム必勝法、「ちゃっくんぽっぷで必ず2万点ボーナ スがもらえる方法を紹介します。しかし、この必勝法には欠点が あり、一匹犠牲にしなければならないのです。しかし、2万点ボ ーナスがはいると同時に一匹増えるから相殺されていいのでは。 まず、スタートすると速攻でハートが閉じ込められているオリを 爆弾で破壊します。ハートがオリから出たと判断したと同時に卵 に当たらないように適当に爆弾を投げ、それに自分が当たって自 爆します。 次の一匹が出たら速攻で出口に行きハートがくるのを待ってい ます。そしてゴールすると敵を全く殺さずにゴールでき、2万点 ボーナスがもらえます。この方法は5面位まで通用できます。 みなさんもこのコーナーでどんどん情報交換をしましょう。自 分のP6ゲームテクニックなどをこの場で披露してください。 [お知らせ] ・SAVEでは20号以降の会誌について大改革をする予定です がその内容について会員からの意見を募集しています。ああして ほしい、こうしてほしいといった内容に関する意見があればSA VEまでお知らせください。ベーマガもついにランダムコーナー 入りしてしまうので、P6情報で頼れるものといったらこのよう な私設サークルに頼るしかないのです。また、会員の中でSAV Eの他に別のP6サークルに入っている方がいれば紹介してくだ さい。SAVEの会員数が徐々に減ってきていて、会員数が10 を切ると定期的会誌発行が難しくなります。今、SAVEは鉄道 にたとえると廃止対象路線に入っています。廃止になるか存続に になるかは会員次第です。どんどんSAVEに情報をください。 ・RS−232Cの件について資料が不足しています。どなたか RS−232Cについての資料、実際にRS−232Cボードを 持っている方がいればSAVEまで御一報ください。 編 集 後 記 1990年ももうすぐおわりです。風邪などひかぬようよいお年 をお過ごしください。ちょっとコメントが早過ぎたでしょうか。 (代表) SAVEの会誌発行予定日が多少ずれます。これはデータ入力が 休み中できないからです。したがって、20号までの今後のSA VE発行予定日は次の通りです。 17号B1月、18号B4月、19号B6月、20号B7月 (編集担当) SAVE第17号は1991年1月下旬発行予定です。