歓迎光臨
"EmuPIA" - TOSHIBA PASOPIA emulator for Win32
"EmuPIA 7" - TOSHIBA PASOPIA 7 emulator for Win32
"EmuPIA" is TOSHIBA PASOPIA emulator for Win32.
"EmuPIA 7" is TOSHIBA PASOPIA 7 emulator for Win32.
These softwares are under GNU GENERAL PUBLIC LICENSE.
This software requires Windows 2000/XP/Vista/7.
Download: Jump to Common Source Code Project
EmuPIA / EmuPIA 7 謎WIPページ
恒例の謎日記。
各機種横断しにくいんで、blog移行も考えた方がいいのかなあと思案中。
2016/12/29
亀井様にご提供いただきましたパッチを取り込みました。
SCREEN 2のグラフィックの色が常に白色だった問題が修正されています。
半年以上放置してしまって申し訳ありません。
2015/2/21
PASOPIA7が起動しなくなっていた問題を修正しました。
以前より、MIOフラグが初期化されていなかったことが原因だったようです。
その他、HD46505の初期化中に、フレームレートがとんでもない値になる問題の修正、
SN76489ANの再生品質の改善をしています。
2015/1/19
ステートセーブに対応しました。
2012/3/20
zak様より、ディスク版T-BASICとMINI PASCALのスクリーンショットを頂きました。
貴重な画像をありがとうございます。m(_ _)m
存在することは承知していたのですが、中々ヤフオクにも出てこないんですよね(苦笑)
2012/3/6
zak様より、PASOPIAおよびPASOPIA7の修正差分をお送りいただきました。
まことに有難う御座います。
PASOPIAの修正は、画面描画周りの修正や、PACスロットのデバイス切り替えなどが中心です。
また、フロッピードライブのサポートをしています。
OA-BASICでフロッピーが繋がっていると、必ずシステムディスクを要求されてしまうため、
従来は敢えてオミットしていましたが、ブートする言語の種類を切り替えるのにあわせて、
フロッピードライブの有効・無効も選択できるようにしました。
PASOPIA7側は、バンクメモリの切り替えに関する不具合修正がされています。
2011/6/1
パソピア7について、Z-80CTCからスピーカに到る結線の定義を修正しました。
2010/8/27に、初代パソピアに対して行ったのと同等の修正です。
2011/5/28
最近コードの整理を行った際に、初代パソピアのI/O定義を間違えていたのを修正しました。
OA-BASICが起動しなくなっていたのが修正されています。
2010/8/27
初代パソピアで、Z-80CTC周りの結線に問題があったのを修正しました。
対応した当時、ある程度想像込みで実装していましたが、
最近落札したI/Oに回路図が掲載されていましたので、そちらを元に修正しています。
2010/6/4
今回はコモンソース側の実装の修正のみです。
前回のPC-98LT絡み更新で、uPD765Aのステータスレジスタの挙動を修正したのですが、
PASOPIA7において、ディスクを挿入するまでFDCにアクセスし続けるようになってしまい、
ROM BASICが起動しなくなっていたのを修正しました。
共有部品の修正をする際には、ちゃんと他の機種でも確認しないといけませんね(苦笑)
また、今回はWin32側の実装を色々と修正してみました。
特にスクリーン周りの実装を大幅に見直しています。
最大8倍のウィンドウモードの拡大や、任意の解像度でのフルスクリーンをサポートしています。
1920x1200のモニタで、640x400のマシンをフルスクリーン表示すると、くっきり3倍で表示されます。
また、フルスクリーン時において、通常は実解像度の整数倍で表示するようになっていますが、
これを画面ぴったりに拡大する機能をサポートしました。
こちらはCOLORONCOLORで単純にStretchBltするだけなので、拡大品質はそこそこです。
その他、フルスクリーン時に、メニューバーを自動的に隠すようにしました。
また、AVIの録画機能が壊れていたのを修正するなど、細かい修正を色々やっています。
2009/12/28
MZ-5500のために、Z80CTCにCPUと異なるクロックを入力する仕組みを追加していましたが、
副作用でPASOPIA/PASOPIA7が動作しなくなってしまってました。
この不具合を修正しています。
また、Z80ファミリのデイジーチェーンの順番が間違ってましたので、そちらも修正しています。
特に何かが動くようになったりならなかったり、ということはなさそうです。
2009/4/1
画面生成処理部において、HD46505のDISPTMG(R8:bit7-6)をチェックするように修正しました。
この値が11のとき、画面は出力されません。
(試験に出るX1を読んでいて、今更ながらに気付きました)
2007/2/11
HD46505のDISPLAY/VSYNC/HSYNC信号のタイミングの精度向上を図ると共に、機種ごとの描画処理部との分離を行いました。
また、画面右下にフロッピーのアクセスランプを描画するようにしました。
クリップボード内のテキストを、自動的にキーボードから入力する機能を追加しました。
雑誌からOCRで取り込んだプログラムを自動入力するのに役に立つ、かもしれません。
ただし、漢字や半角カナ、グラフ文字の入力は対応していません。
また、ウィンドウの状態(フルスクリーンか否か)を保存して、次回起動時に再現するようにしました。
初代PASOPIAで、メモリマップの処理や、HSYNCの取得を修正しました。
OA-BASICが起動しなくなっていたのが解決しています。
2007/2/1
コモンソースコードプロジェクトの方で、ビデオ録画機能の追加&色々修正しました。
変更点の詳細については、コモンソースコードのページをご参照ください。
PASOPIAの修正としては、初代PASOPIAのWindowsCEバイナリを用意した他、CRTCのHSYNCの処理の見直しを行いました。
Z-80CTCの実装の見直しとあわせて、幾らか処理が軽くなっています。
以前blogの方でも書きましたが、Z-80CTCやi8253の修正について。
PASOPIA7では、Z-80CTCに4MHzのパルスが入力されています。
従来はこれを1パルスずつ律儀にカウントしていたのですが、実際はそんなことをする必要はない訳でして。
ターミナルカウントに達して出力の状態が変化するまでの期間を算出して、その期間が経過したら一気にカウントを進めるように修正しています。
(入力クロックが固定周波数の場合のみ)
ただし、途中で現在のカウント値を読みに行く場合もありますので、そのときは経過時間を求めて、その分だけカウントを進める必要があります。
2006/12/31
コモンソースコードプロジェクトの方で、ビープ音生成処理を修正しました。
前のリリースではぴょろぴょろと変な音になっていましたが、今回のリリースで安定した周波数の音が生成されるようになっています。
2006/12/7
コモンソースコードプロジェクトに則った再実装を行いました。
仮想マシン側では、LCD版の背景色を実機に合せて変更しています。
初代PASOPIAについては現在作業中です。
2005/8/14
以前ユーザの方から送っていただいたパッチを適用しました。
主にvramやhd46505周り、サウンド周りを修正していただきました。
対応が遅くなってしまい申し訳ありません。
特にhd46505の修正は圧巻で、従来レジスタの値を決め打ちして描画していたのですが、これを出来る限り厳密に解釈するようにしています。
不正な値を指定すると、スクリーンショットのように同期がずれて画面が流れ出すという芸の細かさ。
その他、eRX-78で導入したイベント発生のタイミング向上を行っています。
対応を悩んでいるのが、こちらのマリちゃん危機一髪。
MZ-2500のようにテープで音声を流すということをしているのですが、肝心の音声がちょっと脱力系でして(苦笑)
2005/1/10
初代PASOPIAのOA-BASIC版をサポートしました。
はてさて、個人で実機を所有している方がどれだけいらっしゃることか(苦笑)
初代PASOPIAのサウンド、またPASOPIA 7のbeep音の生成処理を修正しました。
実機では、音源としてZ-80CTCのカウンタ#1の波形を使用しています。
しかし、音声生成処理とZ-80CTCの駆動処理のタイミングの問題から、まともな波形が得られていませんでした。
これを、Z-80CTCから分離して、音声生成専用の処理を使用するように修正しています。
スクリーンショットは、T-BASIC版のデモテープ内のDOREMIです。
2005/1/6
OA-BASICの実験中です。
ディスクI/Fが存在する場合、強制的にディスクを要求してきます。
ディスクI/Fを無効にすると、OA-BASICが起動するようです。
OA-BASICのROMイメージが存在するときは、ディスク無効にすれば簡単かな?
音源の問題もありますので、OA-BASIC対応版はまた後日に。
2005/1/3
EmuPIAの公開を開始しました。
アーカイブは、EmuPIA 7と共通となっています。
スクリーンショットは、screen 1とscreen 2の描画の実例です。
OA-BASICについては、明日帰省先から帰り次第、ROMの吸出しと確認を行います。
EmuPIA 7の方も、ジョイスティックの対応を修正しています。
EmuZ-2500と同様に、環境によって正常動作しない件の対応です。
2005/1/1
あけましておめでとうございます。
実家でごろごろしつつ、screen 2のグラフィック描画周りの解析中です。
何となくそれっぽい表示は出来ているのですが…
文字のみのソフトであれば、そこそこ動作するようです。
スクリーンショットは、いんぷっと学習 助動詞編です。
2004/12/30-2
画面生成処理の実装を進めてみました。
screen 1, screen 2について現在解析中です。
2004/12/30
初代PASOPIAの実装を開始しました。
現状、画面モード決めうちで、取り合えず画面が表示されるところまで。
CRTC周りとメモリ管理以外は、PASOPIA 7と余り違いがないようですね。
目標は、元旦リリースです。
出来ればPASOPIA 5も一緒に片してしまいたいところ。
実機を貸してくださる方がいらっしゃいましたら、ご連絡ください。
2004/12/4
サウンド再生時に音が途切れる場合がある問題を修正しました。
8255のport cのビット操作の実装を修正しました。
些細な修正ですが、放置しっぱなしも何ですので、更新しておきます。
スクリーンショットは、ハドソンのジャスティスナイトより。
今回の更新内容とは特に関係ありません。
2004/11/11
液晶ディスプレイに対応しました。
これはコンフィグによる切り替えでなく、最初から別バイナリです。
実物の色合いが判らないので、昔風の黄色がかった色にしてみました。
実物持ってないので、多分こんな感じだろう、といった実装なのですが…
液晶ディスプレイを所有されていた方、これであってますでしょうか?
中間色は、2つの色を偶数/奇数ドット毎に配置することで実現しています。
しかし、このやり方では縦縞になってしまい、余り綺麗に見えません。
そこで、実機と仕様が異なりますが、2色が市松模様になるように配置するモードを用意しました。
スクリーンショットの左側が高画質時、右側が通常時の中間色となります。
Windows CE版の処理速度を大幅に向上させました。
従来2〜3fps程度だったのが、10fps程度は出るようになっています。
Z-80CTCの駆動をある程度大雑把にして負荷を軽減しています。
但し、そのままではデータレコーダ使用時にパルス幅の計測精度が落ちてしまいますので、データレコーダ駆動時のみ高精度でZ-80CTCを駆動するようになっています。
その他、リセット時にVRAMを初期化するようにしたとか、I/Oの2重登録があったのを修正したとか、細かいところを幾つか。
2004/11/8
コンフィグ機能やメニュー周りの実装を行いました。
エミュレーションコア自体はそれ程は弄っていません。
スクリーンショットは、本体添付のテープに収録されているサンプルプログラムです。
カラーパレットの変更を駆使した内容が多いです。
BGMの6重和音も、中々聴き応えがありますね。
2004/11/3
HC46505のR10,R11周りの実装を行いました。
カーソルの形状や、表示非表示、ブリンクの設定を反映するようになっています。
ゲームなんかで非表示になったり、BASIC上でカナロック時に形状が変わるようになっています。
その他、NMI周りの実装をしました。
メニューのリセットが機能するようになっています。
I/OトラップでNMI発生も実装していますが、T-BASICを所有していないので正常動作するかは不明です。
スクリーンショットはMAGNET ONより。
カーソルが非表示になっているのが確認できます。
2004/10/30
データレコーダをサポートしました。
wavファイルのまま再生、録音できるようになっています。
csaveしたファイルは、そのままテープに録音して実機でcloadできる筈です。
wavのままではサイズの問題がありますので、将来は別のフォーマットを使用するかもしれません。
スクリーンショットは、アポロテクニカの15 Puzzlesです。
最初にBASICのプログラムをcloadして、実行するとマシン語をbloadするようになっています。
画面が不正に消去されてしまう問題を修正しました。
大貧民などが正しく表示できるようになっています。
10/24のスクリーンショットと比較してみてください。
2004/10/24
ROM吸出し手順に載ってる、basicプログラムの記述が間違ってました。
非常にごめんなさいです。
またこれとは別件で、うまく吸い出せない問題が起きているようです。
調査しますので、ROM吸出し作業は暫くお待ちください。
これだけでは何ですので、スクリーンショットを何枚か。
Mr.G、大貧民、ウルトラ4人麻雀です。
2004/10/18
VRAMのバンクセレクト周りを修正しました。
メモリプレーン、データプレーンの解釈が正しくなかったようです。
ALPHOSの画面化けが直っています、10/16のスクリーンショットと比べてみてください。
ディスクメニュー画面。
MENUP7というプログラムが存在すると、オートスタートするようです。
以前のバージョンではファイル名の背景が黒かったのが、正しく表示されるようになりました。
こんなソフトも動いています、ということで。
倉庫番とMHOのスクリーンショットも貼っておきます。
その他、使ってるソフトがあるのかどうか判らないジョイスティックのサポートとか。
テキスト画面の表示ページの選択周りの修正とか。
2004/10/16
HPC2000(実質sigmarion III専用)を作成しました。
533MHzにクロックアップして、3〜4fps程度です。
M88のコードをベースにして、ディスク周りの実装を行いました。
で、手持ちのソフトを幾つか試してみました。
ALPHOSは、画面化けは多いですが一応遊べるレベルです。
音周りは概ね完璧かと。
2004/10/12
未実装箇所が多くて時期尚早ですが、一応公開しておきます。
VRAMアクセス周りの問題は解決しました。
テクニカルマニュアルに掲載されていないI/Oが幾つかあるようですね。
現在、PACスロット2周りの実装を進めています。
RAM PAC2(32K)×2, 漢字ROM, ジョイスティックの構成の予定です。
2004/10/7
何か、いきなり動き出しましたよ?
VRAMのバンク切り替えが上手くいっていないのか、たまに画面が乱れますけど。
最初に思っていたよりも、早く公開できるかも。
2004/10/6
まだ公開できるレベルではないですが、開発開始しましたよという意思表明だけでも。
起動して、最初のディスク数を指定するところまでは動作しました。
フォントROMがCPUからアクセスできなくて吸い出せないので、FM-7用のフリーROMを流用しています。
ちゃんと動作するようになるまで、まだ暫く掛りそうです。