Toshiba PASOPIA PA-7010 および PASOPIA7 PA-7007 のエミュレータです。 以下の機能を実装しています。
- メイン RAM(64KB)
テープ- PAC2 (RAMPAC/KANJIPAC/JOYOAC)
- PSG (PASPOIA7)
T-BASIC (Version 1.1) で起動を確認していますが、OA-BASIC や MINI-PASCAL の動作は未確認です。
ビルドするときに pasopiaemulator.c
の冒頭で機種を選択してください。
#define MACHINE_PA7010
//#define MACHINE_PA7007
Pico と VGA コネクタやブザー/スピーカーなどを以下のように配線します。
- GPIO0 VGA:H-SYNC
- GPIO1 VGA:V-SYNC
- GPIO2 VGA:Blue
- GPIO3 VGA:Red
- GPIO4 VGA:Green
- GPIO6 Audio
VGA の色信号を VGA コネクタの間には 270~330 Ohm 程度の抵抗を直列に入れてください。 このほかに VGA、Audio の GND に Pico の GND を接続してください。
著作権の関係で ROM は含まれていません。
ROM ファイルを Pico に置きます。
picotool を使う場合は、以下の通りで行けると思います。 (picotool は pico-sdk に含まれています)
$ picotool load -v -x tbasic.rom -t bin -o 0x10050000
$ picotool load -v -x font.rom -t bin -o 0x10058000
$ picotool load -v -x bios.rom -t bin -o 0x1005c000 (PASOPIA7 BIOS)
$ picotool load -v -x kanji.rom -t bin -o 0x10060000 (KANJI PAC)
ROM を書き込んだのちに prebuild
ディレクトリ以下にある uf2 ファイルを書き込むと起動します。
Pico の USB 端子に、OTG ケーブルなどを介して USB キーボードを接続します。 USB キーボードに存在しないキーは以下のように割り当てています。
-
(STOP) → Pause/Brak
-
(COPY) → PrintScreen
-
KANJI → PageDown
-
LABEL → PageUp
-
カナ → カタカナ・ひらがな
-
GRAPH → ALT
また F12 でメニュー画面に移ります。 テープイメージの操作ができます。
LittleFS の扱い方については、 こちらの記事を参照してください。
テープの動作が不安定なために、PAC2 で RAMPAC をサポートしました。 32KB の PAC として動作します。
RAMPAC は取り外し時にフラッシュに書き込みを行いますので、Pico のリセットをすると内容が消えますのでご注意ください。
エミュレータの動作中に PAC の内容を切り替えることも可能です。
PASOPIA7 においては、PAC2 は自動選択されますので、RAMPAC を選択していなくても JOYPAC や KANJIPAC を利用することができます。
- 20行モードの動作は未確認です
- CRTC を制御しているソフトは正しく表示されないことがあります
- テープの読み込みが不安定です
- PASOPIA での SOUND 命令が音痴です
- PASPOPIA における漢字 PAC の動作は未確認です (PASOPIA7での動作確認は取れています)
- PASOPIA7 における T-BASIC エミュレーションが不完全です
このエミュレータは以下のライブラリを使用しています。