2021年10月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

最近のトラックバック

« Arduinoにスーパーファミコンのパッドをつなぐ | トップページ | 両面ブレッドボードを作ってみた。 »

2010年3月22日 (月)

JR-100でLチカしてみた

 Jr100

 こちら、昔懐かしい8bitパソコンJR-100です。CPUはMC6802互換のMB8861で動作周波数が890kHz。ギガHzとかメガHzじゃないんです。キロHzですキロHz。1981年発売当時としても速くは無い方ですけど、今のパソコンと比べたら当時のパソコンなんてどれも同じようなもんですねw。

 この写真のキーボードみたいなものがJR-100の本体です。それを載せる台の用に敷かれているのは拡張ユニットJR-U02。これを付けるとメモリが16KBから32KBへ倍増。プリンタやジョイスティックも繋げられるようになります。さらにこのJR-U02には増設機器用のポート(26ピンコネクタ)があるのですが、この使い方はJR-U02の説明書にも載っておらず、入手から約4半世紀の間、何も繋がれずに使われずじまいでした。

Photo

 最近になってちょっと思い立ち、このJR-U02の回路を解析、ポートの内容が分かってきたので、自作の機器をつなぐ実験の第一弾としてマイコン電子工作のHello WorldであるLチカ(LEDチカチカ)に挑戦してみました。

Photo_2 L L_2

 回路は解析したJR-U02の内部回路(プリンタインターフェース等)を参考に作りました。

Jr100_ledbrinker_2 

 74HC04でClockの反転、74HC138でアドレスデコード、74HC175でデータの反転とラッチをしています。この増設機器ポートには電源が出ていないので、これらを動かすため別途電源が必要です。これで$CE00にデータを書きこむと下位4bitがLEDに反映されます。
 BASICのプログラムはこんな感じ

10 T=100
20 POKE $CE00,0
30 FOR I=1 TO T:NEXT
40 POKE $CE00,$0F
50 FOR I=1 TO T:NEXT
60 GOTO 20

 この増設機器ポートについてもう少し解説します。
 #ED0~#ED7は8bitの双方向データバスです。このポートでは反転した状態でやり取りされます。
 #EA0~#EA6は7ビットのアドレスバスで、データバス同様反転されています。ただし、JR-100本体から出力されるだけなので、外部機器はアドレスバスに出力することが出来ません。またJR-100のCPU MB8861のアドレスバスは本来16ビットですが、ここに出ているのは7ビット分だけです。
 #EIOE(増設IOイネーブル)には上位7ビットがデコードされた$CE00~$CFFFが有効との信号が出て来ます。これとアドレスバスと合わせて$CE00~$CE7Eが有効な増設機器IOアドレス、残りの$CE80~$CFFFは$CE00~$CE7Eのイメージとなります。
 ER/#Wには、リードライトの方向が、ECLKにはCPUクロックが出ています。
 #ERSTはリセット信号を受け取るだけですが、#EIRQは、コレクタをプルアップされたTrにつながっているので、外部機器側からIRQ信号を送ることも可能です。

※信号内容は私の解析結果、信号名は私が適当に付けたものなので参考程度としてください。

動画はこちら:
【レトロPC】JR-100でLチカしてみた【8bit】http://www.nicovideo.jp/watch/sm10106753

« Arduinoにスーパーファミコンのパッドをつなぐ | トップページ | 両面ブレッドボードを作ってみた。 »

JR-100」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: JR-100でLチカしてみた:

« Arduinoにスーパーファミコンのパッドをつなぐ | トップページ | 両面ブレッドボードを作ってみた。 »

ウェブページ

無料ブログはココログ