じぇみに広野氏が語るセガ・マークIIIの潜在能力

元コンパイルの開発者、じぇみに広野氏(@jeminilog/@kopandacco)が語るセガ・マークIIIの潜在能力・描画能力に関するツイートをまとめました。
56
じぇみに @jeminilog

単独でつぶやくけど、昨日なんでマーク3のスプライトが(相対的に)しょぼいと言ったのかの説明。スプライトの表示には当時だと4つの要素が必要だった。X座標、Y座標、コード、そしてアトリビュート(属性)。座標は説明不要だろう。コードってのは「どの絵を表示するか」を指定する数値。

2014-10-29 15:55:15
じぇみに @jeminilog

属性ってのは、表示の補助条件。たとえばMSXというかTI9918だと、色を直接指定する。左32dotずらしも指定できた(ずらしってのは、MSXのスプライトは座標が8bitしかないので、そのままだと画面左にはみ出る表示ができないため。一種の座標拡張)

2014-10-29 15:55:24
じぇみに @jeminilog

単色しかないMSXなら直接色を指定すればいいけど、複数の色が出る場合はカラーパレットの番号を指定する。ファミコンだと属性にカラーパレット(2bit)、上下反転、左右反転、背景の後ろに回り込むモード指定が入る。

2014-10-29 15:55:33
じぇみに @jeminilog

参考までに、PCエンジンもファミコンとほぼ同じだけどパレットは4bit、また表示サイズの指定もできた。Xが16か32、Yが16,32,64の3種で合計6種類。(8dotはない)ちなみにファミコンは8x8dotか8x16dotかをモード切替する。全部がそうなって混在はできない。

2014-10-29 15:55:42
じぇみに @jeminilog

メガドライブも大体同じだけどサイズ指定がかなり柔軟にできた。8,16,24,32dotをXYそれぞれ可変で合計16種類。しかしパレットは2bit、そこまではともかく何故か背景と中身が共通。何故だ。(アーケード用だと追加設計で別にされている)

2014-10-29 15:55:50
じぇみに @jeminilog

更に参考までにSFCはパレット3bit。ところがサイズ指定はたった1bit。画面全体でスプライトサイズは2種類しか使えない。8,16,32,64の4種のうち2種だけでXYとも同サイズ。なんか微妙な仕様であった。さてここまで引っ張ったけど、マーク3の属性はどうなっているのか!

2014-10-29 15:55:58
じぇみに @jeminilog

答:属性なんてない。マーク3では前述の3要素でしかスプライトを表示しない。だから反転もサイズも優先順位も、当然パレットすらない。元の絵をただそのままプリミティブに表示するだけ。背景は2パレット使えて反転も優先順位制御もできるのに。

2014-10-29 15:56:06
ほりい なおき @hor11

@jeminilog これ、実際に触るまで信じられませんでした。「反転ないらしい?…うそでしょ?そんな訳ないよー」って、仕様書来るまで断言してました。仕様書来ても信じたくなかったレベル。

2014-10-29 16:17:25
じぇみに @jeminilog

@hor11 アクションものだと上下はあまり使わないけど左右反転だけでも欲しかったとこです

2014-10-29 16:30:09
じぇみに @jeminilog

しかもビデオRAM的には実は属性分の領域はあったりする。同じ64枚スプライトの出るファミコンは64x4で256個の格納領域を使うけど、マーク3もビデオRAMにはきっちり256個の隙間が空いていて、でもそのうち192個しか使ってない。わざわざ意図的に除外したような構造。

2014-10-29 15:56:15
じぇみに @jeminilog

マーク3のビデオチップは9918の上位互換(というかモードを切替える)であり、9918の時はきっちり4要素使ってスピライトを表示している訳で、マーク3モードでだけ不自然に属性情報がなくなってる感じ。なんでだ。

2014-10-29 15:56:33
じぇみに @jeminilog

チップのトランジスタ数には限りがあり、他のことをするためにスプライトの属性情報を扱う回路を省いたって事かもしれないが、なんでスプライトをそこまで嫌うんだろう。不思議だ。メガドラの時もパレットで不思議な事してるしなあ。

2014-10-29 15:56:40
じぇみに @jeminilog

もうちょっとどうにかならなかったのかなあ。ファミコンって恰好の先攻例があったんだから、悪い所は改善し、いい所は真似して(当時としては)究極のナイスハードにもなり得たろうに。ああもったいない。

2014-10-29 15:58:50
岩崎啓眞@スマホゲーム屋+α @snapwith

@jeminilog 当時としては色数が多いハードなのでアクセスタイムに無理があったって想像はどうですかね

2014-10-29 15:59:28
じぇみに @jeminilog

@snapwith 可能性はあります。ハード設計者がこれ見てたら「人の苦労も知らずに好き勝手言いやがって!」って怒るかもしれない。ただ現時点では知りようがないので、むしろ突っ込んでもらえた方が私以外にもその情報を喜ぶ人はいそうですね。

2014-10-29 16:05:08
じぇみに @jeminilog

まあ実際の所ハードのスペックには「本当はどうにかなった部分」と「当時どうしようもなかった部分」があって、傍からだとどっちか判りにくいのは確かですが。私はよくファミコンのRAMがないないってネタにするけど、もう2KB増やすと、あの値段で出てない可能性があるし。

2014-10-29 16:26:50

岩崎啓眞@スマホゲーム屋+α @snapwith

PCエンジンの設計上の最大の失敗はBGとスプライトのVRAM上での並びが別だったところで、あれさえなければもっと使いやすかったのに…って野沢さんにブーたれたら、世の中には原価ってものがあるんだと言い返されたw

2014-10-30 14:14:30
じぇみに @jeminilog

@snapwith それで昨日のマーク3の話(そういう設計にならざるを得なかった事情があるかも)・・・なるほど、ご助言申し訳ありません。

2014-10-30 17:06:06

ゾルゲ市蔵 @zolge1

MSXの色の破滅っぷりというのはもう清々しいほどで、もう何十年も「これこうやったらMSXで描けるな」というのを考えている。何でも描くのは到底ムリだから描けそうなモノを探してくるのである。田舎のおばちゃんが五円玉で鶴とか亀とか作るのに似ている。

2014-09-30 21:05:47
じぇみに @jeminilog

@zolge1 そしてマーク3の9918互換モードのカラーデータのバグで、更にその色のうち1/3程度が使用禁止になってしまったSG-1000系の恐怖。(マーク3だと暗くなり過ぎてテレビにはっきり映らないため)

2014-09-30 21:09:29
ゾルゲ市蔵 @zolge1

@jeminilog ちょうどその話題を書いてました。肝臓を悪くしたみたいなゴルゴとか気が滅入ってくるオーガスとか最高でしたね。

2014-09-30 21:17:53
じぇみに @jeminilog

@zolge1 バグと書きましたが、マーク3のVDPで9918モードにした時の色の固定設定、あきらかに何か間違えた感じでした。そしてセガから「SG-1000用のゲームで以後はカラーコードのこれとこれは使っちゃだめだお♪」という注意書きが。いや出す前にどうにかならんかったんかい。

2014-09-30 21:21:16
じぇみに @jeminilog

@zolge1 思わず途方に暮れる暗さでした。これから作るゲームはともかく既に出てるゲームは調整する訳にもいかず。

2014-09-30 21:22:52