JR-100: ビデオ信号の解析

ビデオキャプチャボードGV-USB2でJR-100のビデオ出力信号がキャプチャできず(関連記事)、なんとかならないかと考えています。JR-100のビデオ出力にカラーバーストが含まれていないからと予想しましたが、そもそもどんな信号が出力されているのかを検証してみようと思います。 まず水平1ライン分の信号はこんな感じでした。画面全体を■文字で埋め尽くしています。つまり描画領域はすべて「白」レベルとなります。以前別記事で計測したときは電圧レベルが200mVp-pでしたが、今回は約2Vp-pでした。前回はプローブの設定を1:10にしていただけかもしれません。。。 通常のNTSCでは水平同期信号は4.7 … “JR-100: ビデオ信号の解析” の続きを読む

JR100:エミュレータv2でゲームパッドに対応

JR-100エミュレータver2で、ゲームパッドに対応しました。さすがにゲームパッド対応用のマルチプラットフォームなライブラリを自作するのは手間がかかりすぎるので、JavaではメジャーなJinputを使っています。JInputはJavaのゲームエンジンlibgdxでも内部で使われているみたいです。 Jinputの使い方は別投稿に譲るとして、まずは設定画面はこんな感じです。 以下のゲームパッドでテストしていますが、他のでうまく動作するのか分かりません。もし動かない場合は連絡いただければ幸いです。 サンワサプライ アーケードスティックII  (JY-A46UCBL) エレコム Xinput対応ゲー … “JR100:エミュレータv2でゲームパッドに対応” の続きを読む

JR-100:エミュレータv2にCPU速度設定機能を追加

長らく放置していたJR-100エミュレータver2に新機能を追加しました。CPU速度を設定する機能です。コメントでいただいていた機能をいつか実装しようと思いながらずっと手を着けられずにいましたがようやくできました。ついでにR6522の実装も強化しています(外見はよく分からないと思いますが)。 ダウンロードはこちらよりお願いします。 JR-100エミュレータ こんな設定画面です。ほぼ10倍速となる10MHzまで指定できます。 JR-100のBEEP音の周波数はクロック周波数に直結しているため、例えば実機でクロックを2倍に修正するとBEEP音の周波数も2倍になるはずですが、エミュレータではクロック … “JR-100:エミュレータv2にCPU速度設定機能を追加” の続きを読む

JR-100: コンポジットビデオ信号のキャプチャ

念願のオシロスコープを購入したので、JR-100が出力するビデオ信号をキャプチャしてみました。 購入したオシロスコープはPico Technology社のpicoscope2205Aというモデルです。秋月電子で購入、税込28,000円でした。 ■主な仕様 (秋月電子のサイトから引用) ・帯域幅:25MHz ・チャンネル数:2チャンネル ・入力インピーダンス:1MΩ||14pF ・ビット数:8ビット ・バッファ:16キロサンプル ・波形発生器機能:DC~100kHz 正弦波、矩形波、三角波、DC、ランプ波形、sinc関数、ガウス関数、正弦半波 ※詳細はPico Technology社のサイトを参 … “JR-100: コンポジットビデオ信号のキャプチャ” の続きを読む

JR-100: MB14392について(1)

JR-100: 全体

松下電器が発行していた技術報告書からJR-100の論文を入手しました。 JR-100に搭載されているMB14392というLSIの仕様が長年謎だったのですが、この論文に情報が載っていたので、少しずつ分析していこうと思います。 ※ 分析のまとめはこのサイトのまとめページの方に順次追記していきます。 さてまずMB14392は、200ゲートアレイのセミカスタムLSI(マスタスライス方式)とのこと。マスタ・スライスLSIとは、 配線層のみの変更で専用回路を設計できるLSI。セルベースLSIでは,40枚程度のマスクを機器メーカーが用途に応じてカスタマイズする。マスタ・スライスLSIは,トランジスタ層と配線 … “JR-100: MB14392について(1)” の続きを読む

R6522:DDRBが入力モードでも矩形波出力がされる。

JR-100ではR6522のPB7に生成される矩形波をスピーカーに接続し、音声出力として用いています。このR6522のPB7に矩形波を出力するための条件として、データシートには以下の記載があります。 A precaution to take in the use of PB7 as the timer output concerns the Data Direction Register contents for PB7.  Both DDRB bit 7 and ACR bit 7 must be 1 for PB7 to function as the timer output.  If … “R6522:DDRBが入力モードでも矩形波出力がされる。” の続きを読む

R6522:Timer1の1サイクルの長さ

R6522が持つ2つのタイマーのうちタイマー1は、設定した初期値(Nとする)の間隔でI/OポートBのPB7ピンの信号を反転させる機能を持っています。つまりNの値を変えることで任意の周波数の矩形波を出力できるのです。JR-100ではこれを利用して、PB7にスピーカーを接続していて、任意の音程の音を鳴らすことができます。 さて、R6522のデータシートによると、PB7の反転周期は初回がN+1.5サイクル、2回目以降はN+2サイクルとあります。図の説明ではタイマーが0になるたびに初期値Nがロードされデクリメントを続けるとあるので、一見するとNサイクル周期になるような気がします。それなのになぜなぜN+ … “R6522:Timer1の1サイクルの長さ” の続きを読む

文献を国立国会図書館から入手する

MB8861の情報を調べているがなかなか決定打がありません。もしかすると雑誌の記事か何かで紹介されていたり何か文献としてどこかに蔵書されていないか調べているうちに国会図書館に辿り着きました。調べてみるものです。ということで国会図書館から入手してましたので、そのための手順などを紹介します。 文献の検索 国立国会図書館の蔵書検索で以下を発見。 http://iss.ndl.go.jp/books/R000000004-I1718286-00 タイトル MB8861 8ビットマイクロプロセサ 著者 星川 竜輔 他 出版年 1976-07 注記 記事分類: データ処理・計算機器–ハードウェ … “文献を国立国会図書館から入手する” の続きを読む

6802アセンブラで逆アセンブラ形式の出力に対応

6802アセンブラで逆アセンブラ形式の出力に対応した。こんな感じで出力する。とりあえず相対分岐命令の時にラベル名を出すようにした。理想的にはアドレッシングモードがdirectとextendedのときもラベル名を出すべきな気もするけどまだできていない。まあいいか。だいぶ完成形に近づいてきた気がするな。

 

R6522のシフトレジスタの挙動が分からない

R6522のシフトレジスタの挙動をデータシートをもとに調べていますが、理解できないところが多い。 モード0: SRが無効になるモードなのに、CB1の立ち上がりエッジでCB2にシフトアウトするように読める。(“In this mode the microprocessor can write or read the SR and the SR will shift on each CB1 positive edge shifting in the value on CB2”) モード1: T2カウンタの下位バイト(Nとする)のタイムアウトごとにシフトするはずだが、添えられ … “R6522のシフトレジスタの挙動が分からない” の続きを読む