CPU実験室

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

シリアル確認

 
V50基板のほうもROMの内容が確定するまでは抜き差しがやりやすいようにZIFソケットを付けておきました
 
 
イメージ 1
 
 
 
前回までにROMでの動作が確認できたので本来はRAM、I/Oとステップで進めていくべきですが、前にV53での開発実績があるので、そのときのモニタや開発環境をそっくり移植して開発ステップを一気に進めてしまいます
 
そこでいきなりCで記述したシリアルのテストプログラムです。ワンチップコントローラで厄介なのは大量にあるシステムコンフィグレーションに関するレジスタ群ですが
もうこれは愚直にセットしていくしかありません。しかもV50とV53では微妙にレジスタ名称や機能が違うので全部見直しです
 
イメージ 2
 
 
メンインループはシリアル出力に0x5aを連続送出するのみです
原振の水晶の出力は内部で2分周されてシステムクロックになりますが、これをプリスケラでさらに2分周してからタイマ1でカウント。ボーレートの16倍のサンプリングクロックを生成します
 
現状水晶は20MHzなのでタイマ1へのロード値を10とするとシリアル送受信のボーレートは20MHz/2/2/10/16=31250bpsとなりMIDIの通信条件を満たせます
 
 
イメージ 3
きちんとシリアル送信波形が得られ、動作に問題はないようです
Cで書いて動いてるのでスタックなどRAMの読み書きも多分できてるはずです。
ところがここではたと気付きました。V50にはシリアルユニットが1組しかなく、いまはMIDI専用のI/Fにつないでしまってます。PCのシリアルポートにつないでターミナル接続するためにはMIDIのカレントループをRS232Cに変換しなくてはなりません