2018年6月12日火曜日

[機器][AppleII] MC68008 Card~Apple II用の追加回路カード 


[機器][AppleII] MC68008 Card~Apple II用の追加回路カード      
MC68008 Card
記事をクリップするクリップ追加
書庫GS
カテゴリその他コンピュータ
2018/12/3(月) 午後 9:23
■MC68008 Card
Apple II用のMC68000カードは何種類かありますが、回路図が公開されていて部品数も少ない、ドイツの MC Magazine に紹介されたカードを複製しました。
http://www.inf.fu-berlin.de/inst/ag-ki/rojas_home/documents/pub/68008_Karte.pdf
動作不安定で苦労しましたが、リセット回路を追加することで安定するようになりました。
元の回路では、Apple II のリセットと MC68008 のリセットが同じになっており、電源投入時に MC68008 側のリセットベクターが不定になるため安定しないものと思われます。
$CN00 (N=Slot) で、6502と68008が切り替わります。
メモリは Apple II 本体と共用です。
ドイツでは500枚ほど売れたようですが、ほとんど情報がありません。
ソフトがないので、S-C macro cross assembler 68000 で開発を進めています。
S-C assembler は DOS3.3 ベースで、Integer BASIC の代わりにアセンブラを常駐させる面白い形式です。
■Z-80 Softcard
68008カードから6502ルーチンを呼ぶ方法を調べるため、Z-80 Softcard の動作を確認します。
Z-80 への切り替えは、$CN00 (N=Slot) に書き込むことで行われます。
Apple II 本体では、下記コードが動き続けています。
03C0:
START:
SETREG:
SAVE:
Z80から 6502 の切り替えは、0EN00Hへの書き込みで行われます(これは、Apple II では $CN00 です)。
0F045Hから0F048H にセットしたい 6502 のレジスタ値を書き込み、0F3D0HにApple II側のスタートアドレスを設定し、0EN00Hへの書き込みを行うと、6502のサブルーチンが実行されます。
Z-80 addr   6502 addr       Purpose 0F045H        $45          6502 A register pass area 0F046H        $46          6502 X register pass area 0F047H        $47          6502 Y register pass area 0F048H        $48          6502 P register pass area 0F049H        $49          Contains 6502 stack pointer on exit 0F3DEH                     Address of Z-80 Softcard here as 0EN00H 0F3D0H                     Address of 6502 subroutine to be called stored here              $3C0          Start address of 6502-to-Z80 mode switching routine.                            6502 RESET, NMI and BREAK vectors point here.  A                            JMP to this address puts the 6502 on "hold" and                            returns to Z-80 mode.
参考
http://www.stjarnhimlen.se/apple2/Apple.CPM.ref.txt
http://www.applelogic.org/files/MSZ8MANUAL.pdf
■6502 subroutine call from MC68008 card
Z-80ソフトカードの基本動作がわかったので、MC68008 カードから 6502 コードを呼べるようにしてみます。
Apple II 側のコード
MC68008のコード
Apple II のキー入力を D0 レジスタにコピーし、画面に表示することができました。
        
Apple IIGS
https://blogs.yahoo.co.jp/ushi_cow
https://blogs.yahoo.co.jp/ushi_cow/MYBLOG/yblog.html?m=lc&p=10
https://blogs.yahoo.co.jp/ushi_cow/MYBLOG/yblog.html?m=lc&p=23
https://blogs.yahoo.co.jp/ushi_cow/MYBLOG/yblog.html
             
             
             
                 
             





               
      


0 件のコメント:

コメントを投稿