PC-88VA用のソフトウェアをWindows上で実行するエミュレータです。
使用前に添付のreadme.txtとヘルプを参照してください。
■ お願い
VA-EGがだいぶ動くようになってきたので、動作確認の意味も込めて、みなさんが
当時作成された自作ソフトを公開していただけないでしょうか。
詳細は、フォーラムの http://www.pc88.gr.jp/forum/viewtopic.php?t=37 を
参照してください。
■ r060423以降の注意事項
r060423より、新規にFDDサブシステムのROMデータが必須となります。
vaegtool r060407 以降またはXDISK2VAを使用し、実機からROMデータを取得し
てください。
また、FDDサブシステムのZ80エミュレーションを実装したために、より大きい
CPUパワーを必要とします。これが問題となる場合は、r060325 以前と同様の
FDDサブシステムの実装(モックアップ版)を利用することが可能です。詳細は、
ヘルプの「非公開機能」を参照してください。ただし、モックアップ版の場合
は、FDDサブシステムで独自のプログラムを実行するソフト(ソーサリアン、
ファミスタ)は動作しません。
r060820
スプラッシュスクリーン:
・通常版に変更
r060803 (C70配布版)
SGP:
・LINEコマンド実装
TSP:
・初代VAのROMで起動できない問題を回避
スプラッシュスクリーン:
・vaeg.bmpを入れ替えることでカスタマイズ可能に
・C70版に変更
アイコン:
・変更
リプレイ機能(非公開):
・FDD/キーボード/ジョイスティックの記録・再生
r060708
CGROM:
・ANK文字フォントモード8ドットモードに対応
マウス:
・マウスポートの接続するデバイスのデフォルト(iniファイルに
指定の無い場合)をジョイパッドに変更
画面制御:
・CRTモード切替スイッチ実装
(iniファイルでのみ指定可能。DipSw_VA=xx でxxに16進数2桁を
指定。このbit0が0なら15KHz CRT, 1なら24KHz CRT。他のbitは
無効。)
・水平周波数15.98KHz(ノンインターレース)時の画面描画を実装
・水平周波数の選択をポート100h(表示画面制御レジスタ)bit7(ラスタ
スキャンモード)で切り替えるように修正
・ポート40h(システムポート4)bit5(VRTC)の変更タイミングを変更
・ポート100h(表示画面制御レジスタ)bit12(SYNCEN:水平同期信号出力
禁止レジスタ)で禁止されている場合に画面描画を抑止
テキスト画面:
・ポート148h(テキスト制御ポート)bit2(ANK文字フォントモード)の
8ドットモードに対応
・高速化:全画面空白、背景色0、アンダーラインなしでビットマップ
展開を休止する
グラフィック:
・マルチプレーン4bpp水平解像度320ドットの表示を実装
・高速化:マルチプレーンモード4bppのビットマップ展開をマシン語化
・ポート510h〜5FFhのinを実装
・モード(マルチ/シングル)に応じてポート(510h〜5FFh)の読み取りを
無効化
・ポート510h〜5FFhのリセット時の値を正しくした
・マルチ/シングル切り替え時にポート510h〜5FFhをリセットするよう
にした
・マルチプレーン拡張ライト時に書き込み先プレーン、更新するパ
ターンのプレーンを誤る場合がある問題を修正
・マルチプレーンモード用パターンレジスタの読み取り(ポート53xh,
54xhのin)に対応
TSP:
・SYNCコマンドのパラメータをVSYNCタイミングに反映
・ポート142h(ステータス)bit6(VB:垂直消去期間)実装
SGP:
・高速化:マルチプレーンモード時に処理をスキップ
・ポート508h(謎ポート)のinのみ実装
・マルチプレーンモード時のポート読み取りの無効化
FDサブシステム:
・高速化:コマンド待ちループでスリープさせる
RS-232C:
・ポート1CBhからのRS信号の読み取りを実装
・8251のコマンドで指定されたRTS,DTRを保存
・8251のモード設定直後のコマンド以外はコマンドが無視されていた
問題を修正
・コマンド指定によりRS-232C TxRDY,TxEMP,RxRDY割り込みマスクの状
態が変わってしまう問題を修正
RS-MIDI:
・CTS = ~RTS となるように修正
→PLYRCP 実行可能。
ToolWindow:
・ツールウィンドウ表示開始時に、FDの挿入状態とモードLEDが
表示に反映されない問題を修正
r060527
グラフィック:
・マルチプレーンモード4bit/pixel表示実装
・マルチプレーンモード拡張アクセスモード(リード、ライト)実装
→ソーサリアンが動作
RS-232C:
・実装(ポート20h,21hのみ)
→Xak2が起動
r060423
FDDサブシステム(モックアップ版):
・ライトデータ(01h)、ロードデータ(0eh)の枠だけ作成
FDDサブシステム:
・新規実装
→ファミスタが動作
→ソーサリアン起動可能(ただし画面は表示されず)
Debug Utility
・FDDサブシステムのメモリ、Z80レジスタ、逆アセンブルリスト
表示に対応
r060325
SGP:
・CLS実装
・TVRAMアクセス実装
→AIR HUNTER 2 (Hyper-VA) 対応
・全LOGICAL-OP 1,2,4,8,9,b,c,d 実装(全パターン実装済)
・SET SOURCE/SET DESTINATION の水平サイズを14bitに、垂直サイ
ズを16bitに修正。フレームバッファ幅のbit1を有効に修正。
・1bit/pixelからの拡張BITBLT/PATBLTを実装
→BASICのPAINT命令対応
・BITBLT フレームバッファ幅が負数の場合の処理を再修正
・BITBLT/PATBLT SF=1を実装
・BITBLT/PATBLT HD=1を実装
・TP-MODE=2 (デスティネーションが0の場合のみ転送)を実装
・SET COLOR, CLSの実行クロック数を実機に合わせて設定
・I-OバンクRAMから/への転送を実装
・SGP割り込み実装
・SGP実行中断(ポート502h bit1)を実装
・SET WORKの実行時間を実機に合わせる
TSP:
・表示期間と垂直帰線期間の割合を実機に近くなるように変更
・垂直帰線期間に入ってから割り込みがかかるまでに数クロックの
遅れが生じるように修正
→最終平気UPO(うぴょりっくソフト)のハング回避
・SYNCコマンド実装(周波数(15KHz/24KHz)、表示ライン数、テキス
トの解像度の読み取り)
→30行BIOS対応(テキストのみ)
グラフィック:
・シングルプレーン1bit/pixel実装
・パレットモード3 (32色表示)実装
→アニメフレーマーの表示色が正常に
・パレットブリンク機能実装
・インターレースモード/ノンインターレースモードの設定を表示
に反映
CGROM:
・外字として使用可能な文字コードの範囲を実機に合わせた。
ディップスイッチ:
・CRTモードは24KHz固定でI/Oポート1CBhから読み出せるようにした。
テキスト画面:
・ブリンクアトリビュート実装
・シークレットとホリゾンタルライン併用時にホリゾンタルライン
が表示されない問題を修正
・40桁モード実装
・10/12行モード実装
ToolWindow:
・LEDの色を調整
・FDDのアクセスランプを2HDの場合は緑に
・FD挿入時はフロッピー挿入口部分がFDの入った画像となるように
変更
・マウスカーソルがツールウィンドウからはずれてもドロップダウン
リストが非表示にならない場合がある問題を修正
・マウスカーソルがツールウィンドウからはずれてからドロップダウ
ンリストを非表示にするまでに数秒の間隔を入れる
・起動時にコマンドラインにFDイメージを指定した場合に、ツール
ウィンドウに反映されない問題を修正
r060102
マウス:
・実装。
マウスを使用するには、[Device - Mouse]でマウスエミュレー
ションを有効にし、[Device - Mouse Port - Moude]でマウスを
マウスポートに接続する。
・[Other - Mouse Rapid] 選択時の連射速度の調整。
・マウス移動量の計算時に現在時刻の算出式が正しくなかったのを
修正。
ジョイパッド:
・[Other - Joy Rapid] 選択時の連射速度の調整。
CPU:
・ADD4S/SUB4Sでセグメントプレフィックスが無視されていたのを
修正。
→BASICで単精度実数型変数を使用したfor文の動作が修正された。
メモリ:
・メモリスイッチのライトプロテクトがバックアップメモリ全体に
適用されていたのを修正。
→外字登録(直接メモリに書き込むタイプ)が可能に。
CGROM:
・CGROMアクセスポートからの外字登録を実装
SGP:
・PATBLT実装
・LOGICAL-OP の S OR Dを実装
→「Boomering」のタイトル表示
・BITBLTでsourceとdestinationのサイズが違った場合の動作を修正
グラフィック:
・ポート100h bit 13 (XVSP ビデオ出力禁止) 実装
・ポート100h bit 15 (GDEN0 グラフィック画面表示許可)実装
ツールウィンドウ:
・フロッピーを挿入している場合にレバーが閉じた表示となるように
変更(デフォルトスキンのみ)
r051126
FDC/FDD:
・読み込み速度を実機に近づけた。
・FDCタイマーを実装
→「OLTEUS」ボス面の表示がほぼ正常に
SGP:
・BITBLTでLOGICAL-OPのS XOR D を実装
→「OLTEUS」の表示正常化
グラフィック:
・奇数アドレスにバイト単位で書き込んだ場合のLU出力ライト動作が
誤っていたのを修正。
・ポート200h-27fhからの入力を実装
・DSH(フレームバッファの高さ)が0のときにフレームバッファが表示
されてしまう問題を修正
→「OLTEUS」の表示正常化
その他:
・どこでもセーブ対応 (ヘルプの「非公開機能」参照)
・IOバンクメモリが利用できなかったのを修正。
・IOバンクメモリのサイズとI/Oポートアドレスのカスタマイズを可
能に。
Tool Window:
・マウスカーソルがツールウィンドウの上に来たらファイルリスト、
ボタンを表示するように変更。
r051002
SGP: メモリアクセス時にCPUをウェイトさせるよう変更
→SGPによる転送と転送元のCPUによる変更が並列実行されるケース
での動作の正常化(「ハティの空で」ステージクリア時画面)
システムポート:
ポート32h bit7(SINTM サウンド割り込みマスク)実装
→「ハティの空で」ジョイスティック読み取り正常化
YM-2608:
・レジスタ10Eh (DAC DATA)に出力された場合、EOSフラグを1にする。
→DA変換機能使用時のハングアップ回避 (「Star Dust Magic」)
・タイマーが、オーバーフロー後停止していたのを修正し、プリセッ
ト値をロードして自動的に再起動
→BGMのテンポの正常化
Tool Window:
・スキン変更
・ツールウィンドウがアクティブになった場合のみファイルリスト、
ボタンを表示する機能を追加
Debug controller:
新規 (ブレークポイント機能)
r050806
CPU: V30モード時の実行クロック数を変更(未完)
SGP: 8,16bit/pixel対応
グラフィック:
・垂直ラップアラウンド 実装
・表示禁止 実装
・8bit/pixel(直接色指定), 16bit/pixel対応
テキスト:
・表示禁止実装
・テキスト画面フレームバッファの表示開始位置と幅に対応
・若干の高速化: bitmap変換時に、空白(00hまたは20h)だったら処理
をスキップ
TSP: コマンド88h(EXIT), 84h(SPRDEF)実装
→初代VAデモの球/円柱/円錐アニメが表示されない問題を解決
キーボード:
・キー↑,→,フルキーの8,9がポート00h〜0Ehの間違ったポイントに
マップされていたのを修正
・キーをジョイパッドとして使う機能([Device]-[Keyboard]-
[JoyKey-1])を実装
YM2608: ウェイトの挿入タイミングを変更
システムポート(032h):
読み書きのみ対応(サウンド割り込みマスクなど本来の機能は未実装)
→初代VAデモハングアップ回避
漢字CGポート:
読み出しのみ実装
スプラッシュスクリーン変更
アイコン変更
about画面内容変更
r050626
CPU: V30モード時の実行クロック数を変更(未完)
SGP: BITBLT 神羅万象対応
実行クロック数を意識したタイミング制御
FDD: 2DD対応
グラフィック:
・GVRAM拡張アクセス シングルプレーンモードのみ実装
・グラフィック画面1画面モード時にC0000h〜のGVRAMが表示できない
問題を修正
・スクリーンマスク 実装
GVRAM: ウェイト調整
I/O: ウェイト挿入(2clock)
YM2608: OUT時ウェイト挿入(20μsec)
r050516
SGP: 新規(BITBLTの一部のみ)
CPU:
CLR1, SET1 修正
TEST1 ea16, i4 追加
→ 神羅万象のゲーム開始直後のハングアップ解決
DMA:
ポート180h DMA転送時のシステムメモリエリアバンク指定実装
→ スプライトパターンが正常に読み込めない問題の解決
FDサブシステム:
コマンド00h直後のディスクモードを01h(1D/2D)に変更
→ 初代VAのROMによる起動が可能
コマンド26h(インテリジェントモードへの移行)
キー:
[Device]-[Keyboard]よりF12に全角キーを割り当て可能
DebugUtility:
DumpSegmentでの各メモリエリアバンクの直接指定
Video(VA)での画面マスク、画面合成、バックドロップカラーの表示
r050503
グラフィック:
シングルプレーン4bit/pixel 表示
画面制御:
優先順位の指定(COMPOSE)
バックドロップカラー
透明色の指定
キー:
ポート1C1hから読み出さないとキーマトリクス(ポート00h〜0Eh)が
更新されない問題を修正。
DebugUtility(Video(88VA)): 新規
DebugUtility(Unassemble):
任意セグメント指定([Edit]-[Enter Address])
r050424
CPU: add4s, sub4s, repc+scasb 実装
→BASIC起動, EDIT動作可
DebugUtility(dump segment):
hexに対応する文字も表示
任意セグメント指定([Edit]-[Enter Address])
r050409
初公開