[FM]FULLMSX for BLOG

詳しいMSXパソコンなどの情報はホームページで!
https://fullmsx.web.fc2.com/

FULLMSX2022夏号!? 夏らしいメニューに新装 MSXファイルを配布

2022-06-26 08:48:31 | BlueMSX

お久しぶりです。最近はMSXを加速しているような感じです。
パナソニックのパソコンだからでしょうか?
そういえばナショナルからパナソニックブランドが始まった頃は
ポケベルからケータイに変わりはじめた時代でした。
実はポケブル→パーソナル無線→初代の携帯電話→PHSに変わっていったような気がします。
聞くところによるとナショナルの社員はパーソナル無線を使っていて
得意先に商品説明をしてセールスもしていたようです。
携帯電話は既にありましたが月に維持費が10万くらいかかっていました。
その後、携帯電話はPがいいと口コミで話題になったりもしました。

というわけで、今回はFULLMSX2022のパッケージを新調することにしました。
まず、PCでグラデーションを作りそれをBMPtoMSXでMSXのBMPファイルにしました。

これがMSX用の使うデータです。上下左右のグラデーションを出力します。


粗い256色のWindows95の画面に近いですね。
今回は文字を点滅させるプログラムを加えてみました。

さらにMSXBASICバックアッププログラムは
専用ディスクを作ったり、誤ってデータが消えたりした場合のものです。
DISKBASICを使えばボリュームラベルのようなものを設定できます。
これを設定すると間違いなくコピーできます。
Aドライブ、BドライブにBACKUP.VOLファイルがあるかを調べて
表示します。

例えばディレクトリ挿入では保存することができません。
忘れて誤って保存してしまうことがよくありますね;
このようなアプリをディスクユーティリティと呼びます。
BlueMSXは2ドライブエミュレーションなので88と同じです。
書き込み可能なDSKファイルに登録しておけば
そこで書き込みできるディスクの状態かどうかを表示できます。

この状態でラベルを250文字以内で登録や変更ができます。
ここでは
FULLMSX2020 MASTER DISC
を登録しています。

例えばMENU10B.BASをバックアップ(コピー)したい場合は
2を選びます。ファイル一覧からコピーしたいファイルを入力します。

コピーするファイルを数行に書くことができます。
MENU10B.BASを入力して2行目は.(ドット)で終了します。

こんなふうに88のようにMSXで40桁をMSX2では最大80桁のFILESができます。
V9938のVRAMではパターンネームテーブルに文字情報が記憶されています。
MSXマガジンなどのMSX雑誌ではVPEEKとVPOKEを使った読み書きができるプログラムがありました。
活用するとVRAMコピーをして別のSCREENに移してファイラーにできました。
一つ一つ文字を確認しながら入力するより、
ファイルを選択するだけで入力できるのかなりラクです。何とかプログラムが間に合いました。
7/1の22:30分になりましたが、おまけに入れておきました。


次は作成したBACKUP.FSをMENU10Bにネームを変えます。
これでネームを入力することでバックアップがいつでもできます。



こんなふうにCompletedと完了したメッセージが表示されます。
SDカードを使った大容量のMSXを前提にしていたので
全てパックしたファイルを使うとディスク容量不足になることもありますが、
バックアップしてプログラムを個別にコピーすることで容量を減らすことができます。

06/26から7月版のホームページ更新後にダウンロードできます。

ダウンロード:
FC2:FULLMSXのホームページ

FULLMSX for BLOG:MSXデータ集 (fc2.com)

★おまけ

この技がバレ(FILESが見え)ないように文字色を変えたりすればマシン語で実行しているようになります。
思い始めると作ってみたくなりました。上の画像は制作中です。

SC0のVRAMデータをSC5に貼り付けてファイルを読み取るようにしてみました。
上のノイズが文字データです。わかるように表ページにしてみました。
データを裏ページにして表ページにファイラーとして使うようにすればいいのですが、
いちいち表と裏の操作をすることになるのでボツにしました。
作り直してSC0でFILESしてそこから配列変数にファイル名を書き込むほうがいい感じですね。

というわけで作り直してみました。
VRAMの開始アドレスがMSXturboR(DISKBASIC3.21)用になっていたので
MSX2+(DISKBASIC2.0)用に変えました。書き直せるようにしています。
カーソルでファイルを選んでいきます。74ファイルあるので4ページくらいになります。
行頭からカーソルを上にすると前のページの行頭になります。
コピーするファイルをEnterキーで決めると右枠にファイル名が表示されます。
最大で18ファイルコピーできるようになります。
F5キーで保存して終了します。

FILER0.FSファイルに仮保存されるのでNAME"FILER0.FS"AS"BACKUP.FS"にリネームしてください。
バックアッププログラムに引き継がれますが、わかるかたはここで直接リネームしてもOKです。

また保存したファイルを見る場合はCOPY"FILER0.FS"TO"CON"で表示します。

 


1chipMSXオリジナルロゴを16ドットスプライトで作る

2022-06-15 20:54:14 | 1chipMSX

1chipMSXの発売を記念して作ったプログラムをチェックしていました。
残念なことにプログラムがMSXturboR用ということがわかりました。
そこで今回はMSXでも実行できるプログラムで
1chipMSX以外でも雰囲気を味わえたらと思います。

セーブをしなくても30分で打ち終わる程度のものです。

16ドットスプライトはSCREENの第2パラメータを2にします。
120行と130行は円がストップする座標値です。
160行は"&B00000111”こういう文字列にしたものをVALで整数化してさらに
CHR$でキャラクターコードを出力して16回加えていきます。

190行は左のL$と右のR$を加えて最後に混合させます。
そして、230行からのバイナリデータを左と右に分けてキャラクタデータを作ります。

左右から現れて中央で止まるようにもなります。
プログラムはこっちがいいかなとマイナス数値を加算して
スクリーンセーバーのように流しています。最後はオーバーフローで止まります;
当時はスプライトの動画とかアニメーションとか呼んでいましたね。

スプライトはテキストモードでも使えます。
試しに作ってみてラクに手直しがしやすいのが特徴です。
7の水色と5の青が表示されます。


250行はスペースを10個指定して文字を消しています。

あとは部分的に書き直してRENUMをしてみました。
例えば240行と250行の間に245行とか243,245,248行と入力して
RENUM100を実行すると行番号が整理されます。そのほか、
RENUM 1000,300とすれば300から1000になります。便利です。
RENUM 100,,50とすると100,150,200になります。あまり実用的ではありませんが;
こんなふうにできるので続きを書いたりできると思います。さておき、

スプライト表示をサブルーチンに変えてみました。
何かボタンを押すと円が中央に止まります。
TIMEの20を下げると円の速度が速くなります。

スプライト消すにはSCREEN1を入力してください。では。

せっかくなので水色と紺のグラデーションをMSX2で中間色にできるようにしたいです。
次回に続きます。

 


MSXで3D 100×100の3D基礎データを作成 試してみる

2022-06-12 17:11:37 | 1chipMSX

前回に引き続いてMSXで等角図を作成していきます。
3Dはやらないことにしていましたが、ある日に図書館で3Dのイメージが浮かび上がり魅力を感じました。
それで簡単そうな等角図にしてみました。以前は等角図のようで45度でした。
ドットの斜めを利用して立体を作ったものでしたが今回は30度になり少しカメラアングルを下げた感じですね。
とりあえずは区切りがいいところまで進めていきます。

今回はP点を操作して面を作ります。
合計6点のデータを保存しますが3D座標用に20点まで拡張します。

DIM PX(20),PY(20)

PXとPYの配列変数を宣言しました。
さらに各点を計算して数値を配列変数に入れるようになっています。

画面では入っているかを実際に確認しています。
これは100に引き伸ばしたデータですから100分の1にします。
P7も手動で0,127と入れておきます。
座標は絶対値か?相対値か?ちょっとわかりませんが
3Dデータの入力がしやすいように変えていきます。

たしか88BASICで雑誌に載っていた等高線データを作った記憶がありますが、
まぁいいでしょう。BASICでワイヤフレーム程度の3Dは珍しいものではないですね。
3Dのモデリングができなかったのですからね。

かなりシンプルになりました。
真ん中からぐるっと描画しながらXYZの軸を色分けしています。



こんな感じでマニピュレータっぽくなりましたね。
各軸方向はプラスに増加して原点は(127,200)にして考えてみることにします。
次はXYZを100以内で入力をして立体を変えてみます。
増加比をN/100にしてプログラミングしていきます。

指定した大きさの図形ができました。
新ハードが生き延びているのはやはりデザインイメージが良かったのもあると思いますね。
ぶっちゃけ色を塗るだけならMSX2でも似せることはできます。

 


MSXで3D 等角図のXYZ軸、立方体のラインを作る

2022-06-11 18:48:36 | BlueMSX

今回はMSXで立体図形に挑戦したいと思います。
まず、等角図はXYZの角度が120度の線を描く図です。

PCはXとYがあります。これにZ軸をY軸に変えます。
XとY軸を新たに作りますが対称になります。
三角比では√3で「ひとなみにおごれや」1.73205~になります。
座標を出します。
直線はZが垂直ラインで10に対して
XとYの長さが10*√3になり水平ラインでXとYで約17になります。

これは100に設定していますが、三角比が1:2:√3ということで
zが50なら長さが2倍になるのでXとYを50に変えます。
さらに左右の点と対角線上からの先の最後の点を計算します。
ちょっと長くなるので割愛します。

こんなふうにできます。陰線処理は手動でカットします。
思っていたよりも座標計算はカンタンでしたね。
図形を押し出すことができたのであとは座標を作ればよいですね。
難しくはありません。面をスライドさせればできます。
GYを200に調整しました。
MSXはYが192まででMSX2では211までになっています。
もしかしたらこれは文字を下に表示できるように合わせたのかなと思います。
当時のMSXの広告には3Dを表示したMSXパソコンなどあります。

というわけで出来上がった3面をデータとして使っていけば、
引き伸ばしたり、拡大したり、縮小できるようになります。
ちょっと考えるとおもしろいですね。
ダイスにする予定はありません。では。

 

 

 


MSX文字を使ってサイコロを作る READ,RESTOREなど

2022-06-02 17:43:19 | 1chipMSX

今回はMSX文字を使ってサイコロを表示します。
MSX1から2に変わるときに作った記憶がありますが忘れています。
GRPHキーを使うことで簡易的なグラフィカルなことができます。
当時のPCやワープロでは罫線を引いて表を作っています。
文字間罫線などもできるようになりました。
今はデータ表に罫線を引いたものはなくなりました。
個別データなら罫線で区切りが必要な場合もあるかもしれません。

さて、こんなふうにDATA文を書きます。実行すると5が表示されます。
FOR文はREADを5回読み込み表示させます。
このプログラムを変えて6まで作ります。
1chipMSXなどPCキーボードの場合は左のAlキーを押しながら入力できます。
I が縦、-が横の罫線でEとTとBとCが四角の頂点の罫線です。
●は]キーです。

とまぁこんなふうにできます。
MSXはテキストの前身の英数のアスキーコードで文字を書きますが、
MSX文字、PCの特殊文字は機種によって違いますが罫線は同じだったと思います。
これを6個作るのは大変ですからオーバーライトで書きます。
160を入力してEnter、170を入力してEnterと通しで行番号を作ります。



どんどん作っていきます。


半分までできました。あと半分作ります。

あと1行で450行までがデータになります。
サイコロの目を修正します。
スペースで消して変更した行はEnterで確定します。
6はマルを加えます。番号を入れておくとよいです。



できました。実行すると1の目になったと思います。
さて、ここで今までのように5を表示させたい場合はRESTORE命令を加えます。
RESTOREはREAD命令で読み込む行番号を指定できます。

こんなふうにできます。
今度は5行の6列でダイスを文字列としてメモリに入れます。


というわけで、こんなふうに完成しました。
実行するとダイスの目を出すことができます。
こんなふうにDATA文を活用することができます。
長くなりましたが、ご視聴ありがとうございました。