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

 今号のメニュー
・MUSICランダムコーナー 「BGM60」
・便長ユーティリティー    「BASIC行番号サーチ」
・ビデオゲームのプログラミング「ビデオゲームの演出その1」
・P6ゲーム紹介              「3Dゴルフシミュレーションスーパーバージョン」
・PSG効果音集              「除夜の鐘」
・東京の裏名所                「あん屋みたいなパン屋」
・雑談コーナー        「もっとP6を使おうキャンペーン」
・お知らせ          「新SAVE所有リスト」
・編集後記          「冬は近い」

今号から紹介するコーナーと今回の項目を始めにお知らせします。いわゆる
「見出し」をつけます。これで内容がより分かりやすくなったと思います。
こうやって会報SAVEは徐々に進化していきます。この他の雑談は雑談コ
ーナーで。

<MUSICランダムコーナー>

 前回の音楽演奏ルーチンプログラムが好評だったので、今回はそのプログ
ラムの改良版で全音階対応のプログラム、名付けて 「BGM60」を紹介
します。実行方法はプログラムを入力後、EXEC&HCFF8です。
 前回の記事は私自身理解に苦しみましたので、今回は分かりやすく説明し
ます。このプログラムは前回で紹介した改造方法に基づいて当局で実用的に
改造しました。このプログラムの仕様は 【表1】です。

              【表1】
ョ「「「「「「「「「「ホ「「「「「「「「「「「「「「「「イ
、    項目        、          アドレス              、
セ「「「「「「「「「「゙「「「「「「「「「「「「「「「「ニ
、メインプログラム  、   CF00H〜CFFFH    、
、 音データ部       、   D010H〜D0D3H    、
、 曲データ部    、   D0D4H〜D10CH    、
カ「「「「「「「「「「ヨ「「「「「「「「「「「「「「「「コ

 【表1】の曲データ部についてはサンプルデータとして当局で作りました
「ドリフ大爆笑のテーマ」です。
 メインプログラムは19号のものと同じものを使用しています。また、曲
データも同様に5曲までスタック可能です。
  ・データ入力の説明・
 本プログラムは音、音の伸び、曲のテンポの指定により構成されています。
各曲の指定アドレスと初期値は【表2】です。


                   【表2】
ョ「「「「ホ「「「「「ホ「「「ホ「「「「「「ホ「「「「「イ
、  曲番号、テンポアドレス 、初期値、曲データアドレス 、初期値    、
セ「「「「゙「「「「「゙「「「゙「「「「「「゙「「「「「ニ
、  1  、CF95H 、0EH、  CF92,93H  、00H,00H   、
、  2  、CF9CH 、0AH、  CF99,9AH  、00H,00H   、
、  3  、CFA3H 、0AH、  CFA0,A1H  、00H,00H   、
、  4  、CFAAH 、0AH、  CFA7,A8H  、00H,00H   、
、  5  、CFB1H 、0AH、  CFAE,AFH  、00H,00H   、
カ「「「「ヨ「「「「「ヨ「「「ヨ「「「「「「ヨ「「「「「コ
1.テンポ入力
 テンポの値は1〜255まで可能で数値が大きいほどテンポは遅くなりま
す。このテンポは最小音符に合わせて下さい。

2.音の伸び入力
 音の伸びは音データの中に混入して使います。数値はF1H〜FFHまで
で下1桁が伸ばす音の数です。例えば音符の長さを倍にするとき、(4分音
符を2分音符にするとき)は音データの次にF1Hを入力します。

3.音データ入力
 前回のプログラムでは25種類しか音データがありませんでしたが、今回
は全音階をサポートしています。各音のデータは  【表3】の通りです。

                  【表3】
ョ「「ホ「ホ「ホ「ホ「ホ「ホ「ホ「ホ「ホ「ホ「ホ「ホ「「イ
、 O、C、C#、D、D#、E、F、F#、G、G#、A、A#、B  、
セ「「゙「゙「゙「゙「゙「゙「゙「゙「゙「゙「゙「゙「「ニ
、  1、01、02、03、04、05、06、07、08、09、0A、0B、0C  、
、  2、0D、0E、0F、10、11、12、13、14、15、16、17、18  、
、  3、19、1A、1B、1C、1D、1E、1F、20、21、22、23、24  、
、  4、25、26、27、28、29、2A、2B、2C、2D、2E、2F、30  、
、  5、31、32、33、34、35、36、37、38、39、3A、3B、3C  、
、  6、3D、3E、3F、40、41、42、43、44、45、46、47、48  、
、  7、49、4A、4B、4C、4D、4E、4F、50、51、52、53、54  、
、  8、55、56、57、58、59、5A、5B、5C、5D、5E、5F、60  、
カ「「ヨ「ヨ「ヨ「ヨ「ヨ「ヨ「ヨ「ヨ「ヨ「ヨ「ヨ「ヨ「「コ
4.休符について
 前回のプログラムには休符データはありませんでしたが、新たに休符を追
加しました。休符データは61Hです。休符といっても、SOUND0,0
:SOUND1,0を鳴らしています。音が高すぎて(サウンドLSIモニ
タの計算だと、12万4796Hz以上)まず聞こえません。(鳴っていな
いのかもしれません)

5.移調について
 次のプログラムを参照して下さい。気を付けることは、音の伸ばしや休符
データまでも変化させないことです。

10 FOR AD=データ先頭アドレス TO データ終了アドレス
20 A=PEEK(AD)
30 IF NOT(A<&HF1 OR A>&HFF) OR A=&H61 THEN 50
40 A=A+移調度数:POKE AD,A
50 NEXT AD
例えば半音階上げるときは移調度数を+1、下げるときは−1とします。

6.再発音について
 STOPキーを押すと曲は止まりますが、SOUND8,16を入力する
ことによって復活します。

7.曲の切り換えについて
 POKE&HCFF9,曲番号:EXEC&HCFF8で完了です。

8.注意点
 このプログラムを実行すると、割り込みで曲が鳴るためにPLAY文は使
えなくなります。もし、PLAY文を実行すると曲が混ざってしまいます。
また、曲データの終わりには必ず00Hを入れます。

9.実例
 例として「めだかの学校」を曲データ2に入力してみましょう。テンポは
0DHに、データをD110Hからにします。そして、PLAY文データで
次のデータを入力させることにします。
PLAY "L8O4C4D4E4.ED4DCD4.E4G4A4AG1A4AAO5CO4AGAGEEE1A4AAO5CO4AGAGEEE1
D4DCDGEDCCCCC1"
以上を変換させると次のようになります。
CF9C:0D
CF99:10 D1
D110:25 F1 27 F1 29 F2 29 27
D118:F1 27 25 27 F3 29 F1 2C
D120:F1 2E F2 2E 2C F7 2E F2
D128:2E 2E 31 2E 2C 2E 2C 29
D130:29 29 F3 2E F2 2E 2E 31
D138:2E 2C 2E 2C 29 29 29 F3
D140:27 F1 27 25 27 2C 29 27
D148:25 25 25 25 25 F3 00
 以上を入力後、POKE&HCFF9,2:EXEC&HCFF8で実行されます。

 最後に、このプログラムはSRモード以外でしたら動きますので皆さんも
活用してみて下さい。
 次回は、PLAY文データ→BGM60データ変換プログラムを載せるか
もしれません。
 P.S. 「ドリフ大爆笑のテーマ」の原調は移調度数2にして転調すれ
ば原調になります。
                【BGM60のプログラム】
CF00:C3 0C CF F3 21 74 0F 22
CF08:06 FA FB C9 F3 21 CF CF
CF10:22 06 FA FB CD 60 CF C9
CF18:3A C9 CF 3D 32 C9 CF FE
CF20:00 C0 3E 08 32 C9 CF 2A
CF28:C7 CF 7E B7 20 04 2A C5
CF30:CF 7E 23 22 C7 CF CB 7F
CF38:20 1D 21 10 D0 4F CB 21
CF40:06 00 09 3E 00 5E CD C5
CF48:1B 23 3C 5E CD C5 1B 3E
CF50:0D 1E 0D CD C5 1B C9 E6
CF58:0F 17 17 17 32 C9 CF C9
CF60:F3 F5 3E 08 1E 1F CD C5
CF68:1B 3E 0D 1E 0D CD C5 1B
CF70:3E 0C 1E 02 CD C5 1B F1
CF78:FE 01 28 15 FE 02 28 18
CF80:FE 03 28 1B FE 04 28 1E
CF88:FE 05 28 21 21 FE D8 18
CF90:21 21 D4 D0 3E 0E 18 1A
CF98:21 00 00 3E 0A 18 13 21
CFA0:00 00 3E 0A 18 0C 21 00
CFA8:00 3E 0A 18 05 21 00 00
CFB0:3E 0A 32 DD CF 22 C5 CF
CFB8:22 C7 CF 3E 01 32 CB CF
CFC0:32 C9 CF FB C9 00 00 00
CFC8:00 00 00 00 00 00 00 C5
CFD0:D5 E5 F5 3A CB CF B7 20
CFD8:05 CD 18 CF 3E 05 3D 32
CFE0:CB CF F1 E1 D1 C1 C3 74
CFE8:0F 00 00 00 FF FF FF FF
CFF0:FF FF FF FF FF FF FF FF
CFF8:3E 01 C3 00 CF 00 00 00
D000:00 00 00 00 00 00 9F 7B
D008:00 00 00 00 00 00 00 00
D010:00 00 E8 0E 12 0E 48 0D
D018:89 0C D5 0B 2B 0B 8A 0A
D020:F3 09 64 09 DD 08 5E 08
D028:E6 07 74 07 09 07 A4 06
D030:45 06 EB 05 96 05 45 05
D038:FA 04 B2 04 6F 04 2F 04
D040:F3 03 BA 03 85 03 52 03
D048:22 03 F5 02 CB 02 A3 02
D050:7D 02 59 02 37 02 18 02
D058:FA 01 DD 01 C2 01 A9 01
D060:91 01 7B 01 65 01 51 01
D068:3E 01 2D 01 1C 01 0C 01
D070:FD 00 EF 00 E1 00 D5 00
D078:C9 00 BD 00 B3 00 A9 00
D080:9F 00 96 00 8E 00 86 00
D088:7E 00 77 00 71 00 6A 00
D090:64 00 5F 00 59 00 54 00
D098:50 00 4B 00 47 00 43 00
D0A0:3F 00 3C 00 38 00 35 00
D0A8:32 00 2F 00 2D 00 2A 00
D0B0:28 00 26 00 23 00 21 00
D0B8:20 00 1E 00 1C 00 1B 00
D0C0:19 00 18 00 16 00 15 00
D0C8:14 00 13 00 12 00 11 00
D0D0:10 00 00 00 25 61 29 61
D0D8:2C 29 25 2E 2C 2C 2E 30
D0E0:31 F3 25 25 25 27 29 29
D0E8:29 2A 2C 2A 29 27 25 F3
D0F0:2E 2E 2E 30 31 F1 31 F1
D0F8:33 31 30 2E 2C F1 2E 2E
D100:2C F2 29 27 25 27 2E 2C
D108:2C 29 27 25 F3 00 FF FF

 <便長ユーティリティ>

 今回は、BASICの行番号サーチを紹介します。
 プログラムを入力し、EXEC&HD800で実行します。その前にサー
チしたいBASICプログラムを入れておきます。例えば、ロードした場合、
 CLEAR 300,&HD7FFを実行後、BASICプログラムをロ
ードし、
 EXEC&HD800
で実行します。実行すると、
 LINE NUMBER?
と聞いてくるので、行番号を入力します。求める行番号を見つけるとそのア
ドレスが表示されます。ない場合は、
 NOT EXIST
と表示します。
               【行番号サーチのプログラム】
                       ;
                       ;SEARCH THE LINE NUMBER
                       ;
                       ORG  0D800H
                       ;
D800 3E 01             LD   A,1
D802 32 0E FD          LD   (0FD0EH),A
D805             START:
D805 21 30 D8          LD   HL,MSG
D808 CD CF 30          CALL 30CFH

D80B CD F9 28          CALL 28F9H
D80E D8                RET  C
D80F D7                RST  10H
D810 CD 06 0E          CALL 0E06H
D813 CD 01 05          CALL 0501H
D816 30 13             JR   NC,NOT
                       ;
D818 C5
D819 21 41 D8          LD   HL,EXIST
D81C CD CF 30          CALL 30CFH
D81F E1                POP  HL
D820 CD A5 78          CALL 78A5H
D823 21 4C D8          LD   HL,HDATA
D826             DSP:
D826 CA CF 30          CALL 30CFH
D829 18 DA             JR   START
D82B             NOT:
D82B 21 4E D8          LD   HL,NOEXST
D82E 18 F6             JR   DSP
                       ;
D830             MSG:
D830 0D0A              DEFB 0DH,0AH
D832 4C 49 4E 45       DEFB 'LINE NUMBER ? '
D836 20 4E 55 4D
D83A 42 45 52 20
D83E 3F 20
D840 00                DEFB 00H
D841             EXIST:
D841 41 44 44 52       DEFB 'ADDRESS = ',00H
D845 45 53 53 20
D849 3D 20 00
D84C             HDATA:
D84C 48 00             DEFB 'H',00H
D84E             NOEXST:
D84E 4E 4F 54 20       DEFB 'NOT EXIST',00H
D852 45 58 49 53
D856 54 00
                       ;
D858                   END

 <バグ情報>

 27号にバグがありました。お詫びして、訂正致します。
P3 表2 O4Bの値 FD,01→FD,00
P4 表3 曲番号2  CF9BH,8→CF9CH,8

 <P6ゲーム紹介>

 こんにちは。今回は、「3Dゴルフシミュレーションスーパーバージョン」
を紹介します。タイトルどおり読めばわかりますが、3D(立体)のゴルフの
シミュレーションゲームのスーパーバージョンです。(本当にそのままですね。
)余談ですが、シミュレーションをシュミレーションと書く人がいます。これ
は間違いです。(新SAVE所有リストに書かれているのも、間違いになるわ
けです。)
  ゴルフのルールとまったく同じです。なかなか速いですから、遊べます。但
し、SRの高速化を使っているので、PC-6001mk2やPC-6601はきついかも知れま
せん。なお、4人まで対応です。
                      【画面】
分類:シミュレーション 内容:3 操作性:5 サウンド:1


 <PSG効果音集>

お正月にちなんで、除夜の鐘です。でも、似てません。誰か、低くて、響く音
を作って下さい。

            除夜の鐘《モード1〜5・ページ任意》

10 REM JYOYA・NO・KANE...KANA??
20 FOR T=0 TO 13
30 READ A:SOUND T,A
40 NEXT
50 DATA 148,6,68,11,237,8,1,56,0,26,30,9,165,8

 <東京の裏名所>

 こんにちは。いきなりですが、多分、このコーナーは2,3号に1回ぐらい
しかでないでしょう。全然情報がありませんから。
まあ、それはおいといて、主題に入りましょう。
 今回は、パン屋さんです。このパン屋は、5,6畳より狭いくらいのスペー
スしかありません。(奥に調理場がありますが、それはいれていません)ここ
の名物は、あんパンと鴬パン(鴬あんパンとも呼ばれています。緑色のあんこ
です)です。パン生地とあんこの比が、だいたい1:9か2:8ぐらいです。
持ってみると、だいたいコンビニなんかに売っているあんパンの2,3個ぐら
いでしょうか、とにかくものすごく重いのです。図1は断面図です。ここは、
知ってる人なら知っているお店で、僕が気が付く限りTVでは見たことはない
です。1度くる価値はあります。もし食べてみたい人がいたらお知らせ下さい。
(いれば、次号あたりまでにはなんとかしたいと思います。)
営業時間:午前7時〜午後6時頃まで(但し、午後になるとほとんど残りなし。)
定休日:日曜・祭日、正月は31日から4日まで休み。
あんパン・鴬パン:190円(さだかではない。)

 <雑談コーナー>

・当SAVEでは「もっとP6を使おうキャンペーン」を実施中です。当SA
VEも98や88に押されてあまり使用しなくなってきたP6ですが、12月
号のベーマガでスト2もどきが出てまだまだ頑張っているなと思い、現在過去
のゲームを引っ張り出してやっています。また、やりかけていたP6用作業を
復活させて現在半フル稼働状態です。せめて、P6のフロッピーが2DD仕様
でしたら何とか88や98とフロッピー互換性をもたせたかも知れません。実
際、P6の5インチでしたら(PC−6031等)88とデータのやり取りは
出来ますが、3.5インチでしたらどうにもなりませんから。

・ついこの間まで、N88BASIC(86)とMS−DOSのファイルコン
バートはどうやってやるのだろうかと悩んでいました。友人にこのことを話す
とたった一言、
「FILECONV使えばいいべや」(北海道地方)
「FILECONV使うとよい」(全国で通じる?)
そうです。MS−DOSにはちゃんとコンバータがついていたのです。そうと
は知らずに今までRS−232Cでコンバートしていた私がバカだった………。

・ついに冬になりました。本州の人たちはスキーが出来るなどとはしゃぎます
が、地元の人々は寒い冬がまたやってきたかという考えが多いでしょう。苦労
することばかりです。

☆朝は寒くてなかなか布団から出られない。
☆大雪の朝は雪かきしないと(特に車に積もった雪)1日が始まらない。
☆異常に暖房費がかかる。
本州よりはよいかなと思うのは家の窓が2重窓になっていることです。これで
幾分、家の中は暖かいです。2重窓になっているのは家だけではありません。
列車やバスも2重窓になっています。列車の方はすべて2重窓ですが、バスの
方はほんの1部です。日本製バスはまだのようです。

・P6、P6と呼んで10年、こんな私も近代のハードには勝てず、徐々に他
の機種に汚染されつつあります。先日、ついにPCエンジンを買ってしまいま
した。
 今までは友人から借りていましたが、F1サーカススペシャルやりたさにと
うとう買ってしまいました。これはあくまでもこのゲームがやりたいために買
ったようなもので今後莫大に増やす予定はありません。
 すでにSAVEではP6の他に8801も所有しています。これも絶対P6
で無理といった特に面白く、興味があるソフト以外は増やさないといった前提
で購入したものです。P6で英雄伝説2なんてとても出来ないでしょう。P6
は何事も「タイニー」ですから。でもP6はメモリが少ない割には、奥が深く、
使いこなしやすいハードだと思います。ハードの勉強をしている人には何かと
P6に世話になっていることでしょう。まだまだ全国の押入の中にP6は眠り
続けていることでしょう。

 <お知らせ>

・新SAVE所有リストVer.3.0はまだ出来ていません。出来次第連絡
します。申し訳ありません。
・当局(当方)は1月に入り卒論が追い込みにはいりましたので3月いっぱい
まで活動を中断します。従って、SAVEの発行もお休みさせていただきます。
29号は4月中旬の発行になります。
・年賀状を出していただいた会員にこの場をかりてご挨拶に代えさせていただ
きます。
               編 集 後 記

・今回は述べたいことはすべて雑談コーナーに載せましたので、そちらを見て
下さい。               (代表)
・今回はなかなかいい編集だったと自分では思っています。最近忙しくなり
(高校受験のため)あまり時間が取れません。
自分自身受験なんてそうたいしたものだとは思わないのですが、学校側が忙し
くやっているので、こっちまで忙しくなっています。冷静になれないのでしょ
うね、間違ったら大変ですから。もし、誤字・脱字・苦情等ありましたらご連
絡下さい(編集担当)
・SAVE第29号は4月中旬発行予定です。

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