CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

7810

内蔵RAM

久しぶりにuPD78C10ボードをいじっていたら妙なことに気付きました。uPD78C10は0xFF00-0xFFFFに256byteのRAMを内蔵していますが、このボードではさらに0x2000-0x3FFFへ8kbyteのSRAMを外付けしています。ワークエリア、スタックは内蔵RAM領域にアサインして外…

割込み処理

uPD78C10でタイマ割込みをおこなうユーザプログラムを書いてみました。 モニタROM内に置いたベクタテーブルによりタイマ割込みIRQ1が発生するとアプリケーション内の0x2008に飛ばしているので0x2008から割込みハンドラintrを記述しています。ここではCレジス…

テーブルコール

uPD78C10のCALT命令の動作を確認しておきます。引数はエントリー番号の0~31でいいだろうと「CALT 0」と記述してアセンブルすると引数エラーが発生してしまいます。使ったPROASMⅡは各命令をマクロ展開しますが定義部分をみるとこうなっていました。 どうも引…

ベクタテーブル

uPD78C10ボードで割込みに対応するためベクタテーブルを追加してみました。デバイスのマニュアルを見るとメモリマップは以下のようになっています。 リセット(コールドスタート)が0000H番地でそれと同じページに割込みベクタが存在し、しかも場所を動かせ…

入力ピン処理

uPD78C10ボードでRAMのアクセスができなかった件ですが、そういう状態だったとするとモニタすら起動しない(モニタプログラム内のスタック操作:PUSH/POP、CALL/RETもうまくいかない)という気がします。実際にはuPD78C10内蔵のRAM領域(0xFF00-0xFFFF)にスタ…

いつのまにか故障

ほかに割込み処理の確認をさぼったボードがないかなぁと考えていたのですが、ありました。これです このuPD78C10ボードはモニタを搭載したところで満足してしまい、そのままずっとしまい込んでいたのですが今回本当に久々に通電してみました。 ところがどう…

バグ修正

もう明らかなんですが、先頭に置いた命令が間違っていて「LSPD」は間接アドレッシングで引数のアドレスに格納されているデータをスタックポインタにセットする動作でした。 メモリアドレスFF00はバックアップされていないSRAM領域なので電源ONでのデータは不…

起動不調

8085基板の不調で、同じアドレスラッチを使っているuPD7810基板から一時的に74573を借りようとこちらもしばらくぶりに電源を入れました。 ところがこちらも動きが何か怪しい・・・・実は完成直後から判っていたのですが電源ONでモニタが最初に起動するとき、…

モニタプログラムFIX

メモリダンプ、変更、フィルの各コマンドにパラメータを渡せるように修正。 リーディングゼロを省略した入力をされたときのゼロ補完とか区切り文字の検索とかを行う解析ルーチンが何気に大きくなってしまいました。 プログラムのDLLと実行は常にSRAMの先頭:…

仮モニタ完成

各メニューの実体を組み込み、メモリへのバイナリファイルのロード、内容表示、実行、と最小限の機能を持つモニタプログラムが完成しました。 これによりアセンブルしたデータをボード上のSRAMに転送し、実行できるのでROM焼きから開放されます さらに高機能…

モニタ作成開始

2400bpsではちょっと遅すぎなのでこのCPUボードも他のものと同じように38400bpsにしたいところです。クロックソースの内部設定と市販で入手できる水晶の周波数を見比べていると14..7456MHzというちょうどいいのが見つかりました。 これで内部設定で水晶原振2…

シリアルテスト

マトリクス制御はボードにモニタが載ってからに詳細検討するとして、次にモニタに必須のシリアルI/F周りを確認しておきます まずはシリアルにインクリメントデータ垂れ流しをコーディングしてみます シリアルの初期化、送信バッファがエンプティになるまで待…

ドライブ波形

マトリクスをスキャンしている順番から言うと、ある行に出す点灯データが1つ前の行に漏れている、ということになります 念のためカラムドライバとロウドライバの出力波形を観測してみました ch1がカラムドライバ(列方向のアノード電位) ch2が点灯して…

LEDマトリクス

ポートAとポートBに同じインクリメントデータを出力するようにコードを修正。 ポートBのPB4,PB5.PB6はデコードしてLEDマトリクスのロウ方向のスキャン ポートAはカラム方向へパラレルで出力しているので一定のパタンが表示されます。 これでマトリクス周りの…

Lチカ失敗

出来上がった16バイトのコードをROMに焼き、実行・・・ したのですが、これがまたうんともすうとも。4個のLEDは消灯したままです ハード接続から内部レジスタの初期化までじっくり見直したのですが特に問題ないので 出力信号を当たって見ました。 まずポート…

初コーディング

uPD7810CPUへ初めてのコーディングです。 先ずは開発ツールはどうするか・・・ なんですが、うまい具合に手持ちの汎用アセンブラPROASMⅡに7811用のマクロライブラリが付属していました。 これでおそらく7810のニーモニックをマクロ展開してくれるのではない…

メモリ周り修正

ROMに焼き付けるモニタが完成するまではROMの抜き差し、焼き直しが頻発するため ROMの足やソケットを痛めないようにZIFソケットを間にかませました 今回のシステムは外部メモリ領域が16kBになるようにコンフィグレーションしてあり前半8KB(0000-1FFFH)…

デバッグ開始

電源周りの導通をテスタでチェックし通電! 各ICへの電圧も問題なく、CPUのリセット供給、クロックの発振も確認できました。 暴走状態かもしれませんがバスも何かしら駆動されているはずと、オシロを当ててみなした。 ところがALEは出力されているのにアドレ…

部品実装完了

IC類をソケットに挿入し部品実装はほぼ終了。 梅仁丹のような個別LEDはいつものようにTLR-102Aです。 LEDマトリックス周り。結構きっちり設計してます カラム方向はソースドライバTD62785(左側)ロウ方向はシンクドライバTD62381(右側)を使いまし…

CPU実装

uPD78C10とLEDマトリックスを基板に実装。 QUIPの足がなかなか孔に入らず苦戦しました。 16本づつ同時に4列に嵌まらなくてはなりませんが、ピンセットで足を1本づつ孔に誘導しながら位置決めしていきます。 水晶は手持ちの12MHzを取り付けています。

部品実装開始

手持ちの部品からポチポチ付けはじめました なんとか手持ち在庫だけで賄えるか、微妙なところです 回路規模やCPUが使われた時代背景をかんがみ、スルーホール部品で構成していますがROMとRAMのチップセレクトについては最上位アドレスの反転・・・…

ジャンパ配線

錫めっき線で基板表面にジャンパを飛ばした状態で、 これで全ての接続すべき結線がが準備されているはずです。 回路規模が小さいとはいえ、CADの自動配線に比べはるかにシンプルでわかりやすいパタンなんじゃないでしょうか

穴あけ完了

V50基板のほうはtraceableになったものの11/28にシンガポールの国際交換局から発送されたまま 全く動きなし。 この隙に7810基板を仕上げてしまいます。 穴あけは工程の中で一番面倒なんで、思い立ったら一気にやらないと続きません φ0.6 418 個 φ1.…

基板作成(2)

発注したV50の基板が早くもshippedになったのでこちらも加速します エッチング後の基板と元のマスクです。 全く問題ない仕上がりです 全体を光に透かして見ましたがパタン切れやピンホールも見られません。 以前、マスクにPPC用OHPシートにレーザープリンタ…

基板作成

マスクフィルムが初めて使うものなので、作成パラメータを備忘録程度にメモっておきます ●マスク印刷 フィルム:A-One インクジェット用OHPフィルム#27077 プリンタ:Canon MG6330 設定:普通印刷、モノクロ印刷、高品位専用紙、きれい、マニュアル濃度+5…

マスク印刷

V50用の基板を発注したので、フェーズを合わせてこちらも基板作成にはいります 先ずはマスクの印刷ですが、サンハヤトのフィルムが手元に1枚くらい残っていたんじゃ・・と思っていたら小さい端切れしか残っておらず。 あの高いフィルムを買うのも気がすすま…

配置確認

80286基板製作時にCPLDのピン数を間違えて設計するという大ポカをやらかしたので 今度は部品がちゃんと載るかどうか確認しています 原寸パタン図を印刷して部品を仮置きしてますが、ちょっと心配だったのがQUIPのuPD78C10とLEDマトリクスくらい。ほかはゆっ…

パタン出力

パタンの引き回しはほぼ終了。 予定の配線は全て結線できました。 片面パタンで設計し、表面の垂直水平のメッキ線によるジャンパのみが必要でUEWによるジャンパは無しでいけるはずです。ライン同士の間隔の調整とか直角に曲がるところの面をとるとか細かい修…

パタン設計

uPD78C10にメモリ、周辺I/Fを配したボードのパタンを引いてみました 本来、ワンチップのマイクロコントローラならばメモリも内蔵されていてI/Fをつけるだけで機能するわけですが、uPD78C10はROMレスのチップなので外付けでROMが必要です。製品開発であれば外…

回路検討

さてuPD7810でシングルボードコンピュータを作ってみようと思うのですが 先ずは構成、回路をどうするか、です 検索するとNECのデータシートやインストラクション表などの資料は見つけてくることができます。ところが実装例、回路図というのがなかなかでてき…