映像信号を測る / PC-8801FA

2012年4月4日

(前置き:※PC-8800シリーズはバリエーション豊富なので機種毎に値が違う可能性があります。マニュアルにタイミングチャートが記載されているのかもしれませんが所有していません。私はPC-8801について詳しくなく、細かい仕様はよくわかっていません)

PC-8801FAはアナログRGBがD-SUB15ピンとして出力されていて、垂直同期信号と水平同期信号が別々になっています。測定はV2MODE,CPU速度4MHz,本体背面にあるモニタ解像度切り替えスイッチは15KHzに設定しました。ディスクを入れずに電源投入してしばらくするとHow Many Files?の表示になるので、この状態で放置しての測定です。

まずは垂直同期期間です。
15KHz Vsync

垂直同期期間は約16.003ms、測定時の有効数字でみると16.00msでした。最初から不安になる数字です。というのも周波数で表記すると62.5Hzです。一般的な60Hzという数値よりも離れています。
Enri’s Home PAGE (PC-8001)さんのページでは、PC-8001の垂直走査周波数が60Hz、Diary on windさんのページではPC-8801は61.226Hzと表記されています。
60Hzだと想定しているものに対して2.5Hzの差があるとなると結構大きいです。1秒間ごとに2.5回だけ画面更新のズレが生じますから25秒後には1秒分の画面のズレが起きることになります。PC-8801は垂直同期割り込みがあるので、割り込みでタイミングを取っているソフトで影響が出ますね。
これが本体の個体差によるものなのか、8800シリーズの種別による違いなのか、私の測定ミスなのかはわかりません。

続いて水平同期期間です。
8801FA水平同期期間

約62.465usでした。16.01KHzくらいでしょうか。これだと水平走査周波数が15KHzというよりも16KHzになってしまうので、測定時の誤差によるもの、もしくは、先の垂直走査周波数の事も考えると、測定に用いた8801FA内の水晶発振器にズレが出ているのかもしれません。

同期信号は負論理でTTLレベルです。水平同期信号のパルス幅は4.48us、垂直同期信号のパルス幅は499.86μsでした。

水平同期信号と垂直同期信号を並べたものがこちらです。
8801FA水平垂直同期信号 8801FA水平垂直同期信号拡大

青いラインが垂直同期信号、赤いラインが水平同期信号です。最初の画像では、水平同期信号の電圧レンジを変えてあります。垂直同期信号の同期パルス部分を拡大したのが2枚目の画像です。
1回の垂直同期信号期間は、約8本分の映像信号の期間と同じなのですが、よくみると2つの同期信号の立ち下がりタイミングにズレがあり、約11.8usほどでした。

今回は同期信号だけでなく、映像信号もみてみました。ただ、手持ちのオシロが2chなのでRGBのいずれかと同期信号のどちらかしかみれませんから、Redと水同期信号の組み合わせです。映像信号の受け方がわからなかったので、とりあえず75Ωの抵抗を使っています。
BASICからpaint(0,0),2:console,,0を実行してファンクションキーを非表示にして画面を赤一色にしています。(カーソルはどうやって消すんだろう…)

8801FA赤色のみ

Redの映像信号に水平同期信号のノイズが乗ってしまっているのは、両信号のGNDをまとめてしまったからかもしれません(PC-8801のRGB映像信号にはRGBそれぞれにGNDがあります)。
Redの映像信号が最大になっている期間、つまり赤い映像が表示されている期間は44.59us、水平同期信号の立ち上がりから赤の表示開始までは9.067us、赤の表示終了から水平同期信号の立ち下がりまでは4.53usでした。水平同期信号のパルス幅4.48usを加えると一本分の水平期間で62.667usになります。先ほどの水平期間の測定値62.465usとはちょっと計算がずれてしまいましたが、62.667usは15.957KHzですから、なんとか水平周波数15KHzといえる値に収まります。先の16.01KHzとの差が気になるのですが、0.1us単位での誤差なので判断が難しいところです。もっと厳密に調べないとダメですね。

ついでといってはなんですが、赤一色の状態だけではなんですから、縦線を1ドット毎に描いてみました。赤と黒が交互に表示されている縞模様です。BASICでCLS3:FOR X=0 TO 639 STEP 2:LINE(X,0)-(x,199),2:NEXTを実行しています。8801 BASICの座標範囲が0-639なのか1-640なのか知らないのですが雰囲気で。

8801FA赤縞模様 8801FA赤縞模様拡大

1枚目の画像を拡大したものが2枚目で、赤の映像信号がアナログ的に時間変化しているのがわかります。

15KHzモードでの測定は以上ですが、PC-8801FAには、V1MODEへの切り替えスイッチ以外にCPUを8MHzで動作させるためのスイッチがあるので切り替えて測定してみたところ、2つのスイッチをどのように切り替えても映像同期信号に変化はありませんでした。

さて、PC-8801FAは背面の切り替えスイッチで映像信号を24KHzにすることが出来るので併せて測定してみました。ざっとまとめると、垂直同期期間が約18.05ms(55.4Hz)、垂直同期期間が約40.35us(24.78KHz)でした。
15KHzと24KHzでは垂直走査周波数が5Hzほど違うので垂直同期割り込みでタイミングをとっているゲームでは影響がありそうなのですが、どうしていたんだろう・・・。プログラム側から強制的に15KHzにすることが出来たのか、それとも24KHzだと速度が変わっちゃったりしたのでしょうか。

それから、PC-8801はI/Oポートの50H,51Hあたりを使ってCRTCを操作できるようです。これによって周波数が操作できるかもしれませんが、その辺の事は詳しくないので未調査です。

映像信号を測る / PC-6001mkII RGB

2012年4月1日

PC-6001mkII背面のデジタルRGB出力から水平・垂直同期信号を測定してみました。

PC-6001mkIIでは付属の取扱説明書にタイミングチャートが記載されているため、あえて測定する必要はないのですが、マニュアルと実測値が違うことはよくありますし、デジタルオシロで2チャンネル同時測定をしてみる題材として、あらかじめ数値がわかっている機材を使った方が都合がよいのです。

マニュアル掲載のタイミングチャートではこのようになっています。上図が水平方向の各種タイミングで、下図が垂直方向です。水平方向は64.696μs(15.457KHz)、垂直方向は16.688ms(59.922Hz)ということになっています。

PC-6001mkII描画タイミング

PC-6001mkII描画タイミング

タイミングチャートの水平方向の図では、水平同期信号がフロントポーチ・バックポーチで階段状に変化しているかのようにみえますが、実際には、TTLレベルで同期信号のパルスが負論理で発生するだけです。

mkII_Hsync

mkII水平同期信号

垂直方向も同様で、TTLレベルで負論理でした。同期期間もマニュアル通りです。

mkII_Vsync

mkII 垂直同期信号

水平同期信号と垂直同期信号を同時に測定したのがこちらです。2つの信号を重ね合わせると判りにくくなるので、垂直同期信号の電圧値を倍にして表示してあります。タイミングチャートによると、垂直同期信号の間に水平同期信号が262本あるはずです。

mkII 水平同期と垂直同期信号

mkII 水平同期と垂直同期信号

もうひとつ、垂直同期信号がActiveになった瞬間の拡大図です。垂直同期信号のパルス幅は水平映像信号3本分に該当していることがわかります。これもマニュアル通り。

mkII 垂直同期信号拡大図

mkII 垂直同期信号拡大図

これらの映像信号はmkIIのモードに関わらず一定です。PC-6001mkIIの垂直方向画素数はMODE1では192、MODE5では200ですが、垂直方向の走査線数は画素数に関係なく一定なので変化しません(Z80 BUSREQは別の話です)。RGB信号も併せて調べてモード別のディスプレイエリアを比較してみるとわかりやすかったかもしれませんね。
また、リセットボタンを押しっぱなしにしている時も同期信号は変化しませんでした。

m5版 Moon Patrol / ムーンパトロール

2012年4月1日

ニコニコ動画に動画をUpしました。

ムーンパトロール

m5版 DIG DUG / ディグダグ

2012年4月1日

ニコニコ動画に動画をUpしました。

m5版ディグダグ タイトル m5版ディグダグ

PC-6001版フィッシング

2012年3月28日

「フィッシング」というPC-6001用のゲームがあります。タイニーゼビウスやドアドアmkIIみたいなメジャータイトルではありませんが、私が個人的に好きなゲームのひとつです。パッケージ写真はこちら。

フィッシングパッケージ

マニュアルには“データイースト社から1982年に発売されたアーケードゲームの「フィッシング」を移植したものである”と記述されています。私はアーケード版のゲーム画面を今まで見たことが無く、海外のサイトThe Arcade Flyer Archiveでチラシを確認したぐらいです。ゲームの内容などについては@Hashiさんが作られているPC-6001同人誌のPC6000NOTE No.4で触れています。なんだか宣伝くさい感じの書き方ですがw

さてそのアーケード版ですが、なんと、デコカセ復活の一環として、@le_renard88さんがアーケード基板から録画したものをニコニコ動画にUpされました。

ちなみにPC-6001版の画面(エミュレータキャプチャ)はこちら。
PC-6001版フィッシング タイトル PC-6001版フィッシング ゲーム画面

@le_renard88さんことルドン ジョゼフさんは、NPO団体であるゲーム保存協会を立ち上げて活動されています。活動内容はニュース記事にもなっていますので、そちらをご覧ください。

レトロゲームは文化財?! 医師、オペラ歌手などが旧世代ソフトを収集・保存へ

映像信号を測る / PC Engine DUO-R コンポジット信号編

2012年3月15日

映像信号を測る / 初代メガドライブ コンポジット信号編に引き続き、今回はPC Engineです。CとEの間に-が入らない方です。

いつものように独自調査なので無保証です。測定に用いたPC EngineはDUO-Rで、RGB化改造を施しているため、その影響がコンポジット信号に出ている可能性があります。

測定値を出す前にこれまでの補足です。色々と映像信号について調べていて気になった情報があったのでリンクします。まず、映像タイムベース測定法によると…

カラーバーストの位相は1本ごと180度反転するのが正式です。(ファミコンは反転している)
メガドライブでは反転させると画面がぎらつく為、反転させずに設計されました。(PCエンジン、MSXも同様)その結果NEC製のデジタルテレビで色が出なくなりました。
サターンでは反転させています。

という記述があります。「カラーバーストの位相が反転する事自体は知っていて、気にしてこなかったのですが、反転させていないハードがあるとまでは考えていませんでした。その辺も見ておけばよかったですね。

また、PCE 互換機の開発メモの画面表示の詳細に興味深い情報があり、PC Eingineはラインによって黒の色味が違うようなのですね。表示されない領域の色の話なのですが、信号をよくみていないと気がつかない点です。
ゲーム機によって映像の黒レベルがどう違うのか(海外ゲーム機ではセットアップも変えてあるのか)は気になるところなので、機会があれば調べたいところです。ただ、そこまで調べるのも大変なので、今のところの方針は映像の周波数を重点的にみたいと思います。

更にもう一点。ゲーム機は色々な描画モードを持っています。モードの変更が映像信号にも出るでしょうから、ここでの測定値は常に一定ではないと思います。例えば、あるモードでは垂直周波数59.94Hzで動作しているけど、描画モードを変更したら59.8Hzになる、という可能性は充分にありえると思います。

さて本編。測定は、DUO-R起動後のSTART待ち画面と音楽CD再生画面、それからたまたま手元にあったラプラスの魔の名前入力画面の3つを何回か測定して平均値を出しています。
まずは水平映像信号です。

PCE水平映像信号

PCE水平映像信号

水平同期の期間は平均すると63.55μsで、15.73HzというNTSCの規定値です。ごくごくたまに、63.8μsみたいな値を拾うことがあり、その辺を入れて平均を出すと規定から大きく外れてしまうので、こういう測定は平均を求めるより、ばらつき具合の集計を取った方がいいのかな。

続いて垂直同期の期間です。一画面分の波形をみてもゴチャゴチャしてるだけなので画像はありません。16.71μsで、59.82Hzでした。59.94Hzからちょっと外れているように見えます。Googleで59.8Hzを検索してみたところ、PC EngineエミュレータのOotakeでは垂直同期を59.8Hzとしているという記述がありました。なんというこだわりっぷり。ステキです。
また、59.82Hzをキーワードに検索してみると、PS2のノンインタレース時の周波数だったり(インタレースだと59.94Hz)、NintendoDSの液晶表示の周波数だったりと興味深いです。NDSのGBAモードとGameBoyMicroで垂直同期が違うというのは始めて知りました。[参考:http://www.pat.hi-ho.ne.jp/sata68/200601.html#31]

59.94Hzと59.82Hzの差は0.12Hzです。59.94Hzの映像機器で59.82Hzのソフトを動かした場合、まぁ要するにエミュレータとかのその辺の事ですけど、1秒間に0.12フレームのズレが生じるということは約8.3秒毎に1フレのズレが生じるので、調整しないと音と合わなくなりますよね。

垂直同期信号周辺の拡大波形はこちら。

PCE 垂直同期信号

PCE 垂直同期信号


等価パルスと垂直同期信号に切り込みパルスがないのですが、ノンインタレース表示ではフィールドの識別は不要なので、無くても構わないのですね。

PC Engineの映像波形は部分的に拡大してもオーバーシュート/アンダーシュートが小さくてパッキリとした綺麗な波形でした(コンポジットなので映像が綺麗かどうかは別ですが)。

映像信号を測る / 初代メガドライブ コンポジット信号編

2012年3月13日

メガドライブのコンポジット出力をデジタルオシロで測定してみました。いつものことですが、独自の研究によるものなので無保証ということで。メガドライブは世代によってハードウェアの構成に違いがあるそうです。私の手元の本体がどのバージョンなのかはわからないです。

測定はソニックザヘッジホッグのゲーム中画面を一時停止したものです。画面写真はこんな感じ。ソニックってゲーム中は画面に青い縁がついているんですね。気にしたことありませんでした。

ソニックザヘッジホッグデジカメ

まずは垂直映像信号です。

MD SONIC 水平映像

同期信号間の時間を何回か測って平均してみたところ、63.68μsでした。逆数を取ると15.70kHzです。NTSCの仕様とはちょっと違いますが1μ秒以下の差ですね。

続いて一画面分の映像信号です。

MDSONIC 垂直同期

画像は荒いですが、データ自体はそこそこ細かくサンプリングしています。垂直同期の間隔を何度か測定して平均してみたところ、16.689μsで59.92Hzでした。NTSCの59.94Hzからちょっとだけずれてるのかな?

変わっているところとしては、等価パルスにカラーバースト信号が乗っていました。等価パルスにカラーバースト信号を乗せる必要もなければ、むしろ乗せてしまって大丈夫なの?という感じはしますが、メガドラをつないで映らないテレビなんて聞いたことがないのでいいのでしょう。

MDSONIC カラーバースト信号

ところで、最初にソニックを実機で動かしている時の写真をアップしましたが、画面の縁に青い枠がついるんですよね。他のソフトを起動してみると黒だったり白だったり変化するのですが、メガドラってBGやスプライトの表示領域の外側に縁色を指定することができるんでしょうか?オーバースキャンエリアとして本来は映らない箇所なのかもしれませんが、これも映像信号としてオシロで確認できるんですよという例がこちらです。

MDSONIC最上位段ライン

MDSONIC最上位段ライン

画面上部に11本分?のベタな色の信号があることがわかります。本当に11本なのか気になったので、だったら11本の線が出ているのか走査線を数えてみればいいじゃん、というわけでメガドラをブラウン管テレビに接続してデジカメで画面を撮影してみました。ブラウン管だと走査線がちゃんとみえるんですよね。ビデオキャプチャ機器で画像として取り込む手もありますが、ブラウン管の方が変わった映像信号に対して融通が利くので便利です。

メガドラ画面上部走査線

メガドラ画面上部走査線

目がチカチカしますが数えてみると、縦方向に11個のドットが並んでいるのが確認できます。また、オシロの波形を観た時に①の箇所に謎の線が出ていて何かわからなかったのですが、この写真をみてもわかるように、右上にちょっとだけ青い線が出ているのです。メガドラのVDPはこの辺から描画し始めているのでしょうか。他のソフトでも右上にちょっとだけ縁色が出ていました。
ちなみに、画面右下はラインの途中で描画が止まっていて、その位置が画面上部の描画開始位置と一致していました。

メガドラ画面下部走査線

メガドラ画面下部走査線

もう一つオマケですが、画面左右の縁色がついている箇所も映像信号として確認できます。画面の上の方の水平描画1本分の映像信号です。

画面上部ライン1本分の映像信号

画面上部ライン1本分の映像信号

[追記] 縁の色について@onda_toさんから教えてもらいました。パレットのどこかの色が出るそうです。そのパレットを変更すると縁の色も変わるそうです。また、画面左下のオーバースキャンエリアあたりに色が変化し続けている箇所があるのですが、パレットがそのまま画面に表示されているそうです。
さらに追記で@naonori_msxさんからも情報を頂きました。

映像信号を測る / HDDレコーダーコンポジット信号編

2012年3月13日

前回の“映像信号を測る / XBOX360コンポジット信号編”に引き続き、SONY製のHDDレコーダでカラーバー用DVDを再生している様子をデジタルオシロで測定してみました。

まずは垂直信号です。HDDレコーダのコンポジット出力を75Ωの抵抗ではさんだ箇所を測定しています。

HDDレコーダの水平同期

ライン1本分の描画時間を何回か計測した平均は63.555μs、15.734KHzで、お手本みたいな信号でした。

未だに疑問なのは電圧です。前回、XBOX360のコンポジット出力を測定した時は、0Vから1.0Vの間に収まっていたのですが、今回は約-0.3Vから約0.7Vの間でした。RS-170AのようなNTSC準拠であれば、この電圧範囲は納得なのですが、コンポジット出力の規定がどうなっているのかよくわからないんですよね。1Vp-pであれば、最大電圧はあまり重要ではないのかな?

続いて垂直同期信号の間隔をみてみます。サンプリング数の都合で荒くなります。

HDDレコーダの垂直同期

数回測定して平均を取ったところ、同期信号間の時間は16.68μsでした。逆数をとると59.94Hzという、NTSC仕様通りの綺麗な値になります。機材の扱いに慣れていないので、こんな測定方法でいいのかなぁと思っているのですが、ちゃんと読み取れるものですね。

PC-6001mkIIの映像って上側に寄ってる?

2012年3月12日

PC-6001mkIIのビデオ出力端子からテレビに接続すると、表示領域(高さ200ドット分)が上に寄っているように感じます。接続先のテレビによって表示のされ方が違うようなのですが、私が所有しているテレビやハードディスクレコーダに接続した時、上下の黒い余白を比べると、若干ですが上に寄っているようです。

PC-6001mkII取扱説明書の資料7に詳細な画面タイミングが掲載されています。

PC-6001mkIIの画面タイミング

PC-6001mkIIのRGB出力は水平同期と垂直同期が分離しているので、それぞれの信号を取り出すのは簡単ですが、ビデオ出力では1つの信号線で2つの同期信号を正しく取り出せるように信号の流し方を工夫しなければなりません。その辺の説明はNTSCの解説書を読むかGoogle先生に聞くのがよいです。
このタイミングチャートをみると、垂直同期信号(V.SYNC)は3H、つまり水平映像3本分の長さになっています。ここだけみると、NTSCの垂直同期信号に似ていますが、それだけで同期がとれるものではありません。

まず、参考用にSONYのHDDレコーダーからカラーバーの映像を表示してみたものがこちらです。

HDDレコーダでカラーバー再生

NTSCをノンインタレースとしてみると水平解像度が262本(インタレースだと倍になります)です。厳密には0.5本目というのがありますが省略します。そのうちの20本(21本かも)はブランキング期間として画面には映らない信号になりますから、映像としてテレビに映るのは242本です。
DVDビデオはノンインタレースの場合、縦方向には240本の映像信号を持っているので、テレビ上での2本分は使われません。この2本の扱いはDVDプレイヤーによると思いますが、きっと240本の映像領域の上下に各1本分の黒い線を表示してると考えるのが妥当でしょう。
まとめると、DVDに含まれる映像が240本、未使用が2本、ブランキング期間20(21?)本で合計262本の走査線になります。
ブランキング期間20本には垂直方向の同期信号が含まれていて3本分です。また垂直同期信号の前後には各3本の等価パルスというのがあり、合計すると20本中の9本が同期信号として使われることになります。残りの11本は空き時間です。文字放送の情報が入ったり、コピーガード信号が入ったりします。
ブランキング期間20本のあとにテレビに映し出される映像信号が流れます。今回の例だとカラーバー映像です。図に赤い文字で15Hと書いてあるところからが映像信号で、1本目は余りの黒いラインだと思われます。その次の走査線からがカラーバー模様の信号です。信号の後ろの方は測定出来ていませんが、きっと240本分のカラーバー信号が並んでいて、そのあとに余った黒いラインが1本分だけあるはずです。
文字の説明ばかりで書いてる方もわけがわからなくなってきましたが、重要なのは「垂直同期信号から数えて15本目からテレビに映る映像が開始する」ということです。

さて本題のPC-6001mkIIのビデオ出力です。SCREEN3,2,2のあと、カラーコード15(黄色)で画面全体をPAINTした状態です。
mkIIビデオ出力信号

なんでしょうこれ、よくこれで同期がとれるなぁと思いますが、取扱説明書のタイミングチャートの通りです。3本分の同期信号のあと、30本分の空白時間があって、それから200本分の画面が描画されます。200本というのは、PC-6001mkIIの縦方向解像度200ドットからきています。この映像信号がテレビに入力されると、テレビは次のように解釈します。
3本分の垂直同期信号のあと、水平映像15本分を待ってから映像を表示し始めます(本来、この15本の先頭には3本分の等価パルスが必要ですが、PC-6001mkIIは等価パルスを出さないようです)。図の最上段と書かれているところから映像を表示し始めるということです。視覚的には最初の15本は真っ黒で、そのあと黄色のラインが表示されていきます。黄色のラインは200本あるはずですね。PC-6001mkII映像タイミングチャートと照らし合わせると、このあとは29本の空き水平ラインがあるはずです。

テレビの表示領域は242本で、PC-6001mkIIは200本分の表示ですから残り42Hです。最上位段の走査線位置から表示領域開始まで黒い映像が15本分があり、これが画面上部の余白領域になります。黒い場合は余黒とでもいうんでしょうか。
残りは42本-15本=「27本」で、これが画面下部の余白領域になります。比べると下の方が広いですね。これで画面上部の余白が15本、下部の余白が27本ですから、12本の差になります。12本、つまり12ドットですから、スクリーンモード1の文字1個分以上の高さに該当します。いまどきの液晶テレビだと縦方向解像度が広く引き延ばされますから、それだけ表示した時の差が広がっていきます。

まとめ

・・・という考え方で正しいと思うのですが、間違っていたらゴメンナサイということで。

さて、このようなPC-6001mkIIから出力される映像信号でよく同期がとれるなぁ思いますが、実際、私が所有しているPanasonicの液晶テレビではかなりの確率で同期が取れません。その様子をデジカメで納めたものがこちら。

mkII同期合わないよー


スクリーンモード3でカラーバーを描いてあるのですが、常に上へとスクロールしています。横方向にもうねうねしています。
画面の中央にある細くて深い黒色の帯の箇所が垂直同期信号に該当する箇所だと思われます。その前後の黒い箇所の高さ幅はほぼ同じで、これがタイミングチャートの余白部分30H,29Hかなと。この状態でしばらく放置しておくと同期が合うこともあります。
私が所有しているSONY製のHDDレコーダーでは一発で同期が合い、レコーダーからの映像出力を液晶テレビに入れると問題ないので、録画用途も兼ねてレコーダーを経由するようにしています。

ついでに補足しておくと、一般的な家庭用テレビではオーバースキャンにより、映像規格上の領域よりも表示領域が狭くなります。昔のブラウン管は隅っこの方が丸っこくて映像が伸びてしまうので、その箇所にテレビの枠を付けて隠していた・・・と聞いたことがありますが、ホントかどうかは知りません。その名残は今の液晶テレビにもあり、表示領域の縁の部分を画面外に表示するようになっています。Google検索キーワードとしては、「オーバースキャン」「アンダースキャン」です。パソコンで640×480ピクセルをフルに使い切った映像を作成して家庭用テレビ出力すると隅っこの方が表示されない事がありますが、これが原因です。

では、RGB出力だとどうなんだろう、やっぱり上寄りなんだろうか?というのが次の疑問ですが、専用モニタが手元にないため確認できないのでした。

映像信号を測る / XBOX360コンポジット信号編

2012年3月11日

ゲーム機の映像同期信号ってよくわからなかったので、じゃあ調べてみればいいじゃんと思い、比較的安価なデジタルオシロスコープを購入したので測定してみました。オシロスコープの扱いに慣れてないのと、映像信号の仕組みがいまいち把握出来ていないので、「間違ってる!」という箇所があったらツッコミお願いします。

まず、Adobe Peremiere Proの素材にあるカラーバーを使って、Adobe EncodeでDVD VIDEO化しました。RGB映像信号を映像信号に置き換えるにはRGB値の範囲の扱いが厄介で、スーパーブラックだとか、0-255なのか16-235なのかとかありますが、その辺は機材から出力される映像信号を見て、その都度判断することにしました。

XBOX360のコンポジット映像信号(黄色ケーブル)をテレビに接続して、先ほど作成したDVD VIDEOをXBOX360で再生してみます。テレビから映像ケーブルを取り外し、映像信号の信号-GND間を75Ωの抵抗で繋げた箇所をデジタルオシロで測定してみました。なぜ75Ωの抵抗を入れたのかというと、実はよくわかっていません。色々な書籍を読むと、NTSCの受け側は75Ωの抵抗を入れると書いてあったので、じゃあ入れてみようかなと。実際に75Ωの抵抗を入れて測定すると映像信号の最大値が1Vに収まるので正しいような気がします。
ちなみになぜXBOX360なのかというと、XBOX360のD端子ケーブルはコンポジット映像端子とセットになっているからです。PS2/3のコンポジットケーブルは購入した時についてきますが、今時なら真っ先に処分するケーブルですよねー。あと、DVDプレイヤーというかハードディスクレコーダも手元にあるのですが、オシロのプローブの当て方をミスって壊しちゃったら悲しいので、ある意味、XBOX360は実験台にされたともいえます。

まずは、水平同期信号から。

XBOX360コンポジット水平映像信号

同期信号の電圧レベルはほぼ0Vで、輝度の高い黄色の映像信号は1Vでした。コンポジット映像信号の電圧幅は0-1Vになるようです。その他の水平同期信号の幅や走査線一本分幅はNTSCの規定値と同じでした。

続いて垂直同期信号ですが、XBOX360はインタレース表示を行うので、2種類のタイミングがあります。まずは最初のフィールドから。奇数ライン側。

XBOX360コンポジット垂直同期信号 奇数ライン

この辺の信号もNTSCの規定と同じでした。垂直同期信号は水平映像3本分の時間幅があり、その間に6本のパルスが含まれています。等価パルス後期間にあるパルスも6個あり、6個目のパルスのあとに次のラインの映像信号が出てくるのですが、その境目をみると奇数ラインなのか偶数ラインなのか判別できます。この画像のように、6個目のパルスの後に続けて次のラインの水平同期信号があるのが奇数側の映像です。

注目点は、等価パルス前期間よりも前にある映像信号です。前のフィールド、つまり1つ前の映像の最下段にあたる偶数ラインの映像信号なのですが、1ライン分の時間幅があることが確認できます(キャプチャ画像だと前の方の同期信号部分が切れてしまっていますが)。

続けて偶数側フィールドの垂直同期信号です。

XBOX360コンポジット垂直同期信号 偶数ライン

等価パルス前期間の前にある信号は、同じ映像の奇数側ラインの最下段の映像信号なのですが、これが0.5H分しかありません。つまり、ラインの途中で映像が途切れているのです。奇数側の最下段は画面の中央で走査をやめているのですね。資料によると「奇数側262本を表示したあとに0.5H分だけ水平走査をする」と書いてあるのですが、これを指しているようです。
また、等価パルス後期間の6個目のパルスの幅が奇数の時とは違います。0.5Hだけ長いので、ここをみることで奇数側なのか偶数側なのかを判別できます。そうすることで、偶数側は画面の中央部分から走査することになります。

こんな感じでXBOX360を壊すこともなく、インタレースなコンポジット信号を見ることができました。

[追記] さっそく調子に乗って他の機器の映像信号を調べてみたのですが、まず、電圧レベルが全然違いました・・・マイナスが普通なの?という感じで、この話はまだまだ続きます。

m5版 GALAX/ギャラックス

2012年2月8日

m5版のGALAX / ギャラックスをニコニコ動画にアップしました。
m5のゲームソフトって、動画はもちろん、静止画像もほとんどみかけないですよね。

FLASH5.5でマウスホイールスクロールが変

2012年1月5日

おもいっきり環境依存の話だと思いますが、私のPCではFLASH5.5によるオーサリング時にマウスホイールで編集画面を上スクロールをしようとすると一画面分くらいすっ飛ばされてスクロールしてしまうのです。Windows7 64bit, FLASH5.5, Microsoft Comfort Optical Mouse3000という環境で、Microsoftのドライバもインストールしたような、WindowsUpdateで勝手にインストールされたような気がします。

解決方法は、コントロールパネル→マウス→上部タブのホイール→垂直スクロールのところの「スクロールが正しく機能しないプログラムを特定…」をクリックして、FLASH5.5を選択します。

[追記]
いつのまにか、上記の項目が無くなっていました。おそらくMicrosoft マウスキーボードセンターという設定ソフトに変わったからだと思います。
コントロールパネル→マウス→上部タブのマウスキーボードセンターを選択→「Microsoftマウスの設定を変更をするには、ここをクリックします」をクリック→Microsoft マウスキーボードセンターが起動するので、中央の「ホイール」の文字をクリック→1項目のちょっと下にある「スクロールが正しく機能しないプログラムを特定…」(青い文字)をクリックして、FLASH5.5.を選択です。

長野市少年科学センターに行ってきた

2011年11月6日

PC-6001mkIISRが自由に遊べるように設置してあることで有名な長野市少年科学センターに行ってきました。実家が長野市少年科学センターの近くなので、年に一度は訪れているのですが、今年に入って展示内容のリニューアルがあったようで、PC-6001mkIISRが撤去されていないか不安だったのです。

PC-6001mkIISR3台展示PC-6001mkIISR 展示

見ての通り、PC-6001mkIISRは健在でした。ただ、残念な事に以前は4台あったものが3台に減っていました。でも、PC-6001mkIISRは1984年発売で既に25年以上が経過していますし、子供が自由に触れるような状態で設置してあるものが3台も並んでいるというだけで奇跡だと思います。

こちらは同じ場所に展示してあるPC-8801(FA?)です。

PC-8801

そして長野市少年科学センターの入り口にはリボンちゃん。某所のリカちゃんに似てるような気が。

リボンちゃん

「二枚入り!組み合わせ自在!超小型ARMマイコン基板」を最初から

2011年3月27日

面白そうな基板が売っていたので衝動買いしてしまいました。
導入までの手順をまとめてみました。→http://www.retropc.net/mm/CP210x/

m5版 MAPPY / マッピー

2011年3月20日

ネットで探しても動画どころか画像すらみかけないので、ニコニコ動画にアップしてみました。実機プレイ動画です。
m5版 MAPPY / マッピー

ちなみに、エミュレータで動作させた静止画像はこちら。

PC-8001Bのフォント

2011年3月18日

フォントROMを展開してみました(拡大してあります)。

PC-8001B

2011年3月18日

PC-8001のヨーロッパモデルと呼ばれるPC-8001Bをお借りすることが出来たので内部写真をアップします。PC-8001については詳しくないため、日本モデルのPC-8001との違いはわかりません。Twitterなどで「基板上のパーツのレイアウトが違う」「POWERスイッチの箇所が違う」「基板がシールドで覆われているのでPCGカードを載せられない」といった情報を頂きました(ありがとうございます)。本体裏に2つのラベルが貼られていますが、下側は販売店舗のものだそうです。

PC-6001A

2011年3月6日

海外(アメリカ?)で発売されていたPC-6001A(またの名をNEC TREK)をretropc.netのえらいひとから借りることができたので、とことん調べてみました。

PC-6001A背面

背面写真をみるとMADE IN JAPANと書かれているので、生産自体は日本で行われていたようです。

PC-6001A内部

一番の違いはキーボードの作りです。形状はもちろん、キーのタッチ感が全く違い、とても打ちやすくなっています。また、「かな」キーは「ALT CHAR」になっています。

CPUやメモリといったハードウェア周りは、使われている半導体の型番まで日本のPC-6001と同じでした。細かい動作までは確認していないので、もしかするとWAIT信号の入り方やCPUクロックが違ったりするのかもしれませんが未調査です。内部の作りは日本版よりもシールド周りがしっかりしていてキーボード、RF出力周り、スピーカのアースがとられています。

BASIC ROMを吸い出して日本版PC-6001のROMと比較してみたところ、プリンタ周りのひらがな・カタカナの処理が少しだけ変更されていてあとはまったく同じでした。

ひらがな・カタカナが無い分、内蔵フォントが大きく変わっています。実機から出力した画像をtwitpicにアップロードしてあります。

MAP-1010の広告

2011年1月10日

古いマイコン雑誌を眺めていたらMAP-1010の広告が掲載されていました。

MAP-1010広告

雑誌名は「月刊ラム(RAM)1983年1月」です。誌面の新製品記事でも小さく取り上げられているので、MAP-1010はこの頃に発売されたのでしょうね。

PC-DR311

2010年12月25日

PC-DR311?
だよね?AIWAのDR-20じゃないよね、電源スイッチとか。
[神のみぞ知るセカイ#12話]