16ビットマイコンボードの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
いつか使ってみるつもりで入手してそのまま置いてあった16ビットCPUのことを思い出しました。
AMD社のAM188です。
その名の通り、CPUコアは80188互換の16ビットCPUです。
そのAM188を使った16ビットマイコンボードの製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第12回]
●I/O端子の設定
ちょっとまた何日か間が空いてしまいました。
本日も時間がありません。
ほんの少しだけ、さわり程度です。
メモリのCS端子の設定に比べてI/O端子の設定はかなり面倒です。
前回の続きのところからがI/Oの設定なのですが、リストを見直してみましたら、どうにも納得できないおかしなことをやっています。
それであらためてその部分を書き直して、ROMに焼いて動作を確認しました。
下が変更後のプログラムリストです。
[00054] F000 BAA0FF START0:MOV DX,FFA0;umcs [00055] F003 B83FE0 MOV AX,E03F;128k,noready [00056] F006 EF OUT DX,AX [00057] F007 BAA2FF MOV DX,FFA2;lmcs [00058] F00A B83F1F MOV AX,1F3F [00059] F00D EF OUT DX,AX [00060] F00E BA78FF MOV DX,FF78;pdir1 [00061] F011 B8FEFF MOV AX,FFFE;pcs0 active [00062] F014 EF OUT DX,AX [00063] F015 BAA8FF MOV DX,FFA8;mpcs [00064] F018 B8B880 MOV AX,80B8 [00065] F01B EF OUT DX,AX [00066] F01C BAA4FF MOV DX,FFA4;pacs [00067] F01F B87608 MOV AX,0876;i/o base address=8000 [00068] F022 EF OUT DX,AX [00069] F023 BA8380 MOV DX,8083;**** 82c55 [00070] F026 B080 MOV AL,80;**** all port out [00071] F028 EE OUT DX,AL;**** [00072] F029 8CC8 MOV AX,CS;***** [00073] F02B BA8080 MOV DX,8080;***** [00074] F02E EF OUT DX,AX;***** |
60行からがI/O設定のところです。
変更前のリストは[第3回]にありますが、比較のために下に再掲します。
行のトップを2行削除したため行番号がずれています。
それは別にして、今回はどこを変更したかといいますと、下のリストの62行から67行を削除しました。
削除した部分が分かり易いように、空行を入れてあります。
[00059] F00D BAA2FF MOV DX,FFA2;lmcs [00060] F010 B83F1F MOV AX,1F3F [00061] F013 EF OUT DX,AX [00062] F014 BA70FF MOV DX,FF70;piomode0 [00063] F017 B80100 MOV AX,0001 [00064] F01A EF OUT DX,AX [00065] F01B BA72FF MOV DX,FF72;pdir0 [00066] F01E B80EFC MOV AX,FC0E [00067] F021 EF OUT DX,AX [00068] F022 BA78FF MOV DX,FF78;pdir1 [00069] F025 B8FEFF MOV AX,FFFE;pacs active [00070] F028 EF OUT DX,AX [00071] F029 BAA8FF MOV DX,FFA8;mpcs [00072] F02C B8B880 MOV AX,80B8 [00073] F02F EF OUT DX,AX [00074] F030 BAA4FF MOV DX,FFA4;pacs [00075] F033 B87608 MOV AX,0876;i/o base address=8000 [00076] F036 EF OUT DX,AX [00077] F037 BA8380 MOV DX,8083;**** 82c55 [00078] F03A B080 MOV AL,80;**** all port out [00079] F03C EE OUT DX,AL;**** |
それでよいのかどうかをROMに焼いて確認したのですが、上記削除後も正常に動作することが確認できました。
初期設定として必要のない余計なことをやっていたということになります。
何がなんだかわけがわからん、というお叱りもあろうかと思いますが、本日は時間がありません。
次回以降に説明いたしますので、ご容赦願います。
16ビットマイコンボードの製作[第12回]
2017.1.16upload
前へ
次へ
ホームページトップへ戻る