2018.11.20
前へ
次へ
ホームページトップへ戻る


16ビットマイコンボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
いつか使ってみるつもりで入手してそのまま置いてあった16ビットCPUのことを思い出しました。
AMD社のAM188です。
その名の通り、CPUコアは80188互換の16ビットCPUです。
そのAM188を使った16ビットマイコンボードの製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第112回]



●システムROMメモリマップ

およそ一週間ぶりの更新になってしまいました。
ずっと昔からのお得意様からの急ぎの注文が重なってしまったために、とてもホームページの更新をするところまでの余裕がありませんでした。
まだその急ぎの作業は継続中ですが、少し落ち着きましたので、久し振りに更新いたします。
その間ND80KL/86(AM188版)のシステムROMの仕上げの作業も並行して進めてきました。
前回も書きましたように、やっと大詰めまできました。
もう一息でとりあえずは完了です。

このところの作業はND80KL/86(AM188版)のマイコン独立化セット対応版システムROMの作成と、新マイコン独立化セット対応版システムROMの作成作業です。
その作業の過程ですでにお送りしておりますND80KL/86(AM188版)システムROMにバグがみつかってしまいました。
本日はちょっと時間がありませんので、そのことについては次回あたりに説明をいたします。
近日中にバグ修正済みのROMをお送りする予定です。
そのほかにもASM86アセンブラなどにもバグがみつかりました。
それらについても次回あたりに説明をしたうえで、皆様には近日中にメール添付でバグ修正済みのものをお送りする予定です。

今までにも書いてきましたように、このところはずっとND80KL/86(AM188版)のシステムROMの作成作業を行なってきたのですが、スタンダード版システムROMと、マイコン独立化セット対応版のシステムROMと、新マイコン独立化セット対応版のシステムROMの作成作業をごちゃ混ぜでやってきたために、もうどこがどうなっているのか頭の中が混乱してしまって、最後の詰めの段階にきていますのに、このままでは先に進めそうもない状況になってしまいました。
そこで例によって私自身の備忘録を兼ねて、今まで行なってきたシステムROMの作成作業を整理して現時点でのメモリマップを作成しました。
もういい加減に全部のシステムROMを仕上げて皆様にお届けしなければいけませんので、とても詳しい解説をつけているだけの時間はありません。
あくまでシステムROMを完成させるための整理が目的ですので、コメントなしのメモリマップです。

こちらは近日中にバグ修正済みとしてお送りする予定のスタンダード版(USB接続型)です。

独立化セット対応版を兼ねますのでSDカード制御プログラムも入っています(S86SD2D)。

こちらは独立化セット対応版です。


こちらは新独立化セット対応版です。


なんとかここまではできたのですが。
ND80Z3.5などの新独立化セット対応システムでは、27C512にUSB接続型システムと独立型システムの2つのシステムプログラムを入れて、それをコマンド(SA0、SA1、USB)で切り換えるようにしました。
今回のND80KL/86(AM188版)のシステムプログラムはUSB接続型も独立型もそれぞれが27C512に入っています。
そのUSB接続型と独立型を1つのROMに入れてソフトで切り換えるということになると27C1001を使うことになります。
それはよいのですが、そのためにはクリアしなければならない課題があります。

その1は新独立化セット用のシステムプログラムは上の3番目のプログラムになりますが、それと併せてソフトで切り換えるUSB型のシステムプログラムは最初にお見せしたスタンダード版でよいのかどうかという点です。
スタンダード版のSDカードプログラムのFORMATコマンドではZDIRもLDIRも作成しません。
ZDIRはともかくとしてLDIRはないとまずいでしょう。
ということになるとスタンダード版システムプログラムにNS6SD1Oを移植することになるのですけれど、開始アドレスが違うのですよねえ。
ちょいと頭が痛い問題です。

2つ目は、とにかくそのようにしてUSB接続版システムプログラムを作ったとして、それをROMのどこに置くのかという問題です。
これはもうE0000〜EFFFFに置くしかないのですが、もともとF0000〜FFFFFで動くことが前提で作ってきたプログラムです。
基本的にはCS=F000としているところをCS=E000にすればよいのですが、エントリ部分だけではなくてシステムプログラムの中でCS=F000を設定しているところがあるかもしれません(確かにあるはずです)。
そのあたりを確認する作業が必要です。
もう一汗かかなければならないようです。

16ビットマイコンボードの製作[第112回]
2018.11.20upload

前へ
次へ
ホームページトップへ戻る