CPU実験室

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

ソフトUSART

このMCS-85ボードもモニタを載せてみます。
RAMの容量は256バイトと極端に狭いですがアセンブラによる小さいコードくらいだったらDLLして遊べるようにしたいところです。
8755のROMにレジデント型のモニタを置いてホストから操作できるようにするためにはシリアル通信がどうしても必要です。ボード上にはシリアルコントローラがないのでソフトウェアでUSARTを実現することになります。
 
ターゲットボード自身でデバッグすると何度も8755を抜き差ししなければならないので、すでに完成しモニタも動作している8085ボードでモジュールとした完成させてからターゲットに移植することになります。
こちらのボードはSOD、SIDピンを使用していないのでプローブして波形をモニタしながら進めます
 
イメージ 1
まず、データ送信TX部分です。
これは簡単で送りたいキャラクタのビット状態を1ビットづつチェックし、HであればSODピンを1に、LであればSODピンに0をセットする、これを8ビット分繰り返すと1キャラクタが8個のビット列に変換されます

LSB1ビット分の処理
イメージ 2
 
ここで重要なのが「1」を出力するときも「0」を出力するときも同じ時間(クロック数)で処理されることで各命令の後の()内が処理に要するクロック数を示していて、どちらの経路でも39クロックに揃えてあります。
(同じになるようadjustと書かれたダミーの命令を挿入している)