[FM]FULLMSX for BLOG

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

HSP言語の解像度設定の注意 chgdisp MSXのマルチカラーモード MH3G間合い

2012-01-08 03:41:41 | Weblog

MSXBASICができればBASICに似たような言語を使うことができます。
例えばHSPとかありますが、「これはダメだろう」という命令が見つかりました。
 chgdisp命令です。この命令はWindows7で正しく使うと
システムが書き換えられて低解像度状態に陥り、
多くのウインドウがスクリーンアウトしてしまい、
さらにボタンが見えなくなります。ネットには多くの書き込みがありますが、
むやみにコピー&ペーストをしないようにしてください。
この命令はWindows95初代ごろの解像度に変更されるのですが、
サポート外の解像度になってしまいます。
もし、実行してしまった場合はドライバーの削除を選択して
ドライバーを空の状態からシステムの修復を選択して復元の措置になります。

そこで「正しい設定はこうだ!」と、書いてみました。(お!)

ということで、さっそく組んでみました。

*top
screen 0,400,400
 pos 0,0
 mes"設定する解像度を選択してください。"
 pos 0,20
 mes"XGA [4:3]"
 button"1024x768",*reso768
 mes"Quad-VGA [4:3]"
 button"1280x960",*reso960
 mes"UXGA [4:3]"
 button"1600x1200",*reso1200
 pos 0,150
 mes"XGA [5:4]"
 button"1280x1024",*reso1024
 pos 0,230
 mes"HD [16:9]
 button"1366x768",*reso768_2
 mes"HD+ [16:9]
 button"1600x900",*reso900
 mes"FullHD [16:9]"
 button"1920x1080",*reso1080
 pos 0,380
 button"キャンセル",*top
 stop
*reso768
 chgdisp 1,1024,768
 goto *reso
*reso768_2
 chgdisp 1,1366,768
 goto *reso
*reso960
 chgdisp 1,1280,960
 goto *reso
*reso1024
 chgdisp 1,1280,1024
 goto *reso
*reso900
 chgdisp 1,1600,900
 goto *reso
*reso1080
 chgdisp 1,1920,1080
 goto *reso
*reso1200
 chgdisp 1,1600,1200
*reso
 pos 0,0
 dialog"元の画面に戻しますか?",2
 if stat=7 :goto *top
 chgdisp 0
 stop

動作環境

Windows7
HDディスプレイ(22.5インチ)

入力中は「dispがどうしてもdisk」と、入力してしまうこともありました。
まぁ、MSXユーザーですから馴染まないのは仕方ないです。
そう言っているウチも動くかどうか不安ですが、動作しました。
この命令はHSPを実行中は指定した解像度になっているので、
元の解像度にまた戻るようですね。

ただ勉強になりました。
ウインドウの操作ボタンは左上に配置すれば、
もし低解像度になった場合でも操作できることです。
基本的なことですが、やはり忘れますね。

HSPの性能をチェックしてみましたが、
一時期はHSPはあまり好みではありませんでしたが、
MSXエミュレータの高速モードよりも食いつきがよく、
おいしい言語のような気がします。
MSXの対応のエディタはVBA版はできていますが、
HSP版は開発すればラクなのにできていないのが現状です。
SDカードでHSPとMSXの互換データを作りたい望みもありますが、
いつになるやら、コトシアタリヤロウカナ… 

さて、MSXですがマシン語の続きをはじめていきます。
マルチカラーモードのVRAMは上から下に7ドット描いて2ドット進んで
繰り返しとかなりテクニカルな表示です。
これは、携帯ゲーム機(ゲーム&ウォッチ)に似た画面を作るためのモード
なんでしょうか?
かなり死語的なところですが、当時のキャラクタはリセットボタンを押すと
見えないキャラクタも全て表示していました。
「8×8で描いて、つなげる手法で描いていましたからね」
ただ、そういうゲームはMSXで見たことがありません。

 

BlueMSXでやってみました。
やっぱり、ゆるキャラを描くだけの画面です。
これではあまり描くことができません。仮に動かすと
アドレスを32ステップで8ドット移動のかなり大きな動きになります。
キャラの動きには適さない画面でのようです。
背景などを描く画面とすればキャラはスプライトでしょうか、
スプライトは2倍に大きくする設定がたしかありますね。

こんなことも★

アセンブルツールの山場だったJR命令の処理がとりあえずできました!
これで、絶対指定と相対指定がBASICで作ることができます。
次回、解説します。

さて、モンハンをやっています。ただ攻撃するだけでは勝てないことがわかりました。
間合いを考えて戦わないといけないという剣術的なところがあります。
村クエスト3程度に進めていますが、んー奥が深いゲームですね。
クエスト中は体力回復、かなり減少していれば休憩してエリア外で復帰して
数回挑めば勝ちます。エリア外ではモンスターが全回復にはなっていないようです。

 

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« MSX-BW 1月3日よりダウンロー... | トップ |  Windows7SP1にMHFをインスト... »
最新の画像もっと見る

コメントを投稿

Weblog」カテゴリの最新記事