メガドラ実機で自作のROMファイルを動かしてみた話

メガドラ実機で
自作の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. 画像表示の裏側
  → 画像をメガドラで表示する前処理
    について
ご清聴ありがとうございました!
1 of 14

More Related Content

What's hot(20)

Summer camp2019 group2Summer camp2019 group2
Summer camp2019 group2
openrtm1.2K views
Summer camp2018 group1Summer camp2018 group1
Summer camp2018 group1
openrtm15 views
Summer camp2018 group2Summer camp2018 group2
Summer camp2018 group2
openrtm872 views
20131116 raspijam320131116 raspijam3
20131116 raspijam3
Akira Ouchi3.3K views
Summercamp2020 group2Summercamp2020 group2
Summercamp2020 group2
openrtm565 views
Unity講習会(初級)Unity講習会(初級)
Unity講習会(初級)
torisoup22.2K views
VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015
VR開発ならUnreal Engine その理由とメリット@VRCカンファレンス2015
エピック・ゲームズ・ジャパン Epic Games Japan7.9K views
elixirを使ったゲームサーバelixirを使ったゲームサーバ
elixirを使ったゲームサーバ
Hidetaka Kojo15.9K views
Oculus Game Jam in Japan #3Oculus Game Jam in Japan #3
Oculus Game Jam in Japan #3
Shinya Hayakawa956 views
UE4ローカライズ事例 (UE4 Localization Deep Dive)UE4ローカライズ事例 (UE4 Localization Deep Dive)
UE4ローカライズ事例 (UE4 Localization Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan20.3K views
SocketStream入門SocketStream入門
SocketStream入門
Kohei Kadowaki2.8K views
Unityは神,Unrealは現実Unityは神,Unrealは現実
Unityは神,Unrealは現実
Linea31991.3K views

Similar to メガドラ実機で自作のROMファイルを動かしてみた話(20)

UnityとnodeとMMDとUnityとnodeとMMDと
UnityとnodeとMMDと
sters6.6K views
ゆるロボ製作所ができるまでゆるロボ製作所ができるまで
ゆるロボ製作所ができるまで
Mikito Yoshiya3.8K views
Unity恐くないよ!!Unity恐くないよ!!
Unity恐くないよ!!
nakamura00128.5K views
IEとメモ帳でかんたんゲーム開発IEとメモ帳でかんたんゲーム開発
IEとメモ帳でかんたんゲーム開発
amusementcreators3.8K views
「AROW」お披露目(実用編)「AROW」お披露目(実用編)
「AROW」お披露目(実用編)
Drecom Co., Ltd.2.3K views

メガドラ実機で自作のROMファイルを動かしてみた話