CPU実験室

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

RTCドライバ

リアルタイムクロックIC:MM58167Bから時刻を読み出す関数dsptime()を作りました。ついでに1文字出力putc()、文字列出力ルーチンputstr()もCで書いておきます。

f:id:O3I:20211226123912j:plain

 

時刻表示をする文字列変換にSDCCの標準ライブラリに含まれるprintf系関数を使って簡単に済ませていますが、これの実体は結構大きくリンク後のコードが3629バイトに達しています。これはSRAMの使い方としてコード領域を想定した0x8000-0x87FFの2048バイトを超えてしまったのでコード領域を0x8000-、データ領域を0x9000-に変更して再ビルドしています。数字を表示するだけなら自前のサブセットを用意した方がよさそうです。

f:id:O3I:20211226123928j:plain

 

ADコンバータのADC0817、リアルタイムクロックMM58167を実装した時点でこのボードの動作電圧は5V専用になってしまったので、ROMを低電圧動作のHN58V65にしておく必要がありません。モニタもFIXしているのでナショセミ製のNM27C512Qに焼き付けソケットに直で差し込みました。

主要ICがナショセミの白い帯のパッケージで揃いました。関係ないですがよくみるとマキシム製のMAX692東芝製のTC74AC32も白い帯がついてます

 

f:id:O3I:20211226124049j:plain