So-net無料ブログ作成
English Version

レトロマイコン86ボードの構想

 「3チップ構成Pic24CPMマイコン(CP/M起動までの作業まとめ)」と「3チップ構成68Kマイコンの構想(その11)回路図整理とパターン設計」の記事でPICを使ったZ80と68Kのワンボードマイコンについて書きましたが、同様にPICを使った8086のワンボードマイコンを作ってみたいと思います。

 今回も今までと同様に少ないチップ数で単独で動作するワンボードマイコンの実現を目指します。
 そのための構想は次のとおりです。

  1. データバス幅
     PICと連携時..
skyriver

3チップ構成68Kマイコンの構想(その15)ケース作成

 CP/M-68Kが動く3チップ構成のプリント基板が完成してからかなり時間が経ってしまいましたがケースを作りました。
 構造的にはZ-80版の時に「3チップ構成Pic24CPMマイコン(その2)ケース作成」の記事で書いたものと同様ですが、基板のサイズが小さくなっているのでケース自体も少し小さくなりました。
 トップパネルは前回同様に百均で購入したスチロール製のディスプレイスタンドから平板を切出して CNC で加工しています。

 設計はDesignSparkMecha..
skyriver

3チップ構成Pic24CPMマイコン(その7)GAMEコンパイラ

 ネットで久々にGAME言語ネタを見つけた^^ので平成最後のカキコはGAME言語ネタです。
 Old68funさんが6809 / 6800とFLEXのブログで書かれている「SBC8080でGAME80がようやく動作」の記事です。TK-80BS用のGAME80インタプリタをSBC8080上で動かされています。

 TK-80BSと言えば中島さんにより開発されたGAME80コンパイラが発表された環境であり、Jun's Homepageの「GAME80コンパイラ解説 (200..
skyriver

3チップ構成Pic24CPMマイコン(その6)自作スクリーンエディタ

 久々にCP/M-80を使ったらWordStarの2ストローク方式のコマンドは非常に気に入っているのですが、起動のたびにヘルプレベルを変更してエディット対象の表示領域を広げたり、ページ境目の表示を消す等の操作が必要なのでちょっと面倒です・・

 そこで「3チップ構成68Kマイコンの構想(その14)スクリーンエディタの開発」の記事で紹介したCP/M-68K用に開発したスクリーンエディタのsked(Simple Kitten EDitor)をCP/M-80に移植しました。
..
skyriver

8080/Z80 リロケータブルコードの実験

 Z80は8080には無かった相対ジャンプ命令が追加されましたが、6809と違い相対コールができません。なのでOS9のようなポジションインディペンデントコード(PIC)なモジュールが書きづらいです。
 昔から議論されていることではありますが、PICは面白いのか?wちょっと考えてみました。

 PICなコール(相対コール)をソフトで実現するためにはプログラムカウンタ(PC)の値を参照する必要があります。
 Z80の命令セット上、コール時のスタックからPCの値を拾えます(..
skyriver

3チップ構成68Kマイコンの構想(その10)XMODEMアプリの作成

 前回の「3チップ構成68Kマイコンの構想(その9)メモリ拡張」で書いたように自作68Kボードのメモリを512KBに拡張できたので、CP/M-68Kの一般的アプリが動く環境になりました。CP/M-68K用として公開されているソフトがCP/M-80程に豊富なわけではありませんが探せば色々見つかります。

 ネットからダウンロードしたファイルを試してみたりする際にSDカードとのファイルのやり取りが手軽にできる環境がないと不便です。
 ネット上でCP/M-68K用のkermi..
skyriver

3チップ構成68Kマイコンの構想(その4)CP/M-68K 初ブート

 前回の「3チップ構成68Kマイコンの構想(その3)Sレコード簡易ローダーの製作」でSレコードファイルのダウンローダーの作成とCP/M-68Kのdisk関連のパラメータを検討中であることを書きました。

 diskパラメータに関して前回記事では「CP/M-68Kではセクタサイズを512にしている例もあり、blocking/deblocking処理無しでSDカードが使えそうです」と書きましたがその例のBIOSを確認してみるとSDアクセスは128bytes単位で行っていたので..
skyriver

3チップ構成68Kマイコンの構想

 「3チップ構成Pic24CPMマイコン(CP/M起動までの作業まとめ)」の記事でPIC24FJ64GA004を使った3チップ構成のZ80ワンオードマイコンでCP/Mを立ち上げるまでの作業を書きましたが68Kで同様なことが可能か否かの実験中です。

 チップ構成はMC68008P10(10MHz版ですがPICからクロックを供給する関係で8MHzで動作)とHM628128ALP-7(128KByteの70nsのSRAM)とPIC24FJ64GA004の3チップでTTLやGA..
skyriver

CP/M-68K シミュレータ

 「3チップ構成Pic24CPMマイコン(CP/M起動までの作業まとめ」の記事に3チップ構成のワンボードマイコンで CP/M-80 を動作させる手順を書きましたが、CP/M系はソフトの入手性がいいので他の CP/M にも興味が沸き、CP/M-68K Simulatorのwebページの情報を参考に CP/M-68K のシミュレータを動かしてみました。

 MusashiというLinux上で動く MC68000 のエミュレータを使ってCP/M-68Kを動作させているとのことで..
skyriver

3チップ構成Pic24CPMマイコン(その5)XMODEMでファイル送受信

 「レトロマイコンZ80ボードの構想(その14)CP/MでのWM動作実験」の記事のコメントに書いたようにCP/Mが動作するワンボードマイコンPic24CPMとPCとのファイルのやり取りはSDカード経由では面倒なのでコンソール接続のシリアル通信を利用して XMODEM プロトコルで行うのが便利です。

 上記のコメントにも書いたようにCP/M用の XMODEM 処理のソース(アセンブリ言語)を見つけて使ってみましたが、ある程度サイズの大きな(20KBくらい以上)ファイルをパ..
skyriver

3チップ構成Pic24CPMマイコン(その4)ZSIDで小文字のシンボルを使う方法その2

 「3チップ構成Pic24CPMマイコン(その3)ZSIDで小文字のシンボルを使う方法」の記事でCP/M上でHI-TECH Cを使い ZSID でシンボリックデバッグする上で ZSID がコマンド内の小文字のシンボルを解釈できないという問題があることを書きました。
 その解決方法として ZSID 内部のコマンド入力部の大文字変換する処理を無効にするパッチを提案しました。

 しかし、前回の記事の最後に書いたようにコマンドを小文字で入力するとエラーになるという制限がありま..
skyriver

3チップ構成Pic24CPMマイコン(その3)ZSIDで小文字のシンボルを使う方法

 「レトロマイコンZ80ボードの構想(その19)PCB化」の記事の最後の方に書いたようにHI-TECH CはANCI規格にも準拠していてプロトタイプ宣言や構造体も使えCP/M-80上で使用可能なC言語の中では最も使い易いのものの一つではないかと思います。

 また、添付されているREAD.MEを見ると

The HI-TECH Z80 CP/M C compiler V3.09 is provided free of charge for any
use, ..
skyriver

3チップ構成Pic24CPMマイコン(その2)ケース作成

 「ニクロム線樹脂板カッター」の記事に書いたように3チップ構成のCP/Mマイコンボードのケースを検討していました。
 普段は3Dプリンタだけでケースを作りますが、趣向を変えて透明樹脂も使おうと思い、百均からスチロール製のディスプレイスタンドを買ってきて平板部分を切出して材料として使いました。

 今回は側面を3Dプリンタで作成し、ボトムパネルとトップパネルは透明なスチロール板を使いました。

 全体の設計を下図に示します。使用しているソフトはDesignSparkM..
skyriver

ニクロム線樹脂板カッター

3チップ構成Pic24CPMマイコン(CP/M起動までの作業まとめ)」の記事で書いた3チップ構成のCPMボードのケースを検討中です。
 いつもは3Dプリンタでケースを作っていますが、表面処理などをしないと見た目がイマイチなこともあり、趣向を変えてLED表示部や基板自体も見えるように透明の樹脂も使おうかと考えています。

 濃い色のついたアクリル板であれば、レーザーカッターで切断できるのですが着色していないアクリルはカットできません^^;
 CO2レーザーカッターが欲..
skyriver

3チップ構成Pic24CPMマイコン(CP/M起動までの作業まとめ)

 今回作成した3チップ構成のワンボードマイコン(下の写真)でCP/M-80が動作し、スイッチ入力処理等も実装が完了したのでCP/Mを立ち上げるまでに必要な作業を整理しました。

 チップ構成はZ84C0020PEG(20MHz版のZ80、PICからクロック供給する関係で16MHzで動作)、HM628128ALP-7(128kBytesのSRAM、アクセスタイムは70ns)、PIC24FJ64GA004の3チップのみで汎用ロジックICやPLD等は使っていません。

..
skyriver

PIC24FJ64GAでGAME言語(その9)

 PIC24FJでちょっとした実験などを行う時は、最近ではGAME言語ではなく、picle言語(セルフコンパイラ)を使っていますが、久々にGAME言語ネタです。

 昔の本とかを少し整理していたところ、GAME言語をハンド逆アセンブルしていた時のメモが出てきました・・懐かしぃ

 C9のニーモニック欄がそのまま「C9」になっているところがある・・頭の中ではRETもC9も等価で区別が無かったのでしょうw

 最後の方は条件ジャンプ等、ちょっと紛らわしい部分だけニーモ..
skyriver