TAB:4,WIDTH:80 =========================================== PC6001VW -PC6001V for Win32- & AllegroDLL for PC6001VW 更新履歴 =========================================== --------------------------------------------------- ■2004.11.04 ver 101e4 ・Windows標準ファイル選択ダイアログを開いた時、Networkモジュール(RPCRT4.DLL) が例外処理を多発するので、”マイネットワーク”が出ないようスタイル変更。 ついでにオプションにオールドタイプスタイルも追加。 # 標準ダイアログを使うと例外エラーが出るような場合、オールドタイプに # すると回避できるかも知れません。 ■2004.11.03 ver 101e4 pre-0 ・プロテクト指定のDSKイメージをマウントしたとき D88に変換されたディスク イメージが、出力されなかった不具合修正。 # プロテクトDSKファイルをD88に変換したとき、元のファイル属性が反映 # されずに、D88イメージの再オープンに失敗してました。 ・D88変換が行われたときのプロテクト情報はファイル属性の変化のみに止め、 D88内部のプロテクト情報はノーマルのまま出力するように変更。 # D88内部のプロテクト情報を一々バイナリエディタで書き換えるのも大変だし、 # ファイル属性だけなら Explorer だけで簡単に変更できますし…。 ・P6-Allegro使用、FileSelectDialog_Windows標準、Windowモード実行 の条件で "SaveTape File Open" を実行した時、ディスクセレクトの画面が開いてしまう 不具合を修正。 --------------------------------------------------- ■2004.10.26 ver 101e3 ・ベタDSKイメージをマウントした時、D88に変換された新規ディスクイメージが ファイル出力されなかった不具合を修正。 # 変換されたD88新規ディスクの書き込みプロテクト処理が解除されておらず、 # ファイルを出力せずに終了してました…( ゚Д゚) --------------------------------------------------- ■2004.09.21 ver 101e2 ・キーボード置換でJOYSTICKコードに置き換えたとき、そのまま置換元の キーボード割り込みが発行されてしまっていた不具合を修正。 # ver.101b pre-1 で置換キーコードのズレを修正したとき、割り込みを # 無効にするJOYSTICKコードの数値を修正するのを忘れてました。 --------------------------------------------------- ■2004.09.10 ver 101e1 ・BASIC起動時、[Pause]キーで"かな"モードに入ったときに、画面右下の 入力モード表記が "かな" に切り替わらなかった不具合を修正。 # ファンクション割り込みが発行してませんでした…。 --------------------------------------------------- ■2004.09.09 ver 101e ・英語キーボードには [ひらがな] キーが存在しないとの事で、[Pause]キーにも "かな"キーを割り当て。 # AllegroLIB は CapsLock,ScrollLock,Pause は拾ってくれないので、 # 画面の更新に合わせて GetAsyncKeyState( ) で取得するようにする。 # なので、P6VWを窓モードで他のアプリと切り替えながら使用した場合、 # 特に他のアプリで[Pause]キーを押しっぱなしでフォーカスをP6VWに # 切り替えた場合(そんな事するのか!?)、誤作動する可能性も # ありますが…まぁ、問題ないですよね(^^; ・サウンドストリーム録音機能を公にする。 # デバッグ用に付いていた機能です。 # 『耳コピ、カマ〜ン!』…とか書くと著作憲違反ほう助罪になりそうなので、 # 「野球試合の応援でビクトリアス9のロード音楽を皆で合奏するダベサ!」 # というようなケースが万が一・億が一・兆が一、トチ狂った理由で発生した時、 # P6の生演奏をカセットテープに録音してメンバーで練習するときに聴く # などのケースで使用して下さい。(ナンダソリャ!?) # M88にもある機能だし、ま、いっか…ということで(オィ。 # ショートカット用のキーが足りないので [F9] (tape/disk change) を # 潰してRECスイッチに割り当ててしまいました。ということで、 # メディアの切り替えは [F8] のエミュレータメニューから行って下さい。 --------------------------------------------------- ■2004.07.10 ver 101d ・P6Tのテープ自動ロードで、ページ指定後の間が足りずにロードコマンドの 先頭一文字が欠けてしまうという不具合を修正。 # 確かに…N60mモードだと初期画面の表示に時間が掛かって、 # 最初の文字入力が受け付けられてませんでした。 --------------------------------------------------- ■2004.06.28 ver 101c pre-2 ・テープリード中に "どこでもロード" を使っても、テープ状態が初期化されない 不具合を修正。 # 高速化OPTION でテープロード中どこでもロードを使うと、速度がノーウェイト # のまま固定されちゃったりして…(^^; ・"どこでもセーブ" で[かな]の状態を保存していなかった不具合を修正。 # BASICの[かな]入力の状態で "どこでもセーブ" して、次回起動で # "どこでもロード" するとBASICでは[かな]入力のつもりになっているのに、 # エミュのシステムでは入力状態がリセットされてました。 # (BASICステータスと実際の入力状態がひっくり返ってしまう。) ・[Home] キーが効かなくなっていた不具合修正。 ■2004.06.22 ver 101c pre-1 ・メディアイメージのファイル名にディレクトリ名が設定された時、そのまま ファイル名として扱って読み込みに失敗する不具合を修正。 --------------------------------------------------- ■2004.06.13 ver 101b pre-1 ・キーボード置換コードにズレが生じていた不具合を修正。 # Allegro ver4.1.3 になってから、キーコード定義に MacOSX用のキーが # 追加されたらしく、Ctrl,Shift,Alt のコード定義が思いっきりズレてました。 # ( [L-Shift],[Space] を [N],[M] に置換して、ロードランナーを動かそう # とした時、初めて気付いたりして…(^^;; ) # Shift,Ctrl,Alt 及び Joystick1,Joystick2 の置換を設定している場合は、 # KeyReplacementオプションを再設定する必要があります。 --------------------------------------------------- ■2004.06.12 ver 101a pre-1 ・スキャンライン設定で640x480以下の低解像で起動した時、通常通り 640x480 の サイズで画面を描画しようとしてメモリリークしていた不具合を修正。 ・CMTモーターが止められた時、同時に CMT READ 状態も解除するように修正。 # CMT READ中にモーターだけ止められると、状態が CMT READ のまま固定されて # しまい、キーボード割り込みが発生できない状態に陥ってました。 ・Ctrl+V でクリップボードのテキスト内容を自動入力する機能を実装。 # I/Oポートテスト用のBASICリストを何通りも反復テストするのに どこでも # セーブのスロットだけじゃ全然足りなくなってきたので、あらかじめ # BASICリストを書いたテキストを用意しておいて、そこからクリップボード # 経由で必要リストを簡単にコピー転送出来るようにしました。 --------------------------------------------------- ■2004.06.10 ver 101 pre-3 ・スキャンライン使用時、どこでもLOAD でシステムが落ちる不具合を修正。 # (;゚∀゚) スキャンラインは鬼門… ・PSG の AY_ENABLE 更新の時、有効チャンネルが有ったら波形更新を行うよう修正。 # 以前 Joystick READ のノイズ対策で、AY_ENABLE での波形更新を全て # 切ってしまったけど、これはこれでマズイ事が判明。 # 演奏中に全PSGチャンネルの突然のリセットでノイズを出さない為には # PsgReg[AY_ENABLE] = 0x80,0x40 の時だけ波形更新しなければ良いのです。 # にしても、P6VWはスペハリを快適にやる為だけにカスタマイズが # 繰り返されていると言っても過言ではないですね(笑。 # もう、いっその事 PC6001V for SPACE HARRIER に改名しようかと…(以下略) ■2004.06.09 ver 101 pre-2 ・スキャンライン使用時、窓モードからフルスクリーンに変更したとき、 システムが落ちる不具合を修正。 ・機械的効果音PCMをボリューム調整せずストリームにミキシングするよう変更。 # 現在のミキサーはPSGの最大振幅がマスターボリューム最大振幅に収まるよう # 調整されているので、PCMや音声合成のように出力レベルの低い波形だと # 前出のように波形が変ってノイズの原因になってしまう。 # ということで、PSG以外はマスターボリュームをシカトしてお手盛りする # という、所謂、公務員的卑劣技を使ったというか何というか…(;゚Д゚) ・エミュ内オプションのスライダーオプションの表示位置を少し右にシフト。 ・ミキサー内のボリュームレンジとエミュ内のボリュームレンジが不整合だった ので、ミキサーIFのボリューム単位に統一。 # あっちは 0〜256、こっちは 0〜100、そっちは 0x00〜0x40 という状態で、 # どうにもこうにも混乱気味だったので…。 ■2004.06.08 ver 101 pre-1 ・音声合成出力だけボリューム調整せずストリームにミキシングするよう変更。 # 音声合成のWAV出力は正常波形なのに、ミキサーに掛けると波形に平滑化が # かかって音量が落ちるうえにホワイトノイズが乗ってしまうので、 # 元の波形を壊さないよう単純に除算処理を行うようにする。 ・PSGのチャンネル別出力メニューをリリースモードに実装。 # デバッグ用に付いていた機能です。 # 『耳コピ、カマ〜ン!』…とか書くと著作憲違反ほう助罪になりそうなので、 # 「野球試合の応援でビクトリアス9のロード音楽を皆で合奏するダベサ!」 # というようなケースが万が一・億が一・兆が一、トチ狂った理由で発生した時、 # PSGチャンネル毎の旋律を聞き分けるのにご利用ください。(ナンダソリャ) ・エミュ内メニューの配色を変更。 # 窓モード実行だと緑系のメニューは見難いですね。 # サウンド出力部にザックリ手が入ったので、サブバージョンUP。 ■2004.06.06 ver 100b pre-1 ・Joystick を読みに行くとPSGにプチノイズが乗ってしまうのを修正。 # 露骨なノイズの原因は3つ。 # 1.PSG が unsigned で出力されている為、途中でPSGが切れた状態になると # 突然波形が飛んでしまいプチノイズが目立つ。signed だったら、 # 振幅の中心が 0 だから、突然波が無くなってもパルスは目立たない。 # 2.AY8910.C の波形アップデート処理が AY_ENABLE 書換時にも行われて # いるのは何となくマズイような…( ゚Д゚) ナンデ? # なので、AY_ENABLE 書換時の波形更新は除外。 # AY_ENABLE をバカスカ書き換えるスペハリなんかノイズが顕著ですね。 # 3.実はコッソリとMSX仕様のマウスI/Fの実装などしているから、 # こんな事になったりして? P6ハード想定外の値が返ってるし…。 # PSGの unsigned 出力はまだ放置中。 --------------------------------------------------- ■2004.06.02 ver 100a ・スキャンライン使用時のテロップ表示位置計算が間違っていたので修正。 ・デバッグ用のMIXER監視インジケーター表示が残っていたので修正。 --------------------------------------------------- ■2004.05.27 ver 100 pre-13 ・PCMチャンネルのミキサー部分を修正。 # デバグ用ミキシングストリームデータ出力。 ■2004.05.14 ver 100 pre-12 ・音声ボリューム追加。 # 現状でもPSGの2倍の音量を使っているのだけど、どうにもアンバランス。 # 通常のTALK命令で出力される音量はもともと小さいみたいなので、PSG音量と # 任意のバランスに調整出来るように独立したボリュームを追加。 # 実際、66モードで TALK "f4#aiu:v15cde" とやると、かなりバカでかい声が # 出るのですが…。 ■2004.05.10 ver 100 pre-11 ・音声WAV出力スイッチ追加。 # TALK命令などで再生された音声合成をWAVファイルに出力。 # 但し固定語は元々WAVで用意してもらう事になっているので除外。 # P6ボイスを2次使用したいときなどに便利…(なのか?) ・マージ順を間違えたKANJI.ROMに対応。 # 特殊な環境依存のトラブルに対処させるため "trouble" 項目追加。 ■2004.05.03 ver 100 pre-10 ・デバッグモードに隠しコマンド追加。 # 一々、システムメニューを出さずとも、モニタモードのコンソールから # "どこでもSAVE/LOAD" が出来るようにしただけ。 ・タイマ割り込み発生時のシステムラッチのフラグチェックにデグレが発生して いたので修正。 # これにてハドソンのジャン狂の動作も正常に戻りました。 ■2004.04.07 ver 100 pre-9 ・ショートカットヘルプに [Exit] ボタンを追加。 ・オプションダイアログの項目の配置換え。 # フルパス表示が必要なエディットボックスはより長く、パス名だけのボックスは # より短くなるように配置換え。 ・半角カナフォルダ名に対応。 # デスクトップにテープイメージを置いてもエラーが出てしまうので、 # パス文字列を扱う Allegro 関数を自前のものに置換。 ■2004.03.29 ver 100 pre-8 ・SUB-CPUの不具合修正。 # やはり前回の改造でデグレが発生。 # JOYSTICK割込の要求と同時にキーボード割込が発生した時、JOYSTICK割込の # 返値の代わりにキーボード割込ベクタ(0x02)が返されてしまい、勝手に # [STOP]キーが押されたのと同じ状態になってました。 ・マウントDISKイメージの表示位置をTAPEイメージの下に移動。 # イメージファイルの表示が上と下に分かれているのは見苦しいので…。 # ついで、6001の画面とイメージ表示の間に薄い区切り線を入れてみました。 # 少し鬱陶しいかな? ・固定語ボイスのテロップ表示を追加。 ■2004.03.24 ver 100 pre-7 ・オプションメニューを2つに分割。 # やはりスクロールするダイアログオプションは最悪に使いにくい。 ・マウントしているDISKイメージを画面下部に表示させる。 ■2004.03.21 ver 100 pre-6 ・音声合成波形を 44.1kHz で出力するように修正。 ・音声合成再生速度指定に対応。 ・PC-66BIOS処理時のポートE0H状況変化に対応。 # これで PC-66 の音階付きトークを実行しても不具合が起こらなくなった? ・640x480 解像度に完全対応するよう、システムメニューの作り直し。 # 「Pen2-300 を動作最低ラインに設定しているついで、オプションも 640x480 # に収まり切るようどうにかして下さい。」 # ハイ、ごもっともです…。自分も最近のビデオカード破壊で低解像度の # 不自由さは痛感しましたです。まるで PC-9801時代に戻ったようで…。 # というか、PocketPC でちゃんと動くのでしょうか? # 現在は DirectX 9 のライブラリでコンパイルしてるんですけどね…。 ・P6 Allegro を Allegro ver 4.1.3 ベースにバージョンアップ。 ・オプションメニューの項目に最低限の英単語導入。 # 以前、"can't understand configuration menu. " とか " English ver plz !" # などというメールが国外から来ていたので、メニュー項目の意味がそれとなく # 分かるよう、簡単な英単語に変えました。 # 日本人的にはアルファベットだと かなり読みづらいんですけどね。 ・高速テープロードのオプション追加。 # テープロードの度に、実行速度だけならまだしも、フレームスキップまで # 一々変えるのは面倒だと思ったので、自動化しました。 ■2004.03.18 ver 100 pre-5 ・"どこでもロード" を行った時、テープやディスクのPATH情報をオプションに 復元させないよう変更。 # エミュのフォルダを移動後に以前のデータで "どこでもロード" を実行した時、 # 動作環境に復元されると「テープがありません」「ディスクがありません」 # といったエラーが連発されてしまうのを防ぐため。 # 現在の設定PATHのままファイル名だけ復元させます。 ・音声合成とストリーム再生の噛み合わせが上手く行っていなかった不具合修正。 ■2004.03.10 ver 100 pre-4 ・音声合成バッファのデータサイズを倍にする。 # 10kHz の音声合成波形を倍に伸張し、実質 20kHz にして出力するように修正。 ■2004.03.04 ver 100 pre-3 ・音声合成の長音指定をフレーム展開するように修正。 # D7752ではリピート指定のフレーム展開は行わないらしいので、 # エミュ側でパラメタを展開するようにする。これにより長音対応完了です。 ・オプションダイアログのTAPE,SAVE,DISKフォルダを、エディットボックスから 直接訂正できるよう変更。 # エミュのフォルダを移動した時、ツリーから選び直しでは面倒なので…。 ■2004.03.02 ver 100 pre-2 ・音声合成とストリーム再生の噛み合わせがうまくいっていなかった不具合修正。 ■2004.02.29 ver 100 pre-1 ・CISCさん作、uPD7752風味 音声合成エンジン搭載。 # 素晴らしい…(T∀T)ノ ハァハァ # メジャーバージョン上げちゃうぞ。 014a -> 1.00.00 ============================================================================= --------------------------------------------------- ■2004.02.22 ver 014a ・キーボード置換に Joystickコード割り当てを追加。 # Joystick を 2本使うようなゲームをやるとき、Joystick2 を # キーボードに割り振るなどして利用してください。 # ただし、キー入力を Joystick 1,2 に置換することが出来ますが、 # Joystick入力をキー入力に置き換えることは出来ません。 # 動作確認は電波新聞社の GLOBDA で行いました。 ・使用する DirectX_SDK のバージョンを 9.0b に変更。 --------------------------------------------------- ■2004.01.10 ver 014 ・音声合成でフォルマントデータを直接I/Oポートに送り込んで再生する場合、 字幕スーパーが表示されない代わり発声中の目印として "*" (アスタリスク) を表示させるようにする。 # ハドソンゲームの音声合成再生中、音声WAITで突然画面が停止してしまうと # あらぬ誤解を受けるような気がしたので、動作中の目印だけ出力。 ・SUB-CPU(8049) 修正。 1.8049 にコマンド送信(OUT)された時、送信準備フラグを落とすよう修正。 # 今まではコマンド受信(IN)が行われた時点で送信準備フラグを落としていた。 # OUTが来た時点でフラグOFFし、8049内部カウンタでフラグON。 2.キーボード割込が発生したとき、ベクタ値(02H)を返却するように変更。 # 今までキーボード割込は常時発生可能状態で他ベクタとの衝突が # 起こるので、これを避ける為にベクタ値(02H)返却は無効にしてあった。 # 今回、8049の読込準備のフラグが立った時(port_a_8255&0x20) に # タイミングを合わせてキーボードベクタを発行するように修正。 # (ハドソン・バブルクンド1999対応) 3.スティック割込を最優先で処理するように修正。 # 例えば他のベクタが発生している時でも、スティック割込要請が来たら、 # 既に他の割込が発行しているベクタ値をキャンセルしてでもスティック # ベクタ(16H)を発行する。理由は以下の通り(ソース内コメント流用)。 // MEMO: // 何かのベクタ処理最中にJoystick割込が発生したら強制的に // Joystick割込を上書き発行。何故かというと、Joystick 割込は // キーボード割込と違ってプログラムからの指示がないと // 発生しないので、その時のベクタ発生を取りこぼすと、以降、 // 期待されるコードを返せなくなり、ベクタ発行待ちで無限ループ // 突入の危険性がある為…。 // 例:Hudsonモノとか,Hudsonモノとか,Hudsonモノとか…(^^;; 4.8049のREAD/WRITEステータス(bit4,6)と受信/返信準備フラグ(bit3,5)の フラグ内容を監視し、不自然に状態変化が起こらなかったときに強制的に フラグを落とすように修正。 # 例えば、OUT(93H)とIN(90H)の組合せのステータスウェイトループで # 8049内部レジスタのカウントアップタイミングより短いスパンで # OUTとINが繰り返された時、そのループ状態から離脱させるため。 ・TAPE、SAVE、DISK の新規ファイル作成に失敗したとき、パスをデフォルト パスに再設定するように修正。 # イレギュラーなパス名が設定されている時、何度も OPEN ERROR を # 出力させないように…。 ・PC-6601モードで実行中、エミュ内メニューの FDD setup/remove が機能して いなかった不具合を修正。 # PC66FDD初期化ルーチンのROMパッチ再処理を忘れてました…(^^; --------------------------------------------------- ■2003.10.08 ver 013b4 ・オプションに TAPE、SAVE-TAPE、DISK のフォルダ選択を追加。 # ROMとIMGのパスは出来るだけ固定位置が好ましいので除外。 ・メディアEJECT時、データ書き込みが為されていなかったら 実体ファイルの書き換えを行わないように修正。 # 今まではメディア書込が有ろうが無かろうが、エミュ内で扱った # メディアの状態を機械的に実体ファイルに書き戻してました。 --------------------------------------------------- ■2003.09.03 ver 013b3 ・モニタモードにバイナリ読込のバッチ処理コマンド "bat" 追加。 ・モニタモードにて、"break clear" の動作を全ブレークポインタ消去に変更。 ・モニタモードにて、ブレークポイント消去時の管理番号表示誤りを修正。 --------------------------------------------------- ■2003.09.01 ver 013b2 ・モニタモードにテープパスにファイルを書き出す "getbin" を追加。 ・モニタモードにて、JP,JR,CALL命令で "STEP"・"TRACE" が実行されたとき、 次行に正常な飛び先アドレスが出るように修正。 --------------------------------------------------- ■2003.08.30 ver 013b <<ソフト開発支援用コマンド>> ・モニタモードからの実行"go"を解像度切替実行"GO"とモニタ実行"go"に分離。 #モニタからの実行で一々解像度が切り替わるのも鬱陶しかったので…(^^; ・モニタモードにバイナリの直接読込コマンド "setbin" を追加。 # loadmemだと、PC6001VW.EXE のカレントパスからしか読み込めなかったが、 # setbin は TAPEパスから ファイルを読み込みます。 ・モニタモードにサウンドバッファのクリアコマンド "soff" 追加。 # モニタモードに突入した時や、STEP・TRACE 実行した時、サウンドバッファ # に音が残っていると、ビービー喧しいので…(^^;; --------------------------------------------------- ■2003.06.20 ver 013a-FIX ・音声合成フォルマント送信時、E0ポートに再生完了値が返らなくなっていた 不具合を修正。 # ハドソン系のおしゃべりシリーズが音声合成ウェイトで無限ループに # 陥ってました。テロップ追加の時に値を変えてしまったみたいです(^^;; --------------------------------------------------- ■2003.06.15 ver 013a ・初代機の拡張ROM読込部の不具合を修正。 ・初代機のどこでもセーブにPSGステータス情報追加。 # データを復帰したとき音にノイズが乗らなくなりました。 # DOS版のどこでもセーブとの互換性はまだ残ってます(^^;; ・固定語再生の再生終了待ち削除。 --------------------------------------------------- ■2003.06.02 ver 013 ・ご要望により固定オーバードライブにスローモードを追加。 # ストリーム再生の仕様上、VSYNC_20Hz 単位がキリの良いウェイトになるので、 # スローモードは 30%、60% という何とも中途半端な値になってます(^^;; ■2003.05.21 ver 012b ・66用どこでもセーブが無効になっていた不具合を修正。 ■2003.05.09 ver 012a ・固定オーバードライブ機能の実装を有効にする。 # 自分のように低速マシン(P2-300)をメインで使っている人ならともかく、 # 高速GHzマシンなどを使用している人は、エミュの実行速度が # 等速(100%)かフルスロットル(no wait) 両極端しか選択できずに歯がゆい # 思いをした事があるかも知れません。 # ということで、オーバードライブスイッチ[F10] を使用したとき、 # 100% と NO_WAIT の間に任意の実行速度を選択できるモードを挿入しました。 # 等速実行ではじれったい…かといってフルスロットルは早すぎる # といった場合、固定オーバードライブの倍率を 200% や 300% に設定 # することで丁度良い体感速度を選択できると思います。 ■2003.05.06 ver 012fix2 pre-1 ・2Dと思われるDSKイメージをマウントした時、変換後のD88イメージサイズが 元のディスクのトラック数と同じになるように修正。 # 今までは2Dのディスクを検知した場合、変換後D88イメージサイズは無条件で # 2D最大トラック数(164)にしていましたが余りにも無駄が多いので、元の # DSKイメージをトラックサイズ(256*16)で割ったトラック数にするよう # 調整しました。 ・どこでもセーブのPSG初期化不具合のソース反映抜けを修正。 ・字幕スーパーで "co"->"こ" の変換を追加。 # マニュアルには載っていない表記ですが、コロオデにはこれが多用されています。 --------------------------------------------------- ■2003.05.05 ver 012fix ・字幕スーパーの不具合修正。 --------------------------------------------------- ■2003.05.03 ver 012 ・字幕スーパー機能追加。 # TALK命令を実行すると、画面下部に字幕が表示されます(笑。 # BASIC-BIOSを使って音声出力した場合のみ対応。ハドソンのおしゃべりシリーズは # フォルマントデータ直接出力なので非対応。これでコロオデもどうにか遊べます。 # 66とmkIIって音声制御部分がガラッと変わっているので処理分けが大変です。 ・66のディスクアクセスに仮のアクセス音(6031と同じ音)を割当。 # 現在の66のディスクアクセスは何故か重たくて洒落にならないので、 # ディスクアクセス中長い間画面が固まって沈黙していても不安に陥らないように、 # とりあえず有りモノの6031のSEを鳴らすようにしました。 # 66は3.5inchだから本当は全然音が違うんだけど…。 ■2003.05.01 ver 011c ・66用 コロニーオデッセイ対応のために、システムラッチ(&HB0)とINTマスク(&HF3) のフラグを分離。 # こんな適当で大丈夫なのかな? というかコロオデ、セリフをしゃべって # くれないと状況がサッパリわからんです(^^;; # やはり字幕表示は必要かな? ■2003.04.30 ver 011c pre-3 ・66用DISK版 HUDSON_BEST の変なセクタID(プロテクト?)に無理矢理対応。 # だんだんアプリの個別対応が増えて参りました…(;゚∀゚) # ハドソンのソフトはハード直叩きだから良い資料になるなぁ。 ■2003.04.21 ver 011c pre-2 ・TAPE/TAPE(SAVE)/DISKのフォルダ制限を撤廃。 # ソフト開発でアチコチの"Z80ASM"やら"SDCC"やらのプロジェクトフォルダで # テープイメージを作った時、いちいち P6VW配下のフォルダーにコピーするのが # 面倒になったのでフォルダ縛りを取っ払いました。既にDOS版とINIファイルは # 分離されているので互換性の問題はないです。 ・NO_SOUND 実行時、DirectSoundバッファクリアを実行しようとして 例外エラーを出していた不具合修正。 ・"どこでもLOAD" でPSGレジスタ復帰後再初期化されてしまう不具合を修正。 ■2003.04.12 ver 011c pre-1 ・TAPE/DISKのファイル参照ダイアログを開いたとき、カレントフォルダの一つ上の フォルダを開いてしまう不具合を修正。 --------------------------------------------------- ■2003.04.04 ver 011b-fix ・漢字ROMのメモリ切替バグを修正。 --------------------------------------------------- ■2003.03.24 ver 011a-fix ・[STOP],[カナ],[PAGES],[MODE] が、キーボード置換機能適応外に なってしまっていた不具合を修正。 # これにて、英語キーボードでも[カナ]キーの置換適応が可能になりました。 --------------------------------------------------- ■2003.03.22 ver 011a ・OUT&H90,cmd04,cmd05 の仮名・片仮名トグルスイッチを実装。 # Hashi氏の御指摘により実装。 # 今の今までこんなスイッチ知りませんでした…(;゚∀゚)> ・ペンディング事項メモ --- AY8910 の調整。 --- CPUクロック・タイマー割込・CMT割込 の相対関係調整。 # 時間が掛かりそうなので、一旦ここで区切ってリリース。 ■2003.03.11 ver 011 pre-3 ・リセットでテープ可変ボーレートが無効になってしまうバグを修正。 ・モニタモードのコマンド改変。 >> STEP実行のDisasm 表示を変更。 >> "stepall" 時のCALLスキップを有効化。 >> 各種省略コマンド追加。 ・テープイメージ選択に、インテルヘキサファイル(*.HEX)追加。 ■2003.03.08 ver 011 pre-2 ・密かに6601のFDC機能を有効にしてみる。 # 遅〜〜〜〜〜(;゚Д゚) アホみたいにSEEK繰り返してるし… ・システムオプションのOFFコーナー表示をボタン表示に変更 # CPU速度調整TESTをする際、サイズ変更枠を掴むのが面倒だったので…(^^;; ・Allegro 4.0.3(RC1) DLLをカスタマイズ。 >> スレッド休止機能を無効。 >> GUIメニューの右クリックをキャンセル扱いに。 >> メニュー制御を段階制御(シングルツリー)に変更。 # Allegroメッセージスレッドのスレッド休止機能の鬱陶しい事と # 言ったら…VC++デバッグモードでステップ実行している時に、 # Allegro が INACTIVEメッセージを関知すると即フリーズ…(;´Д`) # これのせいで毎日毎日OSフリーズ→再起動を延々繰り返させられてます。 # というわけで、もう我慢の限界。Allegro を改造ビルド。 ・Allegro のGUIルーチン改造に合わせて、エミュメニューをマウスで操作 出来るように改造。 >> 右クリックでエミュメニュー出現。 >> 窓モードの時はOS標準ダイアログオプションを反映。 >> メニュー表示時、ストリームバッファをクリア(消音)。 ■2003.03.06 ver 011 pre-1 ・P6ベタイメージBASICロードの自動判定を組み込んだ副作用(不具合)を修正。 ・カセットロード中のキーボード割込を無効化(もちろんSTOPキーは有効)。 # 何故ならテープロード中に [Alt]+[Enter] で画面モードを切り替えたり # すると、エミュの方で [Enter]入力を関知してキーボード割込を発行し、 # そのせいでテープロードに失敗することがあるから(^^; ・mkII/6601の漢字ROM切り替え部分を修正。 ・Release版でのDebugLog出力機能をカット。 # スタックオーバーフロー対策。 --------------------------------------------------- ■2003.02.23 ver 010a ・P6ベタテープイメージでBASICからCLOADされた時に限って、BASICヘッダと BASICデータの間に自動的にウェイトを挟むようにする。 # 本来、テープイメージはP6Tに変換するのが望ましいですが、 # SAVE・LOADイメージを切り替えながらリストを弄くる時に、一々、データの # 取りこぼしを考慮しながらCLOADするのが非常に鬱陶しかったので、必要 # 最低限のフォローだけは入れておくようにしました。 ・P6Tイメージの可変ボーレートに対応。 ■2003.02.21 ver pre-6 ・ストリーム再生の遅延を短くする為、DirectSoundセカンダリバッファ サイズを変更。 # セカンダリバッファサイズは、一応 PC6001VW.INI 内で変更できるように # してあります。バッファを小さくすればする程、遅延は無くなりますが、 # ストリーム更新間隔よりバッファ長が短くなってしまうと、ストリーム # バッファがループして、雑音が入るようになります。 ■2003.02.19 ver 010 pre-5 ・CPUクロック調整機能を有効化。 # CPUクロック調整はCPUの実行速度のみ調整されます。 ・システム速度調整機能を実装。 # システム速度調整は、CPUクロック・VSYNC・カセット割込・タイマー割込 # ・サウンド再生、全てが調整されます。タイマー割込を使って実時間との # 調整を行ったところ、どうやらCPU:96%、SYSTEM:96%で実機(mk2)の速度と # 一致するようです。 ■2003.02.16 ver 010 pre-4 ・DOS版PC6001Vがリニューアルされる事によりバージョン整合する必要性が 無くなった為、バージョン表記をリビジョン。 ■2003.02.14 ver 0.1.10.10 pre-3 ・ファイル選択時、選択開始パスを基本パスに戻す仕様を修正。 ・KeyReplacementのCLEARボタン不具合修正。 ■2003.02.13 ver 0.1.10.10 pre 2 ・グラフィックアトリビューの適応に誤りがあったので修正。 ・グラフィック表示関数の不具合修正。 # グラフィックアトリビューの出鱈目な値を書き込んだ時、サーフェス例外 # 書込が発生しエミュレータが強制終了する事があったので、DirectDraw # サーフェスアクセス部にオーバーフローチェックを追加しました。 ■2003.02.11 ver 0.1.10.10 pre-release 1 ・ディスク選択のサブディレクトリ対応。 --------------------------------------------------- ■2003.02.02 ver 0.1.10.09e ・どこでもセーブの保存データにPSGパラメタを追加。 前バージョンまでのSaveDataは引き続き使用可。 # 今まで初期化されていた、音色を復帰させるようにしました。 # 流石にストリームバッファの中身までは保存し切れませんが…。 ■2003.01.31 ver 0.1.10.09d ・FILEメニューにて、SaveTape と Disk の項目順番入れ替え。 # SaveTape項目って殆ど使わないよね…(^^; ・Tapeが登録されていない時にREW(巻き戻し)を使うと、NULLポインタアクセスで 例外エラーが発生していたバグを修正。 ・DiskEject コマンドを使った後にResetコマンドを使うと、再び Diskが 登録されてしまっていた不具合を修正。 ・LDIR処理中、DI(割り込み禁止)からEI(割り込み許可)に修正。 # ロード演出のあるソフトでCMT割り込みの取りこぼしを防ぐために # LDIRを割込禁止にしたのだけど、これを行ってしまうと今度は # LDIRで画面スクロールをさせながらタイマー割込でBGMを演奏する # ソフトがカクカクした動作になってしまう副作用が…(^^;; # CMT割込の取りこぼし対策は別に考え直さないとダメみたいです。 # 一応、SubCPUには1kの内部キャッシュを用意してあるんだけど、 # それでも足りないと…。 ■2003.01.24 ver 0.1.10.09c ・ローマ字カナ入力の変換テンプレートの誤変換修正。 # 清音しか実変換チェックしてなかった。濁音・拗音、誤変換でボロボロ(汗。 --------------------------------------------------- ■2003.01.07 ver 0.1.10.09c ・キー入力置換機能のテンプレート機能を付ける。 # 置換テーブルを複数使っている時、ソフトの切り替えで一々設定し直すのが # 面倒だったのでテンプレートで使い分け出来るようにしました。 ・ショートカットキーがゴチャゴチャしてきたので、エミュメニュー内に 一覧表示ヘルプを付ける。 # 320x240でギチギチ…これ以上増やしたら収まり切れませんね(^^;; ■2003.01.05 ver 0.1.10.09b2 ・デバッグ用に付けておいたキー入力置換機能をGUIを作成して完全実装。 16個までの置換テーブルを用意。 # なんか、益々ゲーム用に特化されてきたような気が…。 # でも最近のPCのキーボードはいい加減な作りで困ります。 # PC-98x1シリーズのキーボードは本当に出来が良かった。 ■2003.01.03 ver 0.1.10.09b ・デバッグ機能だったローマ字カナ入力単変換機能を組み直し、 一般的な日本語FEPのパレット通りに変換が行われるようにする。 # ローマ字変換パレットはATOKの物を参考にしました。 --------------------------------------------------- ■2003.01.01 ver 0.1.10.09a ・FDD-INITの効果音追加。 # まだまだ仮組状態。雰囲気だけでも楽しんで下さい…(^^; ・どこでもセーブ、mkII,6601ROMに対応。 保存ファイルを3つに増やす。 --------------------------------------------------- ■2002.12.25 ver 0.1.10.09pre-3 ・N60mモードでのカーソル移動で画面点滅を修正。 # OUT(&HC1)が呼び出されるたびにVRAMの再設定を実行していたのが原因なので、 # 画面モードが切り替わったときだけVRAM再設定を行うようにしました。 ・モニタオフアニメーションの座標計算ミスを修正。 --------------------------------------------------- ■2002.12.23 ver 0.1.10.09pre-2 ・KeiさんにPC-6031(フロッピードライブ)の動作音を提供してもらったので、 ディスクアクセスの所に組込を行う。 # FDDハード内部での動作は本体(エミュ)側から判断する事は出来ないので # とりあえず勘だけでACCESS音とSEEK音を入れ込んでみました。 # トラック移動が起こったときに ACCESS音、セクター移動が起こった時に # SEEK音を鳴らしています。雰囲気だけのインチキっぽ…(^^; --------------------------------------------------- ■2002.12.07 ver 0.1.10.09pre-1 ・Windowのリージョン加工を実験しているウチに、副産物としていつの間にか 常駐ラップ音再生タイマーが…(゚Д゚;)。このままだとシンプルすぎて 不審な常駐物に見えるので、絵も含めてチョットだけ作り込んでみる。 # 意味無し一発芸…。 ・どうしても不具合が直せないので、ピッチ変換ルーチンを外す。 # 何故、ガザガザノイズになってしまうのでしょう?? --------------------------------------------------- ■2002.12.05 ver 0.1.10.08f ・TALKの固定語音声はメモリを通さずにチップから直接発声させているので、 実機からデータを吸い出すというような真似は実現不可能っぽい…。 ということで固定語は実機でTALKを実行してWAVに録音して貰うようにする。 WAV録音の詳細については、別途 PCM.TXT 参照。 # WAVは再生速度の変更を考えて、周波数レンジの真ん中(22050)に固定。 # [bit/sample] は 8 bit だとボソボソ過ぎるので、16 bit に固定。 # もちろんチャンネルはモノラルで…。 # 因みに、PLAY"a1" とか実行して、PSGが鳴りやまない内に TALK を始めると # どうなるのかというのは mkII と SR ではかなり違って来そうなので、 # 今の所mkII仕様( PSG中断→TALK再生→PSG再開 )になってます。 # いや…P6VW 自体SRに対応していませんが、拡張性を考えての事。 --------------------------------------------------- ■2002.11.29 ver 0.1.10.08e ・音声合成再生用PCMルーチン組込。 Power-ON,Power-OFF,Reset の効果音をマイク録音して入れてみる。 # 所謂、JOKE です。因みに付属のWAVはウチの mkII の動作音です(笑。 # 自己所有マシンの音にしたかったらWAVを録音し直して下さい。 # やっぱりリレー音があると雰囲気出ますね。 ・Power-OFFのSEが鳴ってる最中にエミュ窓が消えてしまうのは違和感有るので モニタオフのアニメーションを入れてみる。 # これもお遊び。 ・音の遅延が出来る限り短くなるよう、SoundUpdate 間隔を詰めてみる。 ・INIファイルをDOS版PC6001Vと分ける。-> "PC6001VW.INI" # オプション項目を派手に追加しすぎたせいか、現在のP6VWのINIだと # DOS版P6Vが立ち上がらなくなってしまいました(^^;; --------------------------------------------------- ■2002.11.17 ver 0.1.10.08d2 ・更新履歴を本体に内包していると余計なメモリを使うので外部テキストにする。 ・終了時にSAVE-TAPE名がリセットされてしまう不具合修正。 --------------------------------------------------- ■2002.11.13 ver 0.1.10.08d ・SEALをDirectSound用に特化して本体内包(DirectSound,44100Hz,16Bits,MONORAL)。 これに伴いオプションメニューからSOUND関連項目削除。 ・no-sound時の wait処理を追加。 ・no-soundでもテープロード出来るように修正。 ・エミュ内メニューに [FDD set up]/[FDD remove] の項目追加。 これにより、いちいちエミュを終了せずともFDD脱着切替が可能。 ・INI情報の受渡をファイルマッパーで行うよう修正。 ・他、細かい不具合修正(終了時のファイル名保存処理周り)。 --------------------------------------------------- ■2002.10.26 ver 0.1.10.08c ・内部タイマーをマルチメディアタイマーからCPUタイマーへ変更。 ・SOUND出力、MAMEのMixerルーチンに変更。<<またまた失敗…Σ(゚Д゚;)>> --------------------------------------------------- ■2002.10.20 ver 0.1.10.08b ・内部タイマーをWINDOWSタイマーからマルチメディアタイマーへ変更。 ・SOUND出力、Allegroのサウンドルーチンに変更。<<また失敗>> --------------------------------------------------- ■2002.07.20 ver 0.1.10.08a ・SAVEフォルダを階層化に対応。 ・メニューからDISK-EJECTを行っても、リセットをかけると再びDISKが セットされてしまったバグを修正。 ・SOUND出力、SEALを廃止しDirectSoundのストリームルーチンに変更 (Audio32w.dll不要) <<失敗>> --------------------------------------------------- ■2002.05.18 ver 0.1.10.07a ・オプションダイアログに拡張ROM選択を追加。 ・PC6001機種以外の拡張ROMのマッピングが変だったので修正。 ・エミュ内のファイルメニューに[TAPE <>Key)。 --------------------------------------------------- ■2002.05.05 ver 0.1.10.06b ・キー入力受取部分でゴミを拾う可能性が少なくなるよう修正してみる。 ・画面解像度切替が連続で行われても表示位置がズレないよう修正。 --------------------------------------------------- ■2002.05.04 ver 0.1.10.06a ・メディアイメージのプロテクト制限を追加。 ディスクイメージのプロテクト処理は仮対処。 --------------------------------------------------- ■2002.05.02 ver 0.1.10.05d ・テープセーブが動いていなかったので修正。セーブ用テープイメージのパスは 今まで実行ファイルと同じ位置に設定されていたが、これをテープパスに移動。 ・メディアパス内の階層フォルダに対応。 ・N60m画面モードからN60画面モードへソフト的に切り替えた時、画面描画されなく なってしまう不具合を修正。 --------------------------------------------------- ■2002.04.29 ver 0.1.10.05c ・ディスクイメージ新規作成にFAT初期化追加。 これによりフォーマット済みBASICブランクが出力される。 ・キー入力で "\(ろ)" キーを受け付けなかったのを修正。 ・ついでに [Shift] を押さずに "\" を押した時 "\"が出るようにしておく。 --------------------------------------------------- ■2002.04.28 ver 0.1.10.05b ・Joystickポート仕様修正。キーボード3/タイマー割込のみIMR反映(他は不明…)。 ・エミュ内画面解像度選択に解像度制限を加える。 --------------------------------------------------- ■2002.04.23 ver 0.1.10.05a ・Sub-CPU組み直し。 ・画面解像度選択有効。 ・[Shift}+[F11] にテープリセット追加。 ・P6Tイメージのオートスタートをトグル化。 --------------------------------------------------- ■2002.04.21 ver 0.1.10.04a3 ・キーリピート間隔を入れ忘れていたので追加…(^^; ・キーボードの入力受付をWindows用配置に変更([OFFコーナー]に項目追加)。 --------------------------------------------------- ■2002.04.20 ver 0.1.10.04a2 ・INIファイル出力処理修正。Sub-CPU修正。 ・TAPEキャッシュ処理追加。 ・TAPE-FILE名保存修正。 --------------------------------------------------- ■2002.04.17 ver 0.1.10.04a ・Sub-CPU 8255コントロール仕様に作り直し。 --------------------------------------------------- ■2002.04.14 ver 0.1.10.03a ・Sub-CPU シミュレータ組み込み。 --------------------------------------------------- ■2002.04.13 ver 0.1.10.02e3 ・INIファイルの書込遅延に対処。Printer出力修正。 --------------------------------------------------- ■2002.04.10 ver 0.1.10.02e2 ・[Alt]+[Enter] 切り替え追加。 --------------------------------------------------- ■2002.04.09 ver 0.1.10.02e ・TAPEボーレートの変更。 --------------------------------------------------- ■2002.04.05 ver 0.1.10.02d ・スナップショットのBugFix。 --------------------------------------------------- ■2002.04.04 ver 0.1.10.02c ・WinNT系対応修正。 --------------------------------------------------- ■2002.04.03 ver 0.1.10.02b ・特殊フォーマットD88 対応。 --------------------------------------------------- ■2002.04.02 ver 0.1.10.02a ・P6;CAS;DSKメディア対応。 --------------------------------------------------- ■2002.04.01 ver 0.1.10.01b ・GUIパート追加。 --------------------------------------------------- ■2002.03.31 ver 0.1.10.01a ・システム移植完了。 --------------------------------------------------- ■2002.03.28 ・ 移植作業開始。 --------------------------------------------------- {EOF]