1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CNCで切削して作成したプリント基板でDOSを動かすぞ

Posted at

#目的
 ちょっと前に、CNCで作製したプリント基板にFPGAを乗せて、CP/Mを動作させた。
 このCPUはZ80なので8ビットなのだ。
 8ビットを制覇したので、次は16ビットに挑戦するぞ。
 16ビットだとすると、やっぱりあれだな。
 ◆◆◆ そうだ、FPGAでDOSを動かそう ◆◆◆
 規模が大きくなるけど、まあ大丈夫だろうと気楽に考えよう。

#経緯
 DOSは通常はディテクオペレーティングシステムの略称。 Microsoft社のMSDOSが代表的な存在。
 MSDOSを使うにはライセンスが必要だが、現在では機能互換のフリーの物も存在する。
 DOSシステムを構築するには、8086cpu又は互換cpuにメモリ等の周辺回路を繋げる。
 これにの上でソフト(DOS)をブート出来れば完成だ。
 今回ターゲットにするのは、「next186」と称されているものであり、80186をcpuとしている。

 next186でDOSシステムを動かすと言っても、今回はハードウェア環境を構築するだけである。
 FPGAとしてはXilinx社製のxc6lx9を使う。
 選定理由は、はんだ付け可能(TQFP144)の中で大容量と言う事だが、一番は値段が安いことだな。
 xc6lx9を使ったDOSシステムは既に先例が有り、確実に動く筈と言うのも大きな要因だ。

 ソフトが既存で信頼できても、ハードが動作する保証は無いので、次のようなステップを踏む。
 Step-1 市販FPGA(xc6lx9)基板にメモリ、IO等を繋ぎ、CP/Mで動かしハード動作を確認。
     ※CP/Mでも、メインメモリはスタティックでは無くDRAMで構成する。
      但し、バーストアクセスは行わないので、不具合検証はやり易い。
 Step-2 上記ハード上で、DOSシステムとして動作させる。
     ※実際の所、メモリ(DRAM)が正常に動作せず、ここで数か月足踏みした。しくしく。
 Step-3 CNCでプリント基板を作成し、先にCP/Mでハードの動作検証を行い、その後DOSシステムを動作させる。

#前提条件
 以下のハード・ソフトを必要に応じ、予め準備してね。(購入先、金額は参考)
 1. FPGA-board     XC6SLX9 Mini Board(AliExpressで購入、三千円ぐらい)
 2. 外部メモリ     W9825G6KH 32MBSDRAM (EBayで購入、500円位)
 3. 基板試作用部品   FPGAやその他部品は適当に調達(値段は時価)
 4. 基板設計ソフト   EAGLEを使用(無料、動作が軽快なので7.2を使っているが最新版でも多分問題ない)
 5. 切削データ作成   pcb-gcodeを使用(無料、ver 3.6.2.4)
 6. Xilinx ISE14.7    FPGAのプログラムの開発、変更に使用(無料)。ISE14.7が最後。
            ※しかし、windows10用対応としてソフト更新はされているので、今でも使える。
 7. 書き込み器     FPGA書き込み機( Download Cableの名称でAmazonでコンパチ品を売っている、五千円円位か)

#製作
 ハード作成は前回と殆ど同じなので、やり方はそちらを見てくれ
 使用するハード/ソフトを参考までに下記に格納している。
  lx9-Step-1-io  Step-1,2で使用する拡張基盤。市販基板に刺して動作させる。
   ※動作確認時に色々弄ったが、結局問題はソフトに有り、ハードは無罪。
Step-1
  MAIN-BOARD FPGAとDRAMを乗せた基盤。
Tang-Nano
  PMOD-IO   SDカードとキーボードを繋ぐ基板。MAIN-BOARDに刺す。
  PMOD-VGA6  VGAディスプレイ出力。MAIN-BOARDに刺す。
Tang-Nano
  lx9-Step1-CPM80 CP/Mを動作させる為の回路(verilog)
  lx9-Next186_SoC DOSを動作させるための回路(verilog)

#動作
 SDカードを入れ、リセットすれば動く筈だが、そうは問屋が卸さないだろう。
 SDカードは「SD2G_Dos_F.zip」を解凍し、win32diskimagerなんかで書き込めば出来上がるはず。
 このカードデータはdosboxを使って、FreeDosで構成した。その後、最終番地(8KB)にBIOSを書込んだ。
 カードの最後位置に8KBのBIOSが必要だが、最終位置が異なった場合はHxDなんか使って書き換えが必要かもしれない。
Tang-Nano
 この画面が出ない場合、画像出力が異常か、CPUが真っ当に動作していない可能性が高い。
  ※配線不良やショートを疑う必要が有る。
 出た場合、cpuは動作しているが、BIOSが読めておらず、恐らく下記の何れかだろう。
  1.SDカードが読めていない。  SDカードの信号(特にdat0)を確認すべき。
  2.カードの内容が正しくない。 SDカードをダンプして、内容確認すべし。
Image10.jpg
 Starting MS-DOS... が出れば後は多分大丈夫だろう。ご苦労様。


 CNCで作った基板でDOSが動いたぞ。こんな簡素なハードで動くなんて。  その昔数十万円で買った大きなパソコンは何だったのだろうな。  これも時代の流れなんだろう。  まあ、二層基盤にTQFP乗せている時点で、既に遅れているのだろうが。  でもまあ、この辺が分相応かな。  なお、もし追試する奇特な方がおられた場合、上記記載内容は無保証であり、各自の責任においてご利用願います。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?