Sorry,this homepage is written in Japanese. English page is not available.

Tatsu's MSX情報局(Tatsu's MSX Researches)

Update:

 本ページ以下のページはスタイルシートに対応したブラウザーでご覧になると、より見やすくなっております。


[Tatsu's MSX Research設立に当たって]

 MSX・FAN誌の休刊後の現在、 MSXに関する情報が少なくなるのは必至の状況となっております。そこで、Tatsu's MSX Researchでは、MSXに関する情報をTatsuの知っている限りで提供します。


[組織図]

[Baboo!] MSXのつどい online MSXデジタルアナーキストマガジンPoPiPu!
FSW倉庫 Gigamix online MSX MAGAZINE永久保存版2
MSXメーリングリスト にあなたも入りませんか?
FreeML  メールアドレス
 

御意見、御感想、御希望等ありましたら何でもE-Mailでどうぞ

This page is presented by Tatsuhiko Syoji(rxk16664@nifty.ne.jp)

[本ページのリンクについて]

 本ページのリンクについては、自由に張ってもらってかまいません。
 報告を頂ければ、Tatsuが喜ぶかもしれません。
 こちらのバナー(http://homepage3.nifty.com/Tatsu_syo/TMR/Images/TMRLogo.PNG)もどうぞ。
[Tatsu's MSX情報局バナー]


[リストのページ]

 何と、ゲームのリストがこんな所に出てきております。変かな?
 これから出てくる2つのゲームは、MSX2以降の機種のBASIC用です。マルチタスクのシステムで、このリストを見ながら打ち込むなり、カット&ペーストを駆使するなりして、打ち込んで遊びましょう!!ちなみに、これらのゲームは私の得意だった技BASICの1行プログラムで出来ております。
注意!!chr$(128)は打ち込むときには"ここにchr$(128)の1文字が入る"と打ち込んでください。

タイトル:重力逆転!!

遊び方: runすると、自機(点)が出てきます。このままでは、自機は水色の壁にぶつかってしまうので、スペースキーを押して、上下の壁にぶつからないようにします。重力は変動しやすく、下向きに働いていたかと思うと、上向きに変わってしまうことがあります。壁にぶつかったらゲームオーバーです。
 print s[return]と打ち込むことで点数を見てください。
ちなみに、このプログラム、NV-Magazine 1996年8月号にも掲載されました。面倒くさがり屋はそちらをどうぞ。

1 SCREEN5,0:SPRITE$(0)=chr$(128):Y=15:X=Y:FORI=0TO1:
COPY(1,0)-(40,40)TO(0,0):Y=Y+(STRIG(0)*2+1)*(1+(S\50MOD2=0)*2):
PUTSPRITE0,(5,Y),10,0:R=RND(1):X=X+(R<.5ANDX>1)-(R>.5ANDX<23):
LINE(40,0)-(40,40),7:LINE(40,X)-(40,X+15),1:I=-(POINT(5,Y)=7ORY<0ORY>40):
S=S+1:NEXT

タイトル:3D (!?) Drive action game N-DRIVE Part 2

遊び方:カーソルキーの左右で自車(点)を操り、迫り来る先行した車をコースアウトしないように避けてください。先行した車にぶつかったり、コースアウトしたりするとゲームオーバーです。
print a[return]と打ち込むことで点数を見てください。

1 SCREEN5:SPRITE$(0)=chr$(128):X=9:FORJ=0TO1:R(0)=RND(1)*9*(AMOD6=0):
FORI=5TO1STEP-1:D=I*5:LINE(5-I,D)-(12+I,D+5),2,BF:E=R(I):
LINE(5-I-E,D)-(5-E,D+5),2-E,BF:R(I)=R(I-1):NEXT:S=STICK(0):Z=Z+(S=7)-(S=3):
X=X+Z:PUTSPRITE0,(X,28),8,0:A=A+1:J=-(POINT(X,28)<>2):NEXT


[MSX-BASIC MAGAZINE]

またもや、どっかで見たようなタイトル名のコーナーです。こっちはBASICに関する話題をお送りします。

\演算子,mod演算子の罠 ?

 まず、この2つのプログラムをMSX-BASICで実行して見ましょう。
print 100000 \ 10 print 100000 mod 3 この2つ、どちらも、エラーが出ます。恐らく、\演算子,mod演算子が整数でしか演算をしないので、このような事が起こったのだと思います。fix関数を使ってプログラムを組めば、回避出来ますが、知らないと、結構悩むと思います。注意しましょう。

1行プログラムの作り方

 気をつける点はまず、変数名です。1文字にしないとバイト数の無駄を起こします。1行プログラムは1バイトでも少く組まなければいけない(でないと行入力バッファに入らないようで、リスト表示すると、終わりの方が切れる)ので、変数名以外の文字数もなるべく少くしましょう。テキストモードで1文字だけ出力する場合はVPOKEを使った方が小さい場合があるので、試行錯誤しましょう。座標系を左上に持っていって桁数分の文字数を稼ぐのも手かもしれません。(N-Driveシリーズでやったなぁ、この手)制御構造では、fori=0to1:(処理):i=-(条件):nextというふうにするC言語でいうdo{}while;ループが有効に使えます。(どうせ1行だから変数の重複はたぶんないし)その他、論理式を多用して、ジャンプ関係が使えないのを補いましょう。後はアイデアと、形作りの全体の工夫です。頑張って下さい。

1つのプログラムで複数機種に対応するBASICプログラムの作り方

 まず、各機種のBASICに書式、動作などが同じな共通命令を調べて、主要な部分は共通命令で組むようにして下さい。ただ、スクリーンモードの初期化などは、どうしても機種依存します。そこで、ON ERROR GOTO命令を使い、機種毎にその部分を機種依存の命令で組んで下さい。そうすると、機種依存命令の所でエラーが出て、別の機種用のルーチンにつれていってくれるプログラムが出来ます。エラーが出なければ、機種番号を変数にセットする事で、機種依存命令を使う際、機種毎のルーチンに分岐するという手法も使えます。例えば、

9 ON ERROR GOTO 910
10 KEYOFF:SCREEN 0:WIDTH 40:R=RND(-TIME):PC=0:'For MSX
11 ON ERROR GOTO 0 12 if pc=1 then for i=0 to 10000:next else for i=0 to 100:next
13 end
910 SCREEN 3:WIDTH 40,25:CONSOLE 0,25,0,1:COLOR 7:PC=1:RANDOMIZE (VAL(RIGHT$(TIME$,2))):RESUME 11:'For PC98

 このプログラムをMSXで実行すると、10行ではエラーが起きないので、10行が無事実行され、初期化が行われ、変数PCに0が入ります。こんどは、PC-98系のN88-BASIC(86)で実行してみましょう。10行のKEYOFF命令で、エラーが出て910行に飛びます。ここでPC-98用の初期化が行われ、変数PCに1が入ります。その後は、12行のように変数PCを使う事で、各機種に依存した処理を書く事が出来ます。
プログラムが出来たら、セーブする訳ですが、他機種に何等かの形で持っていっても内容が変わらないようにする為に、セーブ時は、アスキーセーブします。
 これで、1つのソースファイルで複数機種で動くBASICプログラムの出来上りです。MSXのファイルが何の変換もいらずに読み込める機種だと、1ファイルで複数の機種で使えてお得で、かつ、満足度が大きいでしょう。1つのプログラムで、何機種で動くかに挑戦してみてはいかがでしょうか?(私はMSX,PC-98の2機種しかまだやったことがない。)


[Tatsu印品質保証品一覧]

 このコーナーでは Tatsuが実際に購入したりして使ったことがあるソフトの中で、自信をもって勧められるものを紹介するコーナーです。

◎MSXフリーソフトウェア100選

 あまりにも有名なベストセラーのフリーソフトウェア集。ツール、ユーティリティー、開発環境、画像関連、音楽関連、その他諸々、色んな物が手に入るコストパフォーマンスの高い自信をもってだれにでも勧められる一品です。特にTurbo-Rユーザー、更に言うなら、MSX-VIEWユーザー(使えるのかな?)にはお薦めです。
 現在では、モオソフトさんのほうから入手することができます。

◎Networkers Gift Disk(NGD)シリーズ

 こちらも、定番のFSW集。音楽や画像関連のユーティリティーも多く(特に、音楽関連は#3があれば、他に何もいらないと思う。)持っておくと、意外なところで役に立つ一品。
 プログラム関連では、G/H-FORTHとその講座やアセンブラの講座テキストZ80講座、ジョイパッドポートにつながる周辺機器に関するテキスト制御しま書、その他数々のテキスト類が収録されてたりします。
 現在では、SyntaxのMSX Disk Writerが終了したので入手法はないようです。

◎テキストエディタV&Z2(Viper & Zero)

 BBSやMSXフリーソフト100選で手に入る高性能なテキストエディタ。高速、高機能、巨大テキストファイルも編集可、カスタマイズも出来るといった特性を持つテキストエディタで若干くせがありますが、MSXも実用的に使えるという手応えを感じさせてくれます。これがなかったら今頃どうなっていたかと思うとぞっとしますね。やや、バグがあるようですが、それでもなお、使いたいという気にさせてくれる一品です。ちなみに、このエディタのモデルはあまりにも有名です。(私に言わせなくとも分かるッショ。)
 現在では、各地のBBSから入手できるほか、前出のMSXフリーソフト100選第4ロット以降にも収録されております。

◎HI-TECH C

 オーストラリアにあるHI-TECH software製作のANSI-Cと互換性を持つCコンパイラです。
 かつては製品だったのかもしれませんが、現在では、フリーソフトウェアとなっており、無保証ながら、個人用・商用を問わず、あらゆる用途に利用することができます。
 実際、筆者もHI-TECH Cを使ってSyntaxさんの日本最大のMSXディスクマガジンNVに作品を投稿していたりします。(と言うか、C言語で作ったゲームを投稿したいために私は導入しました。)
 一本でCコンパイラ、マクロアセンブラ、リンカ、デバッガ、ライブラリアンとC言語やアセンブリ言語での開発に必要なソフトがこれ一本ですべて揃っているので、C言語使いだけでなく、アセンブリ言語使いにも薦められます。
 日本の方は、たろさんのFSW倉庫から入手するのがネットワークのトラフィックを考えると良いと思います。

◎スーパーパッケージ

 よろず情報局で何度も出てきたモニターデバッガSUPER-Xが収録されているパッケージです。ソースファイル付きなので腕に自信のある人にはたまらないでしょう。機能も多く、応用範囲も広いソフト(使い方次第で、バイナリエディタ、フォントエディタ、ディスアセンブラ、ディスクエディタ、漢字テキストファイルビューワ等になる)です。テキストファイルの読み物も作者の感性が存分に発揮された仕上がりになっていてなかなかのものです。その読み物の中にもソースファイル集があったりして、案外役に立ちます。
 現在は作者であるRomi氏のホームページ(URL失念)からSUPER-X本体を入手することができます。読み物のほうは、Romi氏の意向から現在は入手不能になっております。

◎MSX-C Ver.1.1 & MSX-DOS TOOLS & MSX-C Library

 言わずと知れた、標準開発環境。これだけ持っていれば一通りのプログラミングは出来るので一生MSXで遊べるでしょう。ただ、テキストエディタMED.COMははっきり言って使えないです。しかも、M80,L80はCP/Mエミュレータでも動くので、高速CPUとHDD等の優れた環境を生かしたクロス開発もばっちりです。
 現在の入手法に関しては、アスキーのほうでは販売を行っていないので、合法的に入手するのは難しそうです。


[特別転載]

 Ken Hasegawa氏制作のCP/Mエミュレータz80+cpmを転載します。
 Ken Hasegawa氏からのメールで「ご自由にお使いください」とのことで、問題ないと判断して転載を行いますが問題がある場合はご連絡ください。

CP/Mエミュレータz80+cpm本体(Win32用)
CP/Mエミュレータz80+cpmソースファイル


[編集後記]

1999/12/30

 MSX電遊ランドやらMSXマガジン復刊準備号やら見た目では、MSX復興も夢でもないか?というような、明るい話題で持ちきりですが、本当に全てがうまくいっているのでしょうか?
 本来、MSXを支えるべき、同人ソフトにせよ、フリーソフトにせよ、量という意味では、今年は物足りないような気がしたのは私だけでしょうか?
 という意味もあって、現在、SOLiD C用のグラフィック関連ライブラリ組んでいるわけですが、今、MSXでプログラム組んでる人ってどのくらいいるものでしょうか?
 という訳で、手前一人じゃできそうもないので、2000年に見てみたいネタ。

1999/11/25

 MSX World Expo'99向けに書き下ろしたものの、スタッフの準備不足でお蔵入りとなったC言語徹底比較を自分のページで公開しました。
 今回は、SOLiD CとSOLiD C用ライブラリ、アセンブラ/リンカのAS/LDが見つかったのをきっかけに、MSXメーリングリストで提案して、実現したものだったりします。
 まあ、ツール類はほとんど全滅状態なので、仕方ないとは思っておりますが。
 で、SOLiD Cですが、ANSI非対応という点を除くと、他のC言語処理系と比べて、コンパイル速度、生成されたコードの大きさ・速度とも他のC言語と比べて優れており、ゲーム用を中心に使えるのではないかと思いました。

1999/10/24

 Judgement Baseballのデータ形式について書きたいが故に、少しだけ、ページをイメージチェンジしてみました。
 今回は、某番組を意識してみたつもりですが、下手すると、Tagoo Link! Link! Link!でもっとも長い説明文を誇る大阪の某氏になってしまうので、少しだけ困ったところだったりします。

1999/08/26

 MSX電遊ランドも無事終わりました。個人的には、CTRL+Gさんの売り子をしたり、西アスキー元社長に質問したりと色々な事があって面白かったです。
 それにしても、講演の中で、アスキーオフィシャルのエミュレータに関する話が出たのには驚きました。これで、エミュレータ用とか言ってマシンを買ったり、自作したりするユーザーが増えたりして。

 MSX Emulator Reports!を書いていて思ったのですが、最強のMSXエミュレータマシンを組める/買えるチャンスはだんだん減っているのかなという気がしてきました。
 現在のPCをいかすにはWindows 98が当たり前という状況になって来ていますが、Windows 98をMS-DOS上で動くエミュレータ向けに設定するにはコツがいります。
 また、最新の周辺機器に必ずしもMS-DOS上のエミュレータは対応しきれるわけではありません。
 それでも、質の高いエミュレートにはfMSX-MSDOSが必要という状態は改善されていません。(RuMSXはかなり頑張っているとは思うのですが)
 これらを考えると、今後MS-DOS上で動くエミュレータが満足に動く環境を整えるのは難しくなるのではと思った次第ですが、皆さんはいかがお考えでしょうか?
(1999/04/18)

 このホームページをはじめて出してから、ホームページを持たず、パソコン通信でテキスト版を出してた期間を含めて3年。
 ゲーム等の情報は他のホームページにも腐るほどあるけど、技術情報のような現役ユーザーにとって役立つ情報の量は相変わらず少ない現状。
 Baboo!のホームページ紹介文が長くなっているのを見ながら、「濃い」ホームページが見たいなと思う今日この頃です。
 このページは皆さんの役に立っているのでしょうか?
(1998/12/10)

Tatsu's MSX情報局では、皆様のMSXに関する情報をお待ちしております。皆さんの知る限りの数々の情報を集めて、皆様のMSXライフに役立てたらとの思いで、この文章を作成していますので、どんどん情報をお寄せ下さい。