工作用紙
カテゴリー:
たまには童心に返ってボール紙の工作をしてみようかとちょっとしたものを作ってみました。
ざっくりとした展開ポンチ絵(写真撮っておけばよかった)を書いて切り出したところ。懐かしい工作用紙を使ってみました。これ使うの小学校以来かも、以前ダイソーで発見して買ったままになっていたものです。
よく見ると間違っている箇所がありますね。このままでも組めなくはないので修正はせずに済ませました。
個人的に製作してきたものの紹介です。
電子的なものがほとんどですが、そうでないものも出来るだけ出していきたいと思っています。
回路図、ソースコードなどは出来ればすべて載せたいのですが、以下の理由で難しいものが多いです。
残っていないのではなく、そもそも書かないことが多かったためです。
もちろん仕事ならば書きますが。
特に古いものでは雑誌など掲載のものをベースにしているものがあり、オリジナルと分離できないものは公開できません。
5インチや8インチのフロッピーだったり、PC-9801フォーマットだったりして読むのが難しいものがあります。
たまには童心に返ってボール紙の工作をしてみようかとちょっとしたものを作ってみました。
ざっくりとした展開ポンチ絵(写真撮っておけばよかった)を書いて切り出したところ。懐かしい工作用紙を使ってみました。これ使うの小学校以来かも、以前ダイソーで発見して買ったままになっていたものです。
よく見ると間違っている箇所がありますね。このままでも組めなくはないので修正はせずに済ませました。
今回は予告していたSBC8085です。SBCZ80組んだ後これも部品あるんじゃないかと思って組み始めたのですが...
SBC8085はSBC8080と互換(少なくともSUB8080との接続において)のCPUボードです。写真はSBC8085+SUB8080の組み合わせですね。
SUB8080はSBC8080接続時から何も変更していません。ROMも以前Universal Monitorのテストをした時のままです。
SBCZ80について進展がありましたので記録しておきます。
電源ON時にメッセージの一部が化ける現象が発生していました。
CR,LF,"Universal Monitor Z80",CR,LF,00H
上記のメッセージ(最後の00Hは文字列の終端マークです)を表示しているはずなのになぜかLFと"U"の間に変な文字が挿入され次の"U"とともに化けてしまいます。電源ONのままリセットすれば問題はありません。
次にメッセージを少し変形しました。
CR,LF,CR,LF,"Universal Monitor Z80",CR,LF,00H
やはり2文字目のLFの後に挿入されると想像していましたが、実際は4文字目のLFの後"U"の前に挿入されました。
前回はここまで書きました。
さらにLF,"U"の組み合わせに何かあるのかと次を試してみます。
前回に引き続いてSBCZ80、今回はソフトウェア編です。
いつものようにUniversal Monitorを移植するわけですが、これまでUniversal Monitor Z80を動かしてきたMAA-1ボードとSBCZ80は実はほとんど同じです。ソフトウェアから見た違いといえばROM/RAMの容量が半分になっているくらいで、SIOのアドレスなども一致しています。
となると0FF00H~0FFFFHに配置されていたワークエリア・スタックを0BF00H~0BFFFHに移動するだけで動きそうです。これならconfig.inc
の変更ですみます。
書泉ブックマートで『ザイログZ80伝説』を買ったらCD-ROM・プリント基板付きの限定版が手に入りました。Z80のボードは既に何枚も作っていますが、せっかくなので組み立ててみます。
これまでのSBCシリーズは8cm×10cmでしたが、これは10cm×10cmで密度も最大クラスでしょう。
面積をくっているのはRAMです。SRAMなら24~32ピンのDIP1つで済みますが、18ピンのDRAMが2つに制御用のロジックが4つ必要となっています。今となってはこの容量ならSRAM積んだ方が有利ですが、このボードはDRAMを動かしてみたいということで設計されたとのこと。
またEMILY Board使って新たなプロセッサが動くようになりました。
今回作ったのはIntelのMCS-51ファミリの8031/8032用のボードです。
このファミリはEA/Vppで内蔵ROMを切り離せるので8058とか8751なども使えると思いますが、8031/8032の入手性は悪くないのでわざわざROM内蔵品を使うことも無いでしょう。
8088ボードのソフトウェアについて書いてみます。
動かすのはいつものようにUniversal Monitorです。
8086系は8080に似ていますし、以前(30年ほど前です)書いていたこともあるので、あまり苦もなく書けますね。フラグ変化とか細部はもちろん憶えてはいないので資料確認しながらですし、アセンブルすると使えないレジスタ指定しててエラーになったりはありますが、書いているうちにすぐに慣れていきます。
まずはコンソールドライバ、EMILY Board用のものを6502から、8251用のものを8080から移植しました。ほぼ機械的な変換で済みますが8251の初期化部分にはNOP
を追加(8251はまだ配線もしていないので動作未確認)しています。
HD1-6120ボードはちょっと置いておいて、また新たなCPUボード作ってみました。
今回もEMILY Board用です。
EMILY Boardは外付けパラレルROMで動かせる知っている限りのプロセッサを動かせるようにと計画したものなので、よほど変態的なプロセッサでない限り工夫すれば繋がるはずです。今回の8088は素直な部類ですね。
予告どおりソフトウェア編です。これまでの「ソフトウェア編」ではモニタ程度のものが動いていることが多かったと思いますが、今回はプログラムの実行ができているらしいとわかる程度です。
最も簡単なテストプログラムは実行開始番地で無限ループさせるものでしょう。
HD1-6120(IM6100も)は0FFFH番地から実行を始めますので、ここに0FFFH番地へのJMP
命令を置きます。これを実行させておいてアドレスバスの状態を観察するとA0~A11までがすべて"H"になっていて0FFFH番地を読み続けていることがわかります。
次に異なるアドレスでループさせてみます。
HD1-6120でダイレクトにJMP
できる先は、同ページ(アドレスの上位5ビットが同じ)か0ページ(アドレスの上位5ビットがすべて0)だけです。それ以外へ飛びたいときは同ページか0ページにアドレスを書いておいて間接アドレッシングを使います。ここでは簡単に0ページで試してみます。
去年入手したHD1-6120、ボード作りかけのまま時間が経ってしまいましたがやっと動くところまでたどり着きました。
いつものようにEMILY Boardを利用します。HD1-6120は12ビットバスなのでEMILY Board +8が必須となります。