SBC6800に6502を載せてApple 1 を体験する
★ Twitter @Leo_yumesichi に投稿したつぶやき ★
★ SBC6800の製作記事を参照する必要があります★
A1BASIC-WOZV1.zip
(*.ASM, *.HEX, *.LST)
1. SBC6800に6502を搭載するための改修
既に動作させている先人の記事が大変参考になります。
【ほうめいさん】基板改造しない方法
【電脳伝説さん】プチ改造する方法
- 基板の入手先
- SBC6800 (スイッチサイエンス)
- 当Blogの改造方法
☆ 新たに入手した板を、RAMを32KBにする改修を含めてドリルで加工
長い線は RAM AdressPin 赤:A13 黃:A14 緑:A15
短い線は 74138 Pin6と6502 Pin38のプルアップ(5V直結)
完成した基板
1M、9600のシールがある8PinICはSBC6800用のもの
ROM: AT28C256、 RAM: UM61256FK
2. 当Blogの環境と条件
- PC:
- win10に次のコマンドをインストール:
msdos.exe MS-DOS Player
X6502.exe Arcpitのクロス・アセンブラ
Tera Term ターミナル エミュレータ
Xgpro v10.13 Universal Programmer TL866 II PLUSの書き込みソフト
・ダウンロードしたXgproV1013_Setupでインストール場所をC:¥Program Filesに設定するとXgpro起動時に「Config file error!」が出る。従って当BlogではC¥user¥commandとした。このバージョンはPIC12F1822に書き込み可能で、汎用ロジックICのテストができる。
3. WozMonitorの手入れ
Apple1のconsole入出力はパラレルI/Fで最上位ビット1になっている。
6850シリアルでは0なので、下記の矢印の処理が必要になる。
元のソースは「ほうめい」さん「electrelic」さんのリストを借用させていただいており、感謝いたします。
4. Apple 1 BASIC の手入れ
- console入出力の部分はCONIN、CONOUTに書き換え、NOPを挿入して他はApple1オリジナルROMと同じ配置にしてある。例えばリセット後のBASICのwarmスタートは E2B3R とタイプすれば良い。
- Windows PCのコマンドプロンプトでコンパイル
>MSDOS X6502 /H A1BASIC-WOZV1.ASM, A1BASIC-WOZV1.HEX, A1BASIC-WOZV1.LST
- Universal Programmer TL866 IIでHEXファイルをPROM( AT28C256 )に焼く。
5. 起動テスト
- 起動時のPromptはオリジナルはバックスラッシュ( \)だが、¥
- BASICプログラムの実行 MAGIC SQUARE.BAS
MAGIC SQUARES.BASの画面
- BASICプログラムでTEK4010エミュレーション
TEKDEMO-A1.txtは別記事(Apple 1 ReplicaでTEK4010エミュレーション)の機械語とBASIC(TEKDEMO65.txt)を結合したもの。
Tera Termの設定は写真の通り。
【ほうめいさん】のSBC6800+W65C02Sで2MHz動作にすればTera Termの送信遅延は150㍉秒/行(L)程度になる。
6. 大いに参考になる記事
【kuninetさん】 SBC-IO Rev.2でLチカなど
【electrelicさん】 UniversalMoniterの開発
【tomi9さん】 R6502 Replicaの製作
TEK4010エミュレーション
以上
コメント
コメントを投稿