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

マイコン独立大作戦
ROM/RAM/RTCボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
独立大作戦の作戦その1はCRTインターフェースボードの製作です。
作戦その2はキーボードインターフェースです。
作戦その3は、SDカードインターフェースです。
作戦その4は、ROM/RAM/RTCボードです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第22回]


●増設RAMブロックW/Rプログラムも作成済みでした!

前回、増設RAMWRITE、READプログラムを以前に作成していたことをすっかり忘れてしまって、同じ内容のプログラムを作ってしまったあとで、以前に作成していたことがわかって、とほほでありました、ということを書きました。
512バイトのデータCOPYプログラムを新規に作ったことがせめてものなぐさめであります。
と書いたのでありますが。
なんと、ブロックコピープログラムも作ってしまっておりました。
もう、とほほの声すら出ませんです。

そうだったんですよね。
増設RAMは、もとはZB3DOS(CP/M互換DOS)を実行するために、システムROMの裏に置くものとして考えたのが始まりでした。
独立化システムのZB3DOS(CP/M互換DOS)プログラムもSDカードアクセスプログラムの中で増設RAMに対してデータをロード、セーブするためのブロックWRITE/READプログラムをサブルーチンとして組み込んでいたのでした。
下はSDカードプログラムの先頭の部分です。

704B 3EFF     RAMLDT:LD A,FF
704D D39C       OUT (9C),A
704F EDB0       LDIR
7051 AF         XOR A
7052 D39C       OUT (9C),A
7054 C9         RET
7055 214B70   SDINIT:LD HL,RAMLDT
7058 11B0E9     LD DE,RAMLD
705B 010A00     LD BC,$000A
705E EDB0       LDIR

このプログラムは独立化セットのプログラムですから、作ったのは今年の5月です。
その時点でRAMのE9B0に組み込んで使うように考えています。
何なんでしょうかねぇ。
過去に作ったことを完全に忘れてしまって、それでまた同じものをしかも全く同じアドレスで働くように作ってしまうなんて、もう何とも言いようもありませぬ。

結局。
今までの作業をまとめて整理して、SDカードの先頭部分で、起動時に、増設RAMWRITE、READとあわせてシステムRAMエリア(E9A0〜E9B8)に書き込むようにしました。
下はそのように直したSDカードプログラムの先頭部分です。

9057 D39C     BKWRT:OUT (9C),A;$E9A0
9059 EB         EX DE,HL
905A 71         LD (HL),C
905B EB         EX DE,HL
905C AF         XOR A;don't use JP! see assemble list
905D D39C       OUT (9C),A
905F C9         RET
9060 D39C     BKRDT:OUT (9C),A;$E9A9
9062 4E         LD C,(HL)
9063 AF         XOR A
9064 D39C       OUT (9C),A
9066 C9         RET
9067 D39C     BKMVT:OUT (9C),A;$E9B0
9069 EDB0       LDIR
906B AF         XOR A
906C D39C       OUT (9C),A
906E C9         RET;end=$E9B8
              ;
906F 215790   SDINIT:LD HL,BKWRT
9072 11A0E9     LD DE,BKWR
9075 011800     LD BC,$0018;=24bytes
9078 EDB0       LDIR

実はここ数日で上のプログラムの動作確認と合わせて、いろいろテストをしてかなり進展があったのですが、本日は時間がなくなってしまいましたので、そのあたりのことについては次回以降に書くことにします。

ROM/RAM/RTCボードの製作[第22回]
2017.9.7upload

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