連休は結局8080Aのマイコンボードをいじって終わってしまった。娘は学校の宿題を済ました(らしい)のに、なんてこった!
でも、8080のアセンブラ記述もだいぶ慣れたので、ま、いっか。EEPROM のダンプができるところまで来たので、記録しておこう。
ichigojam でEEPROMにセーブしてあったデータを1ページ(128bytes)ごとダンプしたところ。
I2Cの読み取り手順に問題があるようで、最初の読み取った1バイトは多分ダミーで、そのままではいけないけど修正をしてない。この問題はRTCの読み込みをした時点で気が付くべきだったが、節穴でした。
8080Aボードのモニターも、先にアップロードしたものは、outコマンドでちゃんと書き込みができていないので、それもバグ。一応直したつもりだけど、まだテストしていない。
アセンブラはこれまでは、zasm のオンラインコンパイラーを使っていたけど、今日ubuntuでzasm を動かして、スクリプトでアセンブルとintel hexファイルの整形を一発でやるようにワークフローを変えてみた。まあまあ快適。
I2CインターフェースICへ与えるクロックが低すぎる問題は、pic12F1822で8251へ与えるボーレートクロックと4MHzを同時に生成するようにしようと思っているが、これもまだテストしていない。
いろいろと半端だなあ。
例によってバグがいろいろ入っているであろうプログラムリストを恥ずかしいけど下に置いておく。
i2ctest_8080_lst (2)(5/8) pic12F1822 で生成するボーレートクロックを309kHz (19200bps)にし、OSC/4 = 8MHz も出力するようにした。8MHz はI2C インターフェースのCLKとして入力してみたが、動かない。何がいけないのだろう。。。とりあえず、元の2MHz に戻して、プログラムをいろいろいじくってみた。I2C のダミー読み取りは汚いやり方ですが、直してみた。まあ、いいかな。
(5/8終わり)