ATtiny2313 ROMエミュレータの高速化
先日のなんちゃってROMですが、Enable信号をモニタするのはスピード的に辛そうなので、バッファをつけてみました。
これだと、AVR側は入力されたアドレス線に対して出力するのみ。
_loop: in ZL, PIND ;1 7bit lpm ;3 out PORTB, r0 ;1 rjmp _loop ;2
まさに「来たら打つ! 来たら打つ!」状態です。 実際の出力判断は244に任せていますので。
小容量だけど...
で、うまく動きます。 アドレスは7ビット分(A0-A6)なので、128バイトまでですが、ブートアップには十分な容量です。
ただ、ちょっと気になるのは、27C256(32kB UV-EPROM)を積むのとどちらがオトクかということです。 上記の回路はTiny2313(100円)+LS244(100円くらい)+XTAL+パスコン2個で、300円弱かかります。 一方、27C256は200円で買えます。
まぁ、244などジャンクを漁れば大量に出てくるので、実質買うことはないのですけど。 また、AVRはISPが使えるので、UV-EPROMよりは書き換えは楽ですね。
実際のSDカードインタフェース回路では、mega88も使うため、そこからのCLKO信号を入れることにより、XTALを省略することも可能かもしれません。
ただ、Tiny2313の仕様を見ると、外部クロックは16MHzまでとあります。 ためしにPC-6001の15.9744MHzでやってみたところ、誤動作しました。 微妙です。
匿名
画面が真っ暗、でもカーソルは出てる状況。
探して、ここにたどり着きました。
パスワード入力で、復活!
修理に出す寸前でした。ホントにありがとう!