SBC8080_CP/M Rev.01を勉強中

1970年代のCPUを手に入れると無性に動かしてみたくなる、その程度の単純な動機でCPUボードを作り散らかしているため、hello, worldが動いてからあとのことは人様の製作物が頼り。80系のCPUボードでいうとtomi9さんのSBC8080_CP/Mが最終的にはCP/Mを動かしてくれるらしい。ツイッターで「凄く興味があります」ってしつこいくらい繰り返したら、ありがたいことに実物を送ってくれた。ありがとう、お手数おかけします。

sbc8080_cpm_top

これだけの特別仕様かもしれないが、コネクタ3個を除いて組み立て済み。最低、拡張コネクタを取り付ければSBC8080/SBC8085と組み合わせてBASICを動かせる。さらにモジュール用コネクタ2個を取り付ければSDカードが使えるが、SDカードモジュールはあるものの、あいにくモジュール用コネクタがないので、これは近い将来のお楽しみ。

sbc8080_cpm_sd

SBC8080_CP/Mの働きはATmega128が実現している。ATmega128にArduino IDEのブートローダを書き込んでおいて、用途に応じたスケッチをアップロードする方式。ブートローダは、これだけの特別仕様かもしれないが、書き込み済みだった。スケッチをアップロードするには、Arduino IDEにMegaCoreのボードマネージャを追加したあと(こちらに具体的な手順が説明されている)、ATmega128を選択。

sbc8080_cpm_atmega128

J5をショートさせるとUSB-シリアル変換アダプタから電源を供給してスケッチを書き込むことができる。もしSDカードがあれば単体で8080だかZ80だかのエミュレーションをやってCP/Mが起動するらしい。それはとても魅力的だが、今はSDカードを使えないので、SBC8080/SBC8085と組み合わせてBASICを動かす。スケッチはsbccpm_mbasic.ino。

sbc8080_cpm_serial

以前やはりtomi9さんから送って頂いたSBC-BUSを使ってBASICが動くシステムを組み立てる。といってもただボード類を挿すだけだけどね。手前がSBC8080_CP/M Rev.01で、ここにsbccpm_mbasic.inoをアップロードしてある。次がSBC8085。奥がSBC8080 SUBボードからROMとRAMを取り外したやつ。

sbc8080_cpm_system

はい、BASICが起動。ボクの理解では、SBC8080_CP/M Rev.01が自分自身のRAMにBASICを転送し、それをSBC8085につないで実行させ、SBC8080 SUBボードの8251で通信をしているんだと思う。言葉で説明するとややこしいが、ROMから起動した場合とさほど変わらない時間で素早く起動した。

sbc8080_cpm_basic

SBC8080_CP/M Rev.01に興味を持った理由は同じものを作りたいからではない。ボクは今後もおもにCPUボードを作り散らかすと思う。とはいえ、できることなら人様の製作物にうまく乗っかってhello, worldからあとの発展性を持たせたい。SBC8080_CP/M Rev.01の構造、とりわけCPUからATmega128につながった機能を取り扱う方法がわかれば、ボクなりのデザインガイドを確立できるだろう。知らんけど。

カテゴリー: 8080, 8085, 書き込み装置 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中