PC-6000,6600情報誌 SAVE第26号特別版

 今号からスタッフ一新しましてリフレッシュしましたSAVEです。何とか
スタッフの体制が整ったので当分SAVEは終わることはないでしょう。安心
して下さい。しかし、路線が変わったため、P6専門誌というわけにはいかな
くなりました。できるだけP6関係にウエイトを置きたいのですが、情報が無
いものでこうなった次第です。今後もSAVEを応援して下さい。しかし会員
数が10数名しか居ないというのがちょっと気がかりですが…。
 皆さん、雑誌等にSAVEを紹介して下さい。

 <バグ情報>
 25号のアセンブルリスト中に誤りがありましたので次のように訂正して下
さい。
D80D    28F1      JR    Z,START
D82E    0D0A494E  DEFB  0DH,0AH,'INPUT ',0
D832    50555420
D836    00
 それから、23号で出題しました答えを載せるのを忘れていました。
 答えは、SCREEN関数を使うとバグが出るのが前期バージョン、正常だ
と後期バージョンです。どんなバグが出るかは前期バージョンを見たことが無
いのでわかりません。
 近日、今流行(はやり)のカルトQに習って、P6カルトクイズを行う予定
です。

  <MUSICランダムコーナー>
 今回から担当が変わりまして新しいコーナーにします。このコーナーではM
USIC関係のあらゆる分野について紹介していきます。ご意見等ありました
らどんどんお知らせ下さい。

 第1回目として、今回はP6各機種におけるMUSIC速度テストの紹介を
します。これは、各機種で処理能力がどれだけ違うかということを証明するも
のです。別にPLAY文でなくてもいいのですが、これが長引けば長い音楽プ
ログラムにズレが生じる恐れがあるからその意味でPLAY文を例にとること
にしました。
 実験は、PC−6001(カートリッジ無し),PC−6601,PC−6
601SRの3台で各モード1、ページ2にして次のプログラムの実行結果を
比較しました。
 10 T=TIME
 20 PLAY”L1CDEFG”
  30 IFPEEK(&HFD1B)<>0THEN30
 40 T=TIME−T
 50 PRINTT


 各機種とも条件をそろえるためプログラム中に余計なスペースを入れずにす
べて詰めて入力します。(この作業をAとする。)1ページのプログラムを実
行したら次に20行を
20 PLAY”L1CDEFG”,”L1CDEFG”
にして、同じ事を繰り返す。(この作業をBとする。)
次に20行を
20 PLAY"L1CDEFG","L1CDEFG","L1CDEFG"
として同じ事を繰り返します。(作業C)こうして実行した結果を表1に示し
ます。
                        【表1】                          
     ョ「「「「「「「ホ「「「ホ「「「ホ「「「イ        
        、  機種名  、作業A、作業B、作業C、        
        セ「「「「「「「゙「「「゙「「「゙「「「ニ        
        、PC−6001、  9900、 10044、 10192、        
        セ「「「「「「「゙「「「゙「「「゙「「「ニ        
        、PC−6601、  9808、  9836、  9878、        
        セ「「「「「「「゙「「「゙「「「゙「「「ニ        
        、6601SR  、  9800、  9834、  9866、        
        カ「「「「「「「ヨ「「「ヨ「「「ヨ「「「コ        
 ただしこのテストは何度もRUNすると値が多少変わりますので、必ず電源
を入れてすぐにキーボードから間違えずに入力し、50行が入力し終わったら
そのままRUNして下さい。ちなみにディスプレイ画面は次のようになってい
るはずです。(PC−6001の場合)

How Many Pages? 2
N60-BASIC
By Microsoft (c) 1981
7100 Bytes free
Ok
10 t=time
20 play"l1cdefg"
30 ifpeek(&hfd1b)<>0then30
40 t=time-t
50 printt
run
 9900
Ok

 なお、同じ機種でもお手持ちの機種と当方の機種では若干の誤差が生じま
す。±10位が許容範囲でしょう。
 今回のテストでわかったことは機種の発達によって処理速度が増すという
ことです。(これは当り前ですが……)でもP6とP66SRで100以上
も違うということはいかにP6が遅かったということが証明されます。P6
から66SRへと順に使った方にはその進歩がわかりますが私のようにP6
mk2→66SR→66→60と使っているとそれぞれの良さが充分にわか
ります。60でも遅いがそれなりの良さをもっています。
 最後に今回のテストで6001mk2と6001mk2SRをお持ちの方
のレポートをお待ちしております。
  <新連載:ビデオゲームのプログラミング>
  ・第1回  導入編のようなもの・      かえる
 皆さん、始めまして。私はSAVEの会員であり、某大手ゲーム会社の業
務用ビデオゲーム開発部門でプログラマーをやっております「かえる」とい
うものです。この連載では実際のビデオゲーム開発におけるプログラミング
の考え方やテクニック、その流れなどをハード構成と絡め、またコンシュー
マー機やパソコンでは、といった比較も加えながら説明していきたいと思い
ます。したがって、特にPC−6000シリーズにこだわることはしません
が、考え方そのものは機種を問わずに役に立つような記事にしていきたいと
思いますので、宜しくお願いします。(拍手)
    『まずはハードスペックを知ろう』
 おおよそゲーム基板というものは、メーカー等を問わず、大体次のような
ハード構成になっています。もちろん中にはもっと機能のある物、無い物も
ありますけど。
◎CPU  68000 1個ないし2個(2個目はサブCPU扱い)… 95%
ガンのCPUと思っていいでしょう。そのリニアなメモリ構成と豊富なアド
レッシングモード、安価である点から今後しばらくは使われ続けることでし
ょう。変わるとすれば68020になるはずです。例外として、8086(
アイレム)、V70(セガ・システム32)等があります。
◎サウンドCPU Z80もしくは6809、専用チップの場合もあり… このよ
うなCPUは他にもI/O関係をサポートすることもあります。多くの場合
このためのプログラムは標準のものを使い回し、プログラマーがその都度書
くようなことはありません。数値を渡したり(曲番号、ボリューム、パンポ
ット等)、結果を受け取ったりするのみです。(BUSY信号、スティック
入力等)
◎RAM     64K〜256K程度… あまり大きくはありませんが、
ほとんどのデータをROM上に持つため、足りなくて困ったという話は聞き
ません。複数のCPUからアクセス出来る共通エリア(速度が遅い。複数の
CPU相互の通信に使われる)と特定のCPUのみアクセス出来るローカル
エリア(速度が速い)に大別されます。
◎ROM     数十Mbit〜数百Mbit… コンシューマー機に対
してべらぼうに大きいのが、ガンのROM容量です。これでも、グラフィッ
クやサウンドデータが大きすぎて足りなくなるのがガンの世界でもあります。
最近では最低でも4MROMを使うのが普通で、8M、16Mの物も使われ
始めています。
◎EEPROM、バックアップRAM  4K程度… ランク設定等のコン
フィギュレーションやADS( 平均プレイ時間や総クレジット数等の営業
的に必要な情報等)、ハイスコアなど電源を切っても残る情報はここに書き
込まれます。アクセス速度はRAM→ROM→EEPROMの順で速くなり
ます。
◎表示機能
    ゲーム基板の性能の大半を決定する部分で、さらに次のように分け
られます。
 ◆キャラクタ面
    パソコンでいうところのテキスト画面で、8×8ドットのキャラク
タを並べて画面を構成します。これは次のように分けられます。
  ∴固定面   1〜2枚 その名の通り固定されたキャラクタ面で、そ
のサイズは画面と同一(36×28キャラ)です。固定された背景やスコア
表示等に使用されます。
    ∴スクロール面  1〜4枚
    表示開始速度(X,Y)を変えることによりスクロールさせること
の出来る面です。サイズは画面よりやや大きい正方形(64×64キャラ等)
である場合が多く、ほとんどの場合球面スクロール(縦・横とも端まで行く
と反対側の端から表示される)です。スクロールゲームの背景や、様々な演
出など、最も多く使われます。
    ∴拡大縮小面   1〜2枚
    縮小率(または拡大率)を与えてやることによりハード的に拡大縮
小して表示できる面です。
    ∴回転面   1〜2枚
    ナムコのシステム2やスーパーファミコン等にある回転表示の出来
る面です。アルゴリズムの性質上、必然的に拡大縮小機能をも含む場合がほ
とんどで、縮小することもあってサイズも大きく(256×256キャラ等)
事実上、上記すべての画面機能を含む最強の画面です。この面に与えるパラ
メータとしてはVRAM上の回転中心位置、その画面上での位置、拡大率、
角度がありますが、使い方によってはスーパーファミコンのF−ZEROや
パイロットウイングス、コナミのゼクセクスの3面背景で回っている星など
といったすさまじいこともできます。(普通に使うと、ナムコのアサルトや
タイトーのキャメルトライのようになります。)ハードウェア上の回転アル
ゴリズムや、回転面を使った特殊テクニック(ゼクセクスのような)は何号
か後で特集する予定です。
  ◆オブジェクト  128〜1024枚
    直訳すれば「物体」一般にはスプライトと呼ばれているやつです。
16×16〜64×64ドットのキャラクタをそれぞれドット単位で位置を
指定して表示できるもので、ゲーム画面の根幹をなすものです。表示方式に
はフレームバッファとラインバッファがあり、フレームバッファは規定の枚
数以内ではキャラクタが消えることはありませんが、ラインバッファでは横
方向にある程度以上キャラクタが並ぶと消えてしまいます。オブジェクトに
も拡大縮小や回転機能が付いている場合もあります。

  これらの各画面はそれぞれ独立して表示のON/OFFやプライオリティ、
パレット等設定できます。
 ◆ビットマップ面
    パソコンでいうグラフィック画面のことですが、これを持ったゲー
ム基板はあまりありません。使わないからです。あえて挙げればリブルラブ
等くらいでしょう。これは余談ですが、1キャラを1ドットにまで縮小した
回転面はグラフィック面として扱えます。(256×256キャラ→256
×256ドット)
  ∴パレット
    表示される色はパレットの内容で決まります。××色中256色と
か××色中16色という感じで、××の部分が1600万ならR、G、B、
それぞれ1バイトすなわち256階調で2563=1600万色、32768
ならR、G、B、それぞれ5bit使用し32階調で323=32768色と
いうわけです。このときはダミーの1ビットを加えて16bitで扱います。
これがパレットの内容で、これがいくつあるかが同時発色数というわけです。
パレットの内容を操作してやればフェードイン/アウトやモノクロ変換、ホ
ワイトアウト等が可能なわけですが、R、G、B、それぞれ1バイト(16
00万色)が最もプログラム的に簡単なのは言うまでもありません。
    ∴サウンド機能
    数年前までFM音源が主でサンプリング音源がドラムやSE等の補
助をしていましたが、その状況は完全に逆転しており、すでにFM音源を載
せていない基板すらあります。メモリチップが安くなったこともありますし、
FMの音が飽きられたこともあるでしょう。音源チップは各社が独自で開発
するわけですが当然開発力のある大手メーカーの方が有利なわけです。また、
最近ではタイトーのように米国の楽器メーカーであるエンソニックの音源チ
ップを搭載した本格的な物もでました。スペック的には、以下のような仕様
が一般的です。
  ・同時発声数   PCM8声〜24声(+FM8声)
    ・サンプリングレート 8〜16bit,16〜44kHz
◎I/O
  … JAMMAで規定された入出力には以下のようなものがあります。
それ以外はJAMMA拡張コネクタや別のコネクタから入出力されます。
   ・スティック入力(1P,2P)
     上、下、左、右、ボタン1〜3、スタートボタン
   ・クレジット入出力
     COIN1、2、サービスSW、コインロックアウト
   ・テストスイッチ
   ・スピーカ出力(モノラル)
   以下のような物は別にコネクタが用意されています。
   ・ストリートファイター2のキックボタン
   ・ロストワールドのローリングスイッチ等
 今回は第一回ということもありとりあえず用語として知っておいて欲しい
ことが主となりましたが次回からは実際のプログラムの観点から雑談など交
えながら書いていこうと思います。なるべく用語の説明や図なども入れなが
ら、また具体的にこのゲームのこの場面では、というように書いていきたい
と思いますので宜しくお願いします。
 感想や意見、質問等ありましたらSAVE事務局まで。特に質問に関して
は××の×面の×はどうやって処理しているのかといったヘヴィな質問でも
受けて立ちたいと思います。(機種問わず) では、今号はこのへんで。
  次回予告    1/60秒の世界   包う御期待

 <便長ユーティリティー>
 今回はBASICインタプリタROM(0H〜7FFFH)の中から任意
の文字列をさがしその先頭アドレスを出力するプログラムを紹介します。モ
ード5、ページは自由で
 EXEC &HD800
で実行します。
 まず始めにプリンタ出力するか聞いてきますのでプリンタ出力する場合に
は”Y”か”y”を入力して下さい。
 次にオブジェクトコードでサーチするか文字列でサーチするかを聞いてく
るのでオブジェクトコードの場合は”1”、文字列の場合は”2”を入力し
て下さい。
 次にキーワードを入力します。オブジェクトコードの場合、16進数で2
桁ずつ入力して下さい。2バイト以上の連続したコードをサーチする場合に
は続けて入力して下さい。例えば、
C3H,00H,D0H(JP D000H)という3バイトの連続したコ
ードをサーチする場合、
  KEY WORD ? c300d0
と入力して下さい。スペースは入れなくてもよいです。上限は35バイトま
でサーチ可能です。
 文字列を入力する場合には余分なスペースを入れないで下さい。入れます
とスペースも文字列として読んでしまいます。上限は71文字までです。
 プリンタ出力する場合はサーチしたオブジェクトコード及びその文字列も
出力します。アドレスはCRTにも同時出力されます。

 サーチする範囲を変える場合は、D8C7H〜D8C8HとD8CAH〜
D8CBHの値を変えて下さい。

 プログラムはアセンブリとマシン語でかかれています。アセンブラをお持
ちの方は、最初にORG 0D800Hを入れて右半分を入力して下さい。
お持ちでない方は、POKEやMONのSコマンドで左半分(16進数)を
入力して下さい。

D800 AF       XOR  A
D801 3258FA   LD   (0FA58H),A
D804 210EFD   LD   HL,0FD0EH
D807 CBC6     SET  0,(HL)
D809 CBAE     RES  5,(HL)
D80B D9       EXX
D80C 47       LD   B,A
D80D 49       EXX
D80E 210BD9   LD   HL,0D90BH
D811 CDCF30   CALL 30CFH
D814 CD0529   CALL 2905H
D817 D8       RET  C
D818 D7       RST  10H
D819 CDE376   CALL 76E3H
D81C D659     SUB  59H
D81E 2004     JR   NZ,0D824H
D820 3C       INC  A
D821 D9       EXX
D822 47       LD   B,A
D823 D9       EXX
D824 2114D9   LD   HL,0D914H
D827 CDCF30   CALL 30CFH
D82A CD0529   CALL 2905H
D82D 38D1     JR   C,0D800H
D82F D7       RST  10H
D830 D631     SUB  31H
D832 FE02     CP   02H
D834 30EE     JR   NC,0D824H
D836 08       EX   AF,AF'
D837 2133D9   LD   HL,0D933H
D83A CDCF30   CALL 30CFH
D83D CD0529   CALL 2905H
D840 38BE     JR   C,0D800H
D842 0600     LD   B,00H
D844 113DD9   LD   DE,0D93DH
D847 08       EX   AF,AF'
D848 B7       OR   A
D849 2812     JR   Z,0D85DH
D84B 23       INC  HL
D84C 7E       LD   A,(HL)
D84D B7       OR   A
D84E 2830     JR   Z,0D880H
D850 FE14     CP   14H
D852 2004     JR   NZ,0D858H
D854 23       INC  HL
D855 7E       LD   A,(HL)
D856 D630     SUB  30H
D858 12       LD   (DE),A
D859 04       INC  B
D85A 13       INC  DE
D85B 18EE     JR   0D84BH
D85D D7       RST  10H
D85E B7       OR   A
D85F 281F     JR   Z,0D880H
D861 CDE376   CALL 76E3H
D864 CD6277   CALL 7762H
D867 3897     JR   C,0D800H
D869 07       RLCA
D86A 07       RLCA
D86B 07       RLCA
D86C 07       RLCA
D86D 4F       LD   C,A
D86E D7       RST  10H
D86F B7       OR   A
D870 280E     JR   Z,0D880H
D872 CDE376   CALL 76E3H
D875 CD6277   CALL 7762H
D878 3886     JR   C,0D800H
D87A 81       ADD  A,C
D87B 12       LD   (DE),A
D87C 04       INC  B
D87D 13       INC  DE
D87E 18DD     JR   0D850H
D880 78       LD   A,B
D881 B7       OR   A
D882 CA00D8   JP   Z,0D800H
D885 D9       EXX
D886 78       LD   A,B
D887 D9       EXX
D888 B7       OR   A
D889 2B3B     JR   Z,0D8C6H
D88B 210EFD   LD   HL,0FD0EH
D88E CBB6     RES  0,(HL)
D890 CBEE     SET  5,(HL)
D892 213DD9   LD   HL,0D93DH
D895 C5       PUSH BC
D896 E5       PUSH HL
D897 7E       LD   A,(HL)
D898 CD2777   CALL 7727H
D89B 3E20     LD   A,20H
D89D CD1C1A   CALL 1A1CH
D8A0 23       INC  HL
D8A1 10F4     DJNZ 0D897H
D8A3 E1       POP  HL
D8A4 C1       POP  BC
D8A5 C5       PUSH BC
D8A6 3E28     LD   A,28H
D8A8 CD1C1A   CALL 1A1CH
D8AB 7E       LD   A,(HL)
D8AC FE20     CP   20H
D8AE 3002     JR   NC,0D8B2H
D8B0 3E2E     LD   A,2EH
D8B2 CD1C1A   CALL 1A1CH
D8B5 23       INC  HL
D8B6 10F3     DJNZ 0D8ABH
D8B8 C1       POP  BC
D8B9 3E29     LD   A,29H
D8BB CD1C1A   CALL 1A1CH
D8BE CD0127   CALL 2701H
D8C1 210EFD   LD   HL,0FD0EH
D8C4 CBC6     SET  0,(HL)
D8C6 210000   LD   HL,0000H
D8C9 110080   LD   DE,8000H
D8CC E7       RST  20H
D8CD 302C     JR   NC,0D8FBH
D8CF C5       PUSH BC
D8D0 EB       EX   DE,HL
D8D1 B7       OR   A
D8D2 ED52     SBC  HL,DE
D8D4 44       LD   B,H
D8D5 4D       LD   C,L
D8D6 EB       EX   DE,HL
D8D7 113DD9   LD   DE,0D93DH
D8DA 1A       LD   A,(DE)
D8DB EDB1     CPIR
D8DD C1       POP  BC
D8DE 201B     JR   NZ,0D8FBH
D8E0 C5       PUSH BC
D8E1 E5       PUSH HL
D8E2 2B       DEC  HL
D8E3 1A       LD   A,(DE)
D8E4 BE       CP   (HL)
D8E5 2004     JR   NZ,0D8EBH
D8E7 13       INC  DE
D8E8 23       INC  HL
D8E9 10F8     DJNZ 0D8E3H
D8EB E1       POP  HL
D8EC C1       POP  BC
D8ED 20DA     JR   NZ,0D8C9H
D8EF 2B       DEC  HL
D8F0 CDA578   CALL 78A5H
D8F3 0E20     LD   C,20H
D8F5 CD117D   CALL 7D11H
D8F8 23       INC  HL
D8F9 18CE     JR   0D8C9H
D8FB 0E0D     LD   C,0DH
D8FD CD117D   CALL 7D11H
D900 0E0A     LD   C,0AH
D902 CD117D   CALL 7D11H
D905 CD117D   CALL 7D11H
D908 C300D8   JP   0D800H
D90B 50       LD   D,B
D90C 52       LD   D,D
D90D 49       LD   C,C
ここからはデータ部分ですので、POKEまたはMONのSコマンドで入力
して下さい。
D90B: 50 52 49 4E 54
D910: 45 52 20 00 31 2E 2E 2E
D918: 4F 42 4A 45 43 54 20 43
D920: 4F 44 45 0D 0A 32 2E 2E
D928: 2E 53 54 52 49 4E 47 53
D930: 0D 0A 00 4B 45 59 20 57
D938: 4F 52 44 20 00


 <P6ゲーム紹介>
 今回は、パックスソフトニカのベースボールを紹介します。
 このゲームはいわゆる「野球」ゲームなのですが、普通のものとまったく
違うところが1つありまして、それは守備、攻撃がほぼ自動で行われるので
す。ではどうやって操作するのでしょうか。実は、あらかじめ数字キーによ
ってコース等を決めておくのです。しかも、守備は1から5のキーで攻撃は
6から0のキーと紙などを立てておけば相手のコースが見えないように工夫
されています。このゲームのうりは、タイミング音痴でもカンがはたらけば
試合になる、ということでしょうか。ただ、スピードが遅いのと音楽が寂し
いので2・3回で飽きてしまうでしょう。

  分類:野球 内容:3 操作性:4 サウンド:1

 <雑談コーナー>

 私にとって6月は最悪の月でした。まず鏡を割ったことが始まりでした。
「ヤバイ」と思ったが間に合わず、その場はしのいだのですが、某大手企業
の採用試験を受験した次の日、車を運転していたら交差点で出会い頭の衝突、
私の方に過失責任が大きく8:2でした。自分の車の処理代が20数万円も
かかってしまい、一時は廃車にしようと思ったのですが、車が車だけに(私
の車はドイツ製の某車)簡単に廃車にするわけにはいかず、仕方なく直しま
した。不幸はそれだけではありません。追い打ちをかけるがごとく数日後、
会社から不採用通知があり、見事、某大手企業から落とされました。今年は
厄年なのかなあと思いつつ現在別会社にチャレンジしています。

 巨人が復活してきました。いつの間にか勝率を5割近くまでもってきて私
にはおもしろくありません。まさか優勝なんてないですよね。私は今年はヤ
クルトだと思っているのでヤクルトガンバレ! パリーグは西武で決まりで
しょう。巨人が最近勝っているので野球はおもしろくありません。
 ウインブルドンテニス、松岡修造おしかったですね。かなり前の話ですが
…2回戦、4−6、4−6、3−5から2回のマッチポイントをしのぎ、第
3セット7−5と逆転し、その後6−4でとり、ファイナルセットはちょっ
と力つき、3−6で失ったものの、あのねばりはすごかったです。この原稿
を書いているときはまだウインブルドンはやっていますが、SAVEが発行
されるころには昔の話になっているでしょう。

  F−1は9戦終了時点でマンセルが7勝と圧倒的リードしています。24
号で来季の予想をしましたが新たに予想したいと思います。ホンダの撤退が
いよいよ本格的になってきたところで次のことが予想されます。
・マンセル→残留か引退
・セナ  →フェラーリ入りでしょう
・プロスト→ウイリアムズかな?
  おもしろくなりそうです。ホンダが撤退したら次はトヨタでしょうか?
  プロ野球はまいった。特に巨人である。前半戦を何とまさかの首位でおり
かえしたからである。パリーグは西武で決まりだと思うがセリーグは巨人以
外ならどこでもいいから頑張ってもらいたい!!

 <東京の裏名所>
  このコーナーは、東京の裏名所を紹介していきます。皆さんのなかで裏名
所を知っていましたらSAVEまでお知らせ下さい。
別に東京以外でも構いません。その際、地図を書いていただくと大変助かり
ます。
 しかし、裏名所ってなかなか見つかりませんねぇ。自分の経験だけが頼り
なわけですから…。よく裏名所の本がありますが、全国で売ってるわけです
から裏ではありませんし。(抜け道MAPというのを見て行ったら普通の道
より混んでいるのと同じ。)とにかく情報を待っています。

 さて本題に入ります。今回は立ち食いそば屋さんです。ここはどこよりも
安いというわけではありませんが、うまい!(私の味覚ですので100%で
はありませんが)とてもうまいです。普通のそば屋よりうまいと思います。
しかも、立ち食いなので200円からあります。だいたい通勤客にうけてい
るようで、朝はすごく混みますが、昼はすいてます。1度日暮里駅を通るこ
とがあったら、食べてみて下さい。たぶん損はないと思います。

    定休日 日曜・祭日  営業時間 AM 7:00頃〜PM6:00頃

<お知らせ>
・ SAVE事務局ではスタッフが新体制になりましたのですべての業務に
対しても整理することになりました。(各サービス等)また、SAVE事務
局の会則も作ることにしました。これらすべての体制は次号27号で紹介し
ます。
・新SAVE所有リストVer.3.0を現在作成中です。次号にでもお知
らせします。
・SAVEでは次のテーマの雑談を募集しています。どんどんお寄せ下さい。
★今年の夏休みについて
★今年の参議院選挙について
★P6とUNIX(またはPC98)との関係について

 <PSG効果音集>
 このコーナーでは、毎回1〜2本のPSGによる効果音プログラムを載せ
ます。もし、何か効果音プログラムを作ったら、是非SAVEまでどうぞ!
(FMでも構いません)

  今回は、電話の音とドラムBOXです。ドラムBOXはPSGのノイズに
よる疑似ドラムです。

     電話の音《モード任意・ページ任意》

10 SOUND 1,1:SOUND 0,&H38:SOUND 8,8
20 FOR T=0 TO 1000:NEXT
30 SOUND 8,0:FOR T=0 TO 120:NEXT
40 SOUND 8,10:FOR T=0 TO 120:NEXT
50 GOTO 30

 ただ、機種によって(モードによっても)多少スピードが違うので、FO
R〜NEXTのTの値を変えて下さい。(ちなみに、このプログラムはPC-
6001mk2SRのモード5に合わせてあります。)

    ドラムBOX《モード1〜5・ページ任意》

10 FORT=0TO9:READR:Z(T)=R:NEXT:CONSOLE,,0,0
20 SOUND7,1:PLAY"L8V10"
30 I$=INKEY$:IF I$<"1"ORI$>"9"THEN50
40 J=Z(VAL(I$)):PLAY "S0M=J;C":GOTO 30
50 DATA 500,1000,2000,4000,6000,9000,12000,16000,20000

  SRは、PLAYの後にカンマを3つ付ける。(PLAY,,,)

  <雑談>
  これは、今回きりのコーナーです。
SRにはいろんなバグがありまして、’(アポストロフィー)等紹介しま
した。今回はP6のバグです。SRをお持ちの方は次のプログラムを入力
して下さい。
10 Go To 10
LISTをして下さい。GOTOに直ってますね?次にP6や66やmk
2(モード1から5)です。次のプログラムを入力、LISTして下さい。
10 G o   T     o 10
これもGOTOに直っているはずです。98ではGo Toと1個だけな
らあけてもOKです。SRもそうなってますがP6は何を間違えたかGo
Toだけはいくつでも空白が入ります。60SRで試しましたが60SR
以外の機種でもやってみて下さい。

               編 集 後 記

・今号の会報、以前に比べるとずっとおもしろくなりました。
20号の改革よりすごい進歩です。やはりスタッフの協力なしでSAVE
は語れません。皆さん、新しいSAVEを今後とも宜しくお願いします。                 (代表)

・初めて編集をしたので結構読みにくかったかもしれません。もし、誤字
・脱字・苦情等ありましたら、SAVE事務局までお知らせ下さい。しか
し、今年は暑いです。異常気象でしょうか?このぶんだと今年も台風が何
個もくるのでしょうね。では、夏バテに気を付けて、SAVEを応援して
下さい。   (編集担当)
・SAVE27号は9月下旬発行予定です。

  • 25号に戻る
  • 27号に行く