狠狠撸

狠狠撸Share a Scribd company logo
メガドラ実機で
自作のROMファイルを
動かしてみた話
大神 祐真
2020-10-25
自己紹介
大神祐真
@yohgami
[仕事]
グループウェア
メーカーの
インフラエンジニア
[趣味]
自作OS
レトロPC/ゲーム
自作アーケード基板
今日のお話
1. このスライドショーについて
  → 何を使って、何を作ったのか
2. メガドラってどんなもの?
  → 基板を見ながらスペック紹介
3. 画像表示の裏側
  → 画像をメガドラで表示する前処理
    について
今日のお話
1. このスライドショーについて
  → 何を使って、何を作ったのか
2. メガドラってどんなもの?
  → 基板を見ながらスペック紹介
3. 画像表示の裏側
  → 画像をメガドラで表示する前処理
    について
作ったもの?使ったもの
[作ったもの]
? メガドラのROMファイル
[使ったもの]
? 作成時:
  アセンブラ、エディタ、make
? 動作確認時:
  - エミュレータ
  - メガドラ本体、EVERDRIVE
今日のお話
1. このスライドショーについて
  → 何を使って、何を作ったのか
2. メガドラってどんなもの?
  → 基板を見ながらスペック紹介
3. 画像表示の裏側
  → 画像をメガドラで表示する前処理
    について
今日のお話
1. このスライドショーについて
  → 何を使って、何を作ったのか
2. メガドラってどんなもの?
  → 基板を見ながらスペック紹介
3. 画像表示の裏側
  → 画像をメガドラで表示する前処理
    について
なにをやったのか?
1. 画像を 320x224 px で用意
2. 減色(後述)
3. 8x8 px ごとに分割(後述)
4. VDPのメモリ領域へ設定するアセンブラを
  生成するスクリプトを作成
2. 減色 について
「使える色数」と「一度に表示できる色数」は違う
「使える色数」
→ 表現可能な色数
メガドライブ(VDP)では、
RGBそれぞれ3ビット(9ビットRGB)
→ 512色を表現可能
2. 減色 について
「一度に表示できる色数」
メガドラ(VDP)の描画システム
プレーンB(背景)
プレーンA(前景)
(ウィンドウ)
スプライト(未使用)
使う色はそれぞれの「パレット」へ登録する
1パレットは16色(内1色が透過色)
背景色 1 色
15 色
15 色
計 31色
31色へ減色
3. 8x8 px ごとに分割 について
プレーンは8x8px(タイル)で分割されている
???
???
予め定義したタイル番号をプレーンへ設定する
3. 8x8 px ごとに分割 について
プレーンは8x8px(タイル)で分割されている
???
???
予め定義したタイル番号をプレーンへ設定する
タイルのバリエーションは
タイルの定義に使えるサイズに抑える必要がある
(今回の場合 1536種)
320x224 px は 40x20 タイルなので、
40 x 20 = 1120 タイル
→ プレーンA,B両方を丸々定義することはできない
まとめ:
こんなことをお話しました
1. このスライドショーについて
  → 何を使って、何を作ったのか
2. メガドラってどんなもの?
  → 基板を見ながらスペック紹介
3. 画像表示の裏側
  → 画像をメガドラで表示する前処理
    について
ご清聴ありがとうございました!

More Related Content

メガドラ実机で自作の搁翱惭ファイルを动かしてみた话