検索
<< 2024年12月 >>
1
2 3 4 5 6 7
8
9 10 11 12 13 14
22
23 24 25 26 27 28
29
30 31
広告
駿河屋レトロゲーム
最新記事
ブログランキング
にほんブログ村 ゲームブログ ゲーム制作へ
プロフィール
J-JSOFTさんの画像
J-JSOFT
高校時代、あれほど熱心に取り組んだMSXに触れなくなって30年余…。 MSXエミュレータとの出会いで、MSX愛が再燃中。
カテゴリーアーカイブ
ファン
QRコード

2023年11月09日

Laboratoryテーマ??27「SCREEN1.5でSPRITEモード2を使いたい」



11_9_2.png
水平方向にSPRITEを16枚並べた時、8枚まで表示される。
今回は、Laboratoryテーマ??27「SCREEN1.5でSPRITEモード2を使いたい」です。
(MSX2以降の機能となります。)
SCREEN1.5は前回書いた通り、FONTが非常に扱い易いモードです。
このモードを使ってシューティングゲームなんかを作りたい!
しかしながらMSX1の機能であり、スプライトの機能が貧弱です。
そこで、SCREEN1.5で、SPRITEモード2が扱えないか?
実は扱えます!
代表作がコナミの「スペースマンボウ」ですね。 (2023年10月2日記事参照「 MSX語り 」)
やり方ですが、システムワークとVDPの設定で行います。

詳細を説明すると非常に長く、専門的になってしまうので、今回は必要な設定のみ記載します。(簡潔に説明しきるスキルがない…。)
詳細は、「 MSX2 TEchnical Hand Book 」等で調べてみて下さい。




ラベル名

アドレス

初期値

内容

設定値



T32ATR

&HF3C3・F3C4

&H1B00

SCREEN1スプライトアトリビュート・テーブル
&H1E00




GRPATR

&HF3CD・F3CE

&H1B00

SCREEN2スプライトアトリビュート・テーブル
&H1E00







名称

対応するVDP

機能

設定値



R#0

VDP(0)

モードレジスタ#0

&H4




R#5

VDP(5)

スプライトアトリビュートテーブル(LOW)

&H3F



R#8

VDP(9)

モードレジスタ#2

第3ビットを「1」




モードレジスタ#0(R#0)



0

DG

IE2

IE1

M5

M4

M3

0




DG:1のとき、カラーバスを入力モードにして、データをVRAMに取り込む
(デジタイズ機能を持ったMSX2でのみ使用可能)
IE2:Interrupt Enable2(1のとき、ライトペンによる割り込みを可能にする)
IE1:Interrupt Enable1(1のとき、水平帰線による割り込みを可能にする)
M5:表示モードの設定に使用する
M4:表示モードの設定に使用する
M3:表示モードの設定に使用する
(IE2はMSXでは使用しません。常に「0」)
(R#1のM1、M2と、R#0のM3~M5が「00010」でグラフィックモード3(SCREEN4)となります。
モードレジスタ#1(R#1)



0

BL

IE0

M1

M2

0

SI

MAG




BL:1=画面表示、0=画面非表示
IE0:Interrupt Enable0(1のとき、垂直帰線による割り込みを可能にする)
M1:表示モードの設定に使用する
M2:表示モードの設定に使用する
SI:スプライトのサイズ 1=16×16、0=8×8
MAG:スプライトの拡大 1=拡大する、0=拡大しない


スプライトアトリビュートテーブル(LOW)(R#5)



A14

A13

A12

A11

A10

A9

1

1




(A9は必ず「1」に設定)

モードレジスタ#2(R#2)



MS

LP

TP

CB

VR

0

SPD

BW





MS:1=マウスを使用する(カラーバスは入力モード)、0=マウスを使用しない(カラーバスは出力モード)
LP:1=ライトペンを使用する、0=ライトペンを使用しない
TP:カラーコード0の色をカラーパレットの色にする
CB:1=カラーバスを入力モードにする、0=カラーバスを出力モードにする
VR:VRAMの種類を選択する(1=64K×1bitまたは64K×4bit、0=16K×1bitまたは16K×4bit)
SPD:1=スプライト非表示、0=スプライト表示
BW:1=白黒32階調、0=カラー(Composit encoder にのみ有効)
(MS、LP、BWはMSXでは使用しません。常に「0」)

因みに「SPRITE EDITOR」はSPRITEモード2に対応しています。

BASICのサンプルプログラムです。
11_9_1.png
90行と100行でSPRITEモード2に設定できます。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/12268573
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: