8251と8255
2025.11.06
8251と8255は兄弟みたいなものだが、用途は違う。
大雑把にいうとシリアルとパラレル
学生の頃の話
MSXに8251のカートリッジを自作して、それでMZやポケコンと通信できたら素晴らしいと思いついた。プログラムやデータの転送ができるようになる。
MZもRS-232Cは無いから、MZ側にも8251ボードが必要となるわけだが、とりあえずポケコンなら簡単そう。
RS-232Cのレベル変換は電源(+12V,-12V)がいるから面倒くさい。当時新しかったMAX232は高価だし、TTLレベルで直結すればいいか、という具合。
結果的から書くと、この最初の試みはうまくいかなかったけど。
確か、クリスタルの周波数が合わなかったのかな。完全に忘れたけど。近くのパーツ屋に無かったか。
他のマイコンやパソコンと1,200bpsとか9,600bpsといった決まったボーレートで通信するなら、クリスタルはそれに合ったものにしなければならない。
でも、自分で作ったものなら適当なボーレートでも、お互いに一致していれば良いのだから、適当な周波数で構わない。
最初の頃は8251のレジスタ設定をサッパリ理解できなかった。
どうも難しそうだと一旦保留にして、今度は8255ならどうだろうと。
じつは使い方としてハンドシェークモードというのがあるけど、やはり当時の理解力ではサッパリで、
それなら、一番単純なI/Oポートとしての使い方によって、お互いにパラレル接続で転送できないかと。
幸い、MZ側には別の目的で作った8255ボードが載せてあった。あとはMSX側に8255カートリッジが有れば良い。配線は多いけど、手間だけの問題だろう。
パラレル転送で思い出すのはプリンタI/F
データ1バイト(8bit)で、ストローブ、ビジー信号、GNDだけ。
プリンタへ、データの準備ができたよ、という合図がストローブ。Lパルスを一瞬送る。
ビジーというのは相手側(一般にはプリンタ)がデータを受け取れない事を示す。これがHレベルならMSX側は(Lになるまで)待つ。
この考えで、MSXとMZの8255同士をつないでやれば、データ転送が簡単にできるじゃないか。
ところが当時の頭ではプログラムがややこしく、えーと、MSXがこうで、その時MZはああして・・・と考えるとごちゃごちゃして分からなかった。
そこで友人と、それぞれMSXとMZになりきって、その役割をシミュレーションした。
そっちがビジーじゃないからストローブ出したよ、データ受け取った。そっちがビジー出してくれないとこっちは次のデータを送ってしまう。一旦止めないと。
えーと、そっちがこうしたら、こっちは・・・
相手の8255の初期化が終わっていないと、制御信号が不定だからどうするのとか、色々考えるべき事があった。
受信しながらフロッピーに書き込もうとすると時間がかかるから、メモリ容量が許す限りメモリ上に展開し、全部受信が終わってからファイル保存しよう。
紆余曲折が有り、何度かプログラムを作り直してようやく安定して転送できるようになった。あまり高速に転送しようとすると、ケーブルにノイズが乗ってデータが化けるから、そこそこ遅くする必要があった。
当時の実験プログラムなどの記録は、古いノートに書き記してある。
これでMZ側はCP/Mのフロッピーをセクターダンプして送信し、MSX側ではそれを受信してメモリ上に展開し、ファイル一つ分の受信が終わったらバイナリで保存する。
こうしてCP/Mの外部コマンド等をMSX-DOS上で動かせるようになった。M80(マクロアセンブラ)、L80(リンカ)、F80(FORTRANコンパイラ)などを持ってきてMSXで使っていた。
当時は8bit単位でデータ転送(データ線は8本)したけど、配線が面倒だったら4bit単位つまり4本にして、あとはプログラムで対応してもよい。でも8bitのほうが単純である。
ふたつの8255同士を接続する時に注意すべき事がある。電源が別々になっている8255同士は直結しない方が良い。
当時はそんな注意点は想像もできず、いや、ちょっとは気になっていたかもしれないが、動けばよしでやっていた。
相手側の電源が入っていない時、こちらの8255から電圧を出していると、向こうの8255が壊れるおそれがある。
CMOS等の入力回路を見たことがあるだろうか。たとえば74HCのデータシートに載っている。入力ピンにはダイオードが電源とGNDに付いている。静電気対策のため。
もし電源OFFのときに信号線に電圧がかかると、そのダイオードを通って電源に流れる事になる。
これで2つの問題が発生する。ひとつは、その漏れ電流で本来電源OFFの回路に微妙に電圧がかかって問題を起こす。リセットが正常にかからなかったりする。
もうひとつは、この保護ダイオードは電流を流すように作られていない為、壊れる可能性が高い。
どうすれば良いかというと、電圧を送らないようにする。送信側はオープンコレクタ(オープンドレイン)のICを通して出力する。
Lかオープン(ハイインピーダンス)のどちらかしかない。
受信側にプルアップ抵抗を設けてやる。オープンコレクタで論理反転するが、送信側か受信側のどちらか(のソフト)で論理反転してやれば済む。
74LS14等のシュミットICで受信しても良い。波形整形できる。
オープンコレクタはL→Hの立ち上がりが遅い(プルアップ抵抗で浮遊容量を充電するため)ので、速く転送しようとしても立ち上がりが追いつかない。ケーブルの長さによっては転送を遅くしないとうまくいかない事がある。
送信側のICのドライブ能力次第だが、プルアップ抵抗をできるだけ小さめにしてみるとか。たとえば1KΩとか。実例としてFDD I/Fは、3.5インチの場合だと1KΩプルアップだったと思う。
大雑把にいうとシリアルとパラレル
学生の頃の話
MSXに8251のカートリッジを自作して、それでMZやポケコンと通信できたら素晴らしいと思いついた。プログラムやデータの転送ができるようになる。
MZもRS-232Cは無いから、MZ側にも8251ボードが必要となるわけだが、とりあえずポケコンなら簡単そう。
RS-232Cのレベル変換は電源(+12V,-12V)がいるから面倒くさい。当時新しかったMAX232は高価だし、TTLレベルで直結すればいいか、という具合。
結果的から書くと、この最初の試みはうまくいかなかったけど。
確か、クリスタルの周波数が合わなかったのかな。完全に忘れたけど。近くのパーツ屋に無かったか。
他のマイコンやパソコンと1,200bpsとか9,600bpsといった決まったボーレートで通信するなら、クリスタルはそれに合ったものにしなければならない。
でも、自分で作ったものなら適当なボーレートでも、お互いに一致していれば良いのだから、適当な周波数で構わない。
最初の頃は8251のレジスタ設定をサッパリ理解できなかった。
どうも難しそうだと一旦保留にして、今度は8255ならどうだろうと。
じつは使い方としてハンドシェークモードというのがあるけど、やはり当時の理解力ではサッパリで、
それなら、一番単純なI/Oポートとしての使い方によって、お互いにパラレル接続で転送できないかと。
幸い、MZ側には別の目的で作った8255ボードが載せてあった。あとはMSX側に8255カートリッジが有れば良い。配線は多いけど、手間だけの問題だろう。
パラレル転送で思い出すのはプリンタI/F
データ1バイト(8bit)で、ストローブ、ビジー信号、GNDだけ。
プリンタへ、データの準備ができたよ、という合図がストローブ。Lパルスを一瞬送る。
ビジーというのは相手側(一般にはプリンタ)がデータを受け取れない事を示す。これがHレベルならMSX側は(Lになるまで)待つ。
この考えで、MSXとMZの8255同士をつないでやれば、データ転送が簡単にできるじゃないか。
ところが当時の頭ではプログラムがややこしく、えーと、MSXがこうで、その時MZはああして・・・と考えるとごちゃごちゃして分からなかった。
そこで友人と、それぞれMSXとMZになりきって、その役割をシミュレーションした。
そっちがビジーじゃないからストローブ出したよ、データ受け取った。そっちがビジー出してくれないとこっちは次のデータを送ってしまう。一旦止めないと。
えーと、そっちがこうしたら、こっちは・・・
相手の8255の初期化が終わっていないと、制御信号が不定だからどうするのとか、色々考えるべき事があった。
受信しながらフロッピーに書き込もうとすると時間がかかるから、メモリ容量が許す限りメモリ上に展開し、全部受信が終わってからファイル保存しよう。
紆余曲折が有り、何度かプログラムを作り直してようやく安定して転送できるようになった。あまり高速に転送しようとすると、ケーブルにノイズが乗ってデータが化けるから、そこそこ遅くする必要があった。
当時の実験プログラムなどの記録は、古いノートに書き記してある。
これでMZ側はCP/Mのフロッピーをセクターダンプして送信し、MSX側ではそれを受信してメモリ上に展開し、ファイル一つ分の受信が終わったらバイナリで保存する。
こうしてCP/Mの外部コマンド等をMSX-DOS上で動かせるようになった。M80(マクロアセンブラ)、L80(リンカ)、F80(FORTRANコンパイラ)などを持ってきてMSXで使っていた。
当時は8bit単位でデータ転送(データ線は8本)したけど、配線が面倒だったら4bit単位つまり4本にして、あとはプログラムで対応してもよい。でも8bitのほうが単純である。
ふたつの8255同士を接続する時に注意すべき事がある。電源が別々になっている8255同士は直結しない方が良い。
当時はそんな注意点は想像もできず、いや、ちょっとは気になっていたかもしれないが、動けばよしでやっていた。
相手側の電源が入っていない時、こちらの8255から電圧を出していると、向こうの8255が壊れるおそれがある。
CMOS等の入力回路を見たことがあるだろうか。たとえば74HCのデータシートに載っている。入力ピンにはダイオードが電源とGNDに付いている。静電気対策のため。
もし電源OFFのときに信号線に電圧がかかると、そのダイオードを通って電源に流れる事になる。
これで2つの問題が発生する。ひとつは、その漏れ電流で本来電源OFFの回路に微妙に電圧がかかって問題を起こす。リセットが正常にかからなかったりする。
もうひとつは、この保護ダイオードは電流を流すように作られていない為、壊れる可能性が高い。
どうすれば良いかというと、電圧を送らないようにする。送信側はオープンコレクタ(オープンドレイン)のICを通して出力する。
Lかオープン(ハイインピーダンス)のどちらかしかない。
受信側にプルアップ抵抗を設けてやる。オープンコレクタで論理反転するが、送信側か受信側のどちらか(のソフト)で論理反転してやれば済む。
74LS14等のシュミットICで受信しても良い。波形整形できる。
オープンコレクタはL→Hの立ち上がりが遅い(プルアップ抵抗で浮遊容量を充電するため)ので、速く転送しようとしても立ち上がりが追いつかない。ケーブルの長さによっては転送を遅くしないとうまくいかない事がある。
送信側のICのドライブ能力次第だが、プルアップ抵抗をできるだけ小さめにしてみるとか。たとえば1KΩとか。実例としてFDD I/Fは、3.5インチの場合だと1KΩプルアップだったと思う。
パソコン(マイコン)以前
2025.11.03
中1の正月にHITBIT(HB-101)を買ったのが初めてのパソコン(当時はマイコンという呼び方も残っていた)。
それ以前の話を書くと、
親父がニャロメのおもしろコンピュータ探検という本を買ってきた。
それに載っていたキーボードの絵を見ながら、入力の練習をした。
パソコンを買うお金もなかったから、想像の中で練習していた。
初めて触ったのはJR-200(松下)
まだ小学生だっただろうか。
当時あったディスカウント店に展示してあり、電源が入っていた。
うろ覚えのBASICをおそるおそる打ち込んでみたりとか。
初歩のプログラムで出てくるような、ふたつの数を入れて足し算をして表示するプログラム。
10 INPUT B
20 INPUT C
30 A=B+C
40 PRINT A
50 END
なんでB,Cなのかって、これは個人の好みね。式をA=B+Cときれいに?したかったのでしょう。
キー配列も知らないから、文字を探すのにずいぶんかかったけれど。
Bが見つからないからAにしよう。
ということで、式は変えないとな。こんな具合。
BASICを1行打ち込むたびにRETURNを押すのも知らなかったような気がする。
カーソルキーで次の行にカーソルを持っていったりとか、かわいい事をしていた。
それで打ち込んだプログラムは当然、動かない。それ以前に記憶されてない。画面に文字が並んでいるだけ。
その次に触ったのは何だったろう。忘れた。
店に展示してあっても電源が入っていなかったりとか、本体だけとか。
しかし、いったいこれはどうなっているんだろう?
日立H1(MB-H1)などのカタログを見て、中身はどこに入っているんだろうと思っていた。
そりゃあ、所有したこともないし、開けてみたことも当然ないんだから知らない。
後年、壊れたのを開けてみるまでは謎だった。
冒頭のHB-101を買いに行った時も、最初からそれを買おうとしていたのではなく、
予算的にもPV-7かなと思っていたわけ。とりあえずそれで。
田舎だからパソコンが置いてあるだけでも珍しかったのだが・・・
最初デパートに行ってみたけど、PV-7は在庫がなかった。
その向かい側にある大きい電器店に行ってみると、HB-101が有った。
ゲームソフト1本付きで\46,800だったか。ゲームは不要と言ったら\40,800になったと思う。
買って帰ったその夜は大興奮。
新品のニオイだとか言って嗅いでみたり、もはや変態。(笑)
拾ってきた白黒テレビを自分の机の上に置いて使っていた。
翌日、学校に行っている間にHB-101を捨てられたりしないかが心配だった。
それ以前の話を書くと、
親父がニャロメのおもしろコンピュータ探検という本を買ってきた。
それに載っていたキーボードの絵を見ながら、入力の練習をした。
パソコンを買うお金もなかったから、想像の中で練習していた。
初めて触ったのはJR-200(松下)
まだ小学生だっただろうか。
当時あったディスカウント店に展示してあり、電源が入っていた。
うろ覚えのBASICをおそるおそる打ち込んでみたりとか。
初歩のプログラムで出てくるような、ふたつの数を入れて足し算をして表示するプログラム。
10 INPUT B
20 INPUT C
30 A=B+C
40 PRINT A
50 END
なんでB,Cなのかって、これは個人の好みね。式をA=B+Cときれいに?したかったのでしょう。
キー配列も知らないから、文字を探すのにずいぶんかかったけれど。
Bが見つからないからAにしよう。
ということで、式は変えないとな。こんな具合。
BASICを1行打ち込むたびにRETURNを押すのも知らなかったような気がする。
カーソルキーで次の行にカーソルを持っていったりとか、かわいい事をしていた。
それで打ち込んだプログラムは当然、動かない。それ以前に記憶されてない。画面に文字が並んでいるだけ。
その次に触ったのは何だったろう。忘れた。
店に展示してあっても電源が入っていなかったりとか、本体だけとか。
しかし、いったいこれはどうなっているんだろう?
日立H1(MB-H1)などのカタログを見て、中身はどこに入っているんだろうと思っていた。
そりゃあ、所有したこともないし、開けてみたことも当然ないんだから知らない。
後年、壊れたのを開けてみるまでは謎だった。
冒頭のHB-101を買いに行った時も、最初からそれを買おうとしていたのではなく、
予算的にもPV-7かなと思っていたわけ。とりあえずそれで。
田舎だからパソコンが置いてあるだけでも珍しかったのだが・・・
最初デパートに行ってみたけど、PV-7は在庫がなかった。
その向かい側にある大きい電器店に行ってみると、HB-101が有った。
ゲームソフト1本付きで\46,800だったか。ゲームは不要と言ったら\40,800になったと思う。
買って帰ったその夜は大興奮。
新品のニオイだとか言って嗅いでみたり、もはや変態。(笑)
拾ってきた白黒テレビを自分の机の上に置いて使っていた。
翌日、学校に行っている間にHB-101を捨てられたりしないかが心配だった。
テンプレート
2025.10.30
愛用していたテンプレートを久しぶりに引っ張り出しました。


フローチャート用と、回路図用です。
フローチャート用のテンプレートは、コンピューター学校でCOBOLの勉強をしていた頃に使っていた物。
そう、私はコボラーでした。フォートランも勉強したけど。
課題を分析して、どのように処理するかを考える。その処理手順のフローチャートを描き、それからコーディングだけど、当時はコーディングシートという原稿用紙に手書きしていた。
その後、コンピュータ室へ行って端末から打ち込む。
みんなが一斉に使うと処理が非常に遅かった。あの頃はNECのACOS-250という汎用機。いわゆるメインフレーム。
誰だ、無限ループしちゃったのは・・・プリンタがいつまでも改ページを繰り返して止まらない。先生がマスターコンソールから停止処理をした。
自分も、人のことは言えなかった。うっかりマスターファイルをぶっ壊してしまった。
マスターファイルはみんなが参照するもの。(読むだけ。書き込まない)
ある時、それまで正常に動いていたプログラムが動かなくなったもんだから、みんなが「あれっ?」と気づいて・・・先生も、おかしいな?と調べ始めた。
その時の実習課題はトランザクション処理で、マスターファイルを読み、レコードの追加、削除を行って最終的に別のファイルへ出力する処理プログラムを作りなさいというものだったと思う。
そこで私が出力先を誤ってマスターファイルのファイル名にしてしまったんだな。システム側では保護が設定されてなかったから、でたらめなデータで上書きされてしまったというわけ。
確か、みんな同じファイル名だと競合するから、出席番号と名前を組み合わせたファイル名で出力しなさいという指示だったような。
読み込むファイルの指定と、書き出すファイルの指定を誤ったか、逆にしてしまった。おっと、間違えたと思って修正してコンパイルして・・・その直前にぶっ壊したわけだ。
ずいぶん昔のことなので自分の記憶の細かいところは不正確かもしれませんが、やらかしたのは事実。もうとっくの昔に学校は無くなって、賃貸ビルになってる。
ところで回路図用のテンプレートは、学生の頃に文房具屋さんで買ってきたけど、その前に自作しようと悪あがきをしていた。ビンボーだったから。
下敷きのシートをカッターで切り込み、ANDとかORの形を作ろうとしていたけど、どうやっても下手くそで歪で我慢ならなくて、結局買いに行った次第。
結構高かった。当時の自分にとっては。確か1,500円ぐらいじゃなかったかな。
これは就職してからもずいぶん使った。2002年頃までは良く使った覚えがある。
これで紙に回路図を描いたものだが、肩こりがひどくなって大変だった。


フローチャート用と、回路図用です。
フローチャート用のテンプレートは、コンピューター学校でCOBOLの勉強をしていた頃に使っていた物。
そう、私はコボラーでした。フォートランも勉強したけど。
課題を分析して、どのように処理するかを考える。その処理手順のフローチャートを描き、それからコーディングだけど、当時はコーディングシートという原稿用紙に手書きしていた。
その後、コンピュータ室へ行って端末から打ち込む。
みんなが一斉に使うと処理が非常に遅かった。あの頃はNECのACOS-250という汎用機。いわゆるメインフレーム。
誰だ、無限ループしちゃったのは・・・プリンタがいつまでも改ページを繰り返して止まらない。先生がマスターコンソールから停止処理をした。
自分も、人のことは言えなかった。うっかりマスターファイルをぶっ壊してしまった。
マスターファイルはみんなが参照するもの。(読むだけ。書き込まない)
ある時、それまで正常に動いていたプログラムが動かなくなったもんだから、みんなが「あれっ?」と気づいて・・・先生も、おかしいな?と調べ始めた。
その時の実習課題はトランザクション処理で、マスターファイルを読み、レコードの追加、削除を行って最終的に別のファイルへ出力する処理プログラムを作りなさいというものだったと思う。
そこで私が出力先を誤ってマスターファイルのファイル名にしてしまったんだな。システム側では保護が設定されてなかったから、でたらめなデータで上書きされてしまったというわけ。
確か、みんな同じファイル名だと競合するから、出席番号と名前を組み合わせたファイル名で出力しなさいという指示だったような。
読み込むファイルの指定と、書き出すファイルの指定を誤ったか、逆にしてしまった。おっと、間違えたと思って修正してコンパイルして・・・その直前にぶっ壊したわけだ。
ずいぶん昔のことなので自分の記憶の細かいところは不正確かもしれませんが、やらかしたのは事実。もうとっくの昔に学校は無くなって、賃貸ビルになってる。
ところで回路図用のテンプレートは、学生の頃に文房具屋さんで買ってきたけど、その前に自作しようと悪あがきをしていた。ビンボーだったから。
下敷きのシートをカッターで切り込み、ANDとかORの形を作ろうとしていたけど、どうやっても下手くそで歪で我慢ならなくて、結局買いに行った次第。
結構高かった。当時の自分にとっては。確か1,500円ぐらいじゃなかったかな。
これは就職してからもずいぶん使った。2002年頃までは良く使った覚えがある。
これで紙に回路図を描いたものだが、肩こりがひどくなって大変だった。
Z80の進化
2025.10.23
歴史を振り返ってみると、
Z84C015で周辺チップ(SIO,PIO,CTC等)が集積されてワンチップになったが、ROMやRAMは外付けする必要がありました。
もし、Z84C015にフラッシュROMとRAMが内蔵されたワンチップマイコンができていたら・・・過去の資産が活用できたし、PICで苦労して回り道をしなくてよかったのになあ、と今でも思います。
じつはあったけど一般向けではなかった。遊技機用のV2チップがそれに近いもの。ワンタイムROMだったから書換は不可。そしてROM、RAMの容量は小さかったけれど、とにかくワンチップでした。それがもし一般市場に出回っていたら裏ROMが作られてしまうわけです。
V2チップが登場した当時、それに限りなく近いものをZ84C015を中心として手作りし、実際にパチンコ台を動かしました。V2とはI/Oのアドレスが異なるのでROMデータを逆アセンブルして中身を調べ、I/O命令にパッチを当てる必要は有りましたが、とにかく動きました。
確か、I/Oの初期化でアドレスとデータのテーブルからブロック転送しているところがあったのは覚えています。あとは、機種やメーカーも忘れた。
それと、パチスロメーカーの新製品デモ機にZ84C015を使った子基板を載せているのを見かけたことがあります。どこのメーカーのなんという機種だったか忘れたけど。
いわゆるゲーセン下駄のようなものです。
ゲームセンター向けに中古パチスロを改造している業者が有り、もとのメーカーの許諾を得てプログラムを流用、改造していました。アミューズ仕様に合わせて、たとえばカプセルの払い出しとか、そういった機能を追加する必要があるわけです。
ゲーセン下駄というのは、V2チップ等は手に入らないし、プログラムを上記のように改造する必要があるので、その代わりになる回路(Z80+ROM+RAM+FPGAで作られた周辺チップ回路)を小さな基板にまとめたものです。それをV2と差し替えて使います。
また言うけどワンチップZ80マイコンがあったらなあ、という妄想でした。
ちょっとした用途にはI/Oがいくつか出ていれば間に合うので、Z80+ROM+RAM+8255+何か で十分なのです。その上、もうちょっと高速だったら言う事なしでした。
Z84C015で周辺チップ(SIO,PIO,CTC等)が集積されてワンチップになったが、ROMやRAMは外付けする必要がありました。
もし、Z84C015にフラッシュROMとRAMが内蔵されたワンチップマイコンができていたら・・・過去の資産が活用できたし、PICで苦労して回り道をしなくてよかったのになあ、と今でも思います。
じつはあったけど一般向けではなかった。遊技機用のV2チップがそれに近いもの。ワンタイムROMだったから書換は不可。そしてROM、RAMの容量は小さかったけれど、とにかくワンチップでした。それがもし一般市場に出回っていたら裏ROMが作られてしまうわけです。
V2チップが登場した当時、それに限りなく近いものをZ84C015を中心として手作りし、実際にパチンコ台を動かしました。V2とはI/Oのアドレスが異なるのでROMデータを逆アセンブルして中身を調べ、I/O命令にパッチを当てる必要は有りましたが、とにかく動きました。
確か、I/Oの初期化でアドレスとデータのテーブルからブロック転送しているところがあったのは覚えています。あとは、機種やメーカーも忘れた。
それと、パチスロメーカーの新製品デモ機にZ84C015を使った子基板を載せているのを見かけたことがあります。どこのメーカーのなんという機種だったか忘れたけど。
いわゆるゲーセン下駄のようなものです。
ゲームセンター向けに中古パチスロを改造している業者が有り、もとのメーカーの許諾を得てプログラムを流用、改造していました。アミューズ仕様に合わせて、たとえばカプセルの払い出しとか、そういった機能を追加する必要があるわけです。
ゲーセン下駄というのは、V2チップ等は手に入らないし、プログラムを上記のように改造する必要があるので、その代わりになる回路(Z80+ROM+RAM+FPGAで作られた周辺チップ回路)を小さな基板にまとめたものです。それをV2と差し替えて使います。
また言うけどワンチップZ80マイコンがあったらなあ、という妄想でした。
ちょっとした用途にはI/Oがいくつか出ていれば間に合うので、Z80+ROM+RAM+8255+何か で十分なのです。その上、もうちょっと高速だったら言う事なしでした。
Z80パチパチ君
2025.10.21
久しぶりに取り出してみた。
Z80パチパチ君

そんな名前だったっけ。(正しくはR5Zシリーズ)
あえてトグルスイッチでマシン語入力したい方向けのZ80マイコンです。
初めての時は、へぇ~すごい、やってみたい、と思うかもしれないけど、じきに飽きます。
1バイトごとにアドレス、データをパチパチして設定しなければなりません。
うっかりしてアドレスを進めるのを忘れて、あれっ、どこまでやったっけ。ありがちです。
アドレスを自動で進める仕組みを・・・というのは当然思いつくところですが、あえて排除したわけです。
2進数を覚えるのにはちょうど良さそう。
慣れてくると鬼の速さで入力できるようになることでしょう。
RAMはバッテリーバックアップされているので、入力を途中でやめて後で続きをすることもできるし、いきなり電源が落ちても心配ありません。
このトグルスイッチとLEDは、I/Oポートとしても使えるようになっています。たとえばデバッグ中にレジスタ値を表示したり、I/O命令を試す時などに役立つでしょう。
トグルスイッチに飽きたら、ROMにBASICインタプリタを入れて、PCと接続して使うと良いでしょう。RS-232Cもついています。
Z80パチパチ君

そんな名前だったっけ。(正しくはR5Zシリーズ)
あえてトグルスイッチでマシン語入力したい方向けのZ80マイコンです。
初めての時は、へぇ~すごい、やってみたい、と思うかもしれないけど、じきに飽きます。
1バイトごとにアドレス、データをパチパチして設定しなければなりません。
うっかりしてアドレスを進めるのを忘れて、あれっ、どこまでやったっけ。ありがちです。
アドレスを自動で進める仕組みを・・・というのは当然思いつくところですが、あえて排除したわけです。
2進数を覚えるのにはちょうど良さそう。
慣れてくると鬼の速さで入力できるようになることでしょう。
RAMはバッテリーバックアップされているので、入力を途中でやめて後で続きをすることもできるし、いきなり電源が落ちても心配ありません。
このトグルスイッチとLEDは、I/Oポートとしても使えるようになっています。たとえばデバッグ中にレジスタ値を表示したり、I/O命令を試す時などに役立つでしょう。
トグルスイッチに飽きたら、ROMにBASICインタプリタを入れて、PCと接続して使うと良いでしょう。RS-232Cもついています。
2025.11.06 17:44
|
