-TAB:4,WIDTH:80 ;=========================================== ; PC6001VW ver.3xx ; 更新履歴 ;=========================================== ============================================================================== ■2011.05.07 ver 307a2 ・初代機のグラフィック属性判定のビットフラグを間違えていた不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 属性判定ルーチンを追加したときにビットシフト数を間違えてしまった…orz ============================================================================== ■2011.05.04 ver 307a1 ・PC66動作時に於いて、FDD実装数以上のドライブ番号でFDCコマンドを発行した とき、コマンドを正常処理していた不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FDDドライブ実装数が1の時、ドライブ2に対してFDCコマンドを発行しても ステータスレジスタST0のInvalidフラグが立てられていなかったのが原因…(^^; ============================================================================== ■2011.05.03 ver 307a ・PC66動作時のVOICE-ROMのバンク切り替えバグを修正。 ============================================================================== ■2011.04.07 ver 307 ・F8HポートでCGROMのメモリマッピング先が変化するように修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - moriyaさん調査によると、F8HポートのLSB3bitがCGROMのマッピング先アドレス指定 になるらしい。標準ではF8Hには0xC3が設定されているので、CGROMは(3<<1)で 0x6000にマッピングされる。ところが、PC6601付属のワープロはF8Hに0xC2を 設定して0x4000にCGROMを読みに行くので、マッピング位置が0x6000固定のエミュ だとキャラクターグラフィックが表示されない状態になっていたということ。 ■2011.03.28 ver 307 ・モニタモードでurコマンドを使用したとき、バイナリ表示部の3バイト目以降が 通常のメモリバンク読み込みになっていた不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - メモリバンクでROMが割り当てられたアドレスを、urで逆アセンブラしようとすると ニーモニック表示はRAMから取得されたデータで行われているのに対して、 バイナリ表示部の3バイト目以降は通常のバンク読み込みとなっていて ROMからデータが取得されていた(^^; ・デバッグモード情報表示欄のTruckNoをTrackNoに修正 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DOS版からの伝統ですた…(´・ω・`) ■2011.03.26 ver 307 ・N60SC3のVRAMグラフックモード判定を行うのに、アトリビュー領域全体の フラグをチェックするように修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - これにより、電源投入時のチェッカーフラグ画面が表示されるようになった。 ■2011.12.26 ver 307 システムメニューの配置をデスクトップのDPIを見て調整するように変更。 ■2010.11.26 ver 307 ・システムリセット時のCSSデフォルト値を1に変更。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 実機にてBelugaのFDブートを試験していたところ、どうやらシステムリセット時の OUT(&HC0)の値は0xFC(CSS3=1,CSS2=0,CSS1=0 (3bit以上は常にON))に設定されて いるらしい事が確認できる。 ■2010.11.24 ver 306a ・資料に即して、初代機の各種パレットを再設定。 ■2010.11.23 ver 306a ・インテリジェンスタイプFDD(mkII用)のコマンドに COPY、HISPEED_WRITE_DATA、HISPEED_SEND_DATA を追加。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PC-8031準拠のコマンド。未対応コマンドはまだ沢山ある。 ■2010.11.22 ver 306a ・PC-6601のハドソンのディスクが起動できなくなっていた不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DISK_BIOSのチェック中、ハドソンのDISKが起動出来なくなっていた事に気づいた。 原因はFDCコントローラの作り替えを行ったとき、ステータスチェックが連続で 呼び出されたときにInvalid扱いになる部分を省いてしまった事。 uPD765のデータシートを確認したところ、それらしき記述は見当たらないのだが、 どうやら内部ステータスが変化しない状態でステータスチェックを連続で 呼ばれるとそのような挙動になるみたいだ。 ============================================================================== ■2010.10.18 ver 306 ・PC-6001とPC-6001Aでリセットボタンが押されたとき、CMTのリレーフラグが ONになっている時以外はリレー音を鳴らさないように修正。 ■2010.10.16 ver 306 ・エミュレータ終了時のウィンドウの倍率を記憶するようにする。 ■2010.10.16 ver 306 ・パレットのRGB設定値を6bit(0-63)から8bit(0-255)に拡張。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 要するにAllegro互換を廃止。 INIファイルで大々的にパレットをカスタマイズ出来るようにしたので RGB値の方も分かりやすく8bitにした方が良いかと思って…。 そういう訳で、本改修により、SC4の色滲みパレットのRGB値を自分で調整していた 人は、RGBの各バイナリをそれぞれ4倍にして書き戻すようにしないと、照度が 1/4になってしまうので注意が必要。 ■2010.10.15 ver 306 ・各スクリーンモードのパレットをINIファイルから読み込むように修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 使用者が自分の実機環境に合うようにパレットを弄れるようにする。 ============================================================================== ■2010.09.19 ver 305f ・電源制御によるモニタ電源OFFやシステムスタンバイなどの発動を抑止。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - これらの機能は、XpまではWindowメッセージで対処することが出来たが、Vistaに なってからは対処できない状態になった。そこで、余りやりたくなかったけど、 レジストリを変更して対応させるように修正。 ■2010.09.16 ver 305f ・DirectSoundのセカンダリバッファが60[ms]固定になっている不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INIファイルの"sound_buff"の値が反映されていなかったりして…(^^; ============================================================================== ■2010.09.03 ver 305e ・スクリーンセーバー抑止フラグのパラメタがINIファイルに反映されて いなかった不具合を修正。 ============================================================================== ■2010.07.07 ver 305d ・エミュレータウィンドウの位置を記憶するように修正。 ============================================================================== ■2010.06.29 ver 305c ・デバイスロスト発生時、グラフィックデバイスを全て初期化するように改修。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - エミュレータ起動中にログイン画面やスリープモードに移行すると、 Direct3DやDirectDrawのデバイスロストが発生して画面が描画できなく なってしまうので、一旦グラフィックデバイスを終了させて再起動させる 仕組みを実装。 ■2010.06.27 ver 305c ・RecStream で断続的に録音・停止が行われたとき、その都度、WAVのファイル サイズを書き出してファイルクローズを行うように修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - これにより、今までの様にエミュレータを終了せずとも、p6streamファイルを Winampなどで再生できるようになった。 ■2010.06.27 ver 305c ・RecStream で作られるWAVファイルのヘッダ設定に不具合があったのを修正。 ■2010.06.27 ver 305c ・AY-3-8910のレジスタラッチで16以上の値を受け付けていた不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 不具合が発露したのはAX1〜4のデモプログラム。このデモプログラム、音楽が 始まる直前になぜか 16〜21 の未使用レジスタに対してデータ出力を行なおうと する。具体的には 07〜21 のレジスタに対してループで同一データ値を出力しよう とするのだけど、これはコーディング上、単にいい加減なやり方を採っただけ だろうな。実機では未対応レジスタに出力しても何も起こらないし…。 ところが、P6VWのサウンドI/OではFM/PSG/SCC/MIDIの受け取りがあって、 間口が広くなっているもので、初代機とmkIIでFMカートリッジ未実装の時でも 非対応レジスタラッチを受け付けるようになっていた。 FMカートリッジを実装しているときはサウンド出力データはYM2203に 流されるので16以上のレジスタ番号に出力されても問題はなかったけど、 AY-3-8910の方に流れてしまうと波形が無くなってしまうという問題が 発生していたわけだ。 ============================================================================== ■2010.06.25 ver 305b ・エミュレータ起動時、レジストリを弄ってスクリーンセーバーを無効にする。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 「パスワードによる保護」でスクリーンセーバー起動設定だと、マウス移動や キー入力のメッセージを投げてもセーバーの起動をキャンセルできないことが判明。 最終手段としてレジストリ値を直接改変する様にする。 本当はレジストリ弄るのは余り気が進まないんだけどね。エミュが例外エラーで 落ちたりすると、設定が変更されたままになってしまうし…。 しかし、サーフェスロストの対処が難しいとなると、スクリーンセーバーの方を 無理矢理にでも抑えこむ必要があるよな〜(´・ω・`) 変更するレジストリの項はコレ。 HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveActive ============================================================================== ■2010.06.23 ver 305a ・59秒に1回ダミーのマウス移動コマンドを発行するようにする。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - エミュレータ起動中にスクリーンセーバーが起動するとサーフェスロストが 発生してしまうという報告を受けて調査。 エミュレータにフォーカスがあるときはスクリーンセーバーは抑止されるが フォーカスが外れている時は、セーバーが起動してしまう状況は確認。 しかし、報告によるとフルスクリーンで動かしていてフォーカスが取得されて いる状況でもセーバーが起動してしまう状況にあるらしい。 色々調査してみたところ、どうもパスワードロックが掛かった設定で スクリーンセーバーが起動されたとき、WM_SYSCOMMAND:SC_SCREENSAVE で メッセージをブロックしても、セーバーが起動されてしまうことが判明。 その為、スクリーンセーバー起動定時間の最小単位1分より1秒短い59秒ごとに マウスの座標移動(SetCursorPos())を発行するように改修。 マウスの現在地を取得してそれをそのまま投げているので、勝手にマウスが 動くようなことは無い。 ■2010.06.17 ver 305a ・通常実行画面にバッチファイル(p6b)をドロップした時でもモニタコマンド 全般を実行出来るように修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 本来、通常実行画面はモニタモード画面と違ってコマンド処理のメインループを 通らないためモニタコマンド処理は出来ないのだが、バッチファイルがドロップ されたときに限って、バッチが終了するか"go"命令が使用されるまでのコマンドを 一気に実行するようにした。 モニタモード実行時はブレークポイントで停止した瞬間、"go" 以降のコマンドが 引き続き実行されるが、通常実行画面では "go" 以降にコマンドが仕込まれていて ブレークポイントに引っかかったとしても、それ以降のコマンドは実行される ことが出来無い。 ============================================================================== ■2010.06.11 ver 305 ・モニタモードのバッチ処理(p6b)内で、コマンド全般を使用出来る様に仕様変更。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 今まではp6bによるバッチ処理に於いては、バイナリファイルの読込にしか対応して いなかったが、本バージョンからは全てのモニタコマンドを実行出来るようにする。 そのため、今まで使用していたバッチファイルはコマンド形式(loadmem,setbin) に書き換える必要あり。 これに伴い、WEBのモニタモードコマンド説明の loadbin,setbin,savebin,getbin,bat の項を書き直し。 ・引数なしで "setbin" コマンドが実行された時のファイルセレクタを フルスクリーン状態でも使用できるように修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - もはや、画面制御に Allegro を使っていないので、フルスクリーンと ウィンドウモードを区別する軛から開放されてるもんね〜 (´∀`)。 ============================================================================== ■2010.05.31 ver 304 ・SRモードのテロップ表示の不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SRモードのテロップ表示用のTALK文字列参照アドレスは、mkIIや66と異なり、 FILESの数とCLEARの設定値によって動的に移動してしまうので、それらの パラメタに合わせて該当アドレスを算出するようにした。 ■2010.05.30 ver 304 ・音声合成再生時のステータスフラグの立て方を見直し。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SRモードで連続したTALK命令を実行すると、前行のTALKが終わらないうちに 次々に次行のTALK命令実行に移動してしまう状態だった。 SRモード時のTALKのフォルマント送信はVOICE割込によって行われるため、 割込発生間隔でBUSYフラグのON/OFFが行われると、音声合成作業中の判定が 出来ずに次行のTALKに移行して、状態がリセットされてしまっていた。 mkIIと66では2フレーム、2/60[sec]分の波形が再生バッファに溜まってから 7752の状態をBUSYに変化させていたのだけど、SRでは1フレーム分のフォルマントを 受信した段階でBUSYフラグを立ててしまい、VOICE割込でもBUSYを検知出来るように 調整した。 ■2010.05.29 ver 304 ・システムメニューが起動される度に、CPU速度調整値とタイマー調整値が 入れ替わってしまう不具合を修正。 ============================================================================== ■2010.05.08 ver 303a1 ・システムメニューにおいて、HighSpeed TapeReading の設定状態をINI ファイルから取得出来ていなかった不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 前々回、新たに追加したジョイスティック交換用パラメタの格納変数が HighSpeed TapeReading の変数名になっており、ジョイスティック交換 のパラメタ値が上書きされていたための不具合。デグレです(^^; ============================================================================== ■2010.05.07 ver 303a ・P6VWをモニタモードで使用中、[ALT]+[TAB]でフォーカスが移動されたとき、 バイナリエディタに制御が移らないように修正。 ============================================================================== ■2010.04.09 ver 303 ・「JOYSTICK1,2の交換」を実装。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - この機能が有効になるとJOYSTICK1 が JOYSTICK2 扱いに、JOYSTICK2 が JOYSTICK1 扱いになります。 ・SAVETAPEをイジェクトした後、新しいSAVETAPEをマウントせずにCSAVEを 行うと、デフォルト作成ファイルが拡張子だけ".P6"になってしまう 不具合を修正。 ■2010.04.08 ver 303 ・INIファイルが存在しない状態でエミュレーたを起動させたとき、 機械的動作音が鳴らない障害を修正。 ・PSGストリームのRCフィルタを除外。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PSGストリームに破断ノイズが乗っていたため…(^^; ============================================================================== ■2010.04.04 ver 302a1 ・機械的動作音のオプション状態が反映されていなかった障害を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INIファイルの読み取り項目名文字列に誤植があったりして…(^^; FALSE:"sound_mechanic" --> TRUE:"sound_mechanical" ============================================================================== ■2010.04.02 ver 302a ・初代機モードでのディスクI/Oに対応。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ディスクI/OはmkIIと同様に 0xD0〜0xD3 。PCS-6001R 拡張BASIC-ROM を実装すると、 DISK関係の命令が使えるようになる。 ============================================================================== ■2010.03.21 ver 302 ・SR動作時、N66モードからリセットでなくI/Oポート操作でSRモードに移行した とき、VRAMアドレスがN66モードのままになってしまう不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 具体的な現象事例はSRメニューの「TV予約」画面に入った後、終了ボタンを押して SRメニューに戻ってきたとき、VRAMのアドレスが「TV予約」のテキスト画面の アドレスを保持しているため、SRメニューに戻るとグラフィックの描画位置が ズレてしまっている。これはSRモードで 0xBO ポート出力が行われたとき、 VRAMアドレスの切り替えをスキップする仕様になっていた事が原因。 本来、SRモードではVRAMの切り替えが必要ないため、N66以前の時しか有効に ならないようにしてあったのだが、上の「TV予約」の挙動を見るに、SRモードの 時に0xB0ボートが設定されるとVRAMアドレスもアトリビューも0x0000に初期化 されるのが正しい仕様みたいだ。 ■2010.03.20 ver 302 ・短時間に連続テロップ表示を行うとエミュがハングアップする事がある 不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ver301aの対処でも問題が発生するということなので、テロップ描画の頻度を 2秒単位に切り上げるように変更。音声ポートへの連続出力が行われても、 前回のデータ出力から2秒以上経過していなかったら、テロップの描画を 抑制するように変更。 ・エミュレータウィンドウの最大化ボタンで画面を拡大したとき、画面の アスペクト比を保つように修正。 ■2010.03.18 ver 302 ・初代機の128x192モノクロモードで描画幅が2倍になっていた不具合を修正。 ・初代機の128x96カラーモードで画面最下部の1ラインが描画されていなかった 不具合を修正。 ============================================================================== ■2010.02.04 ver 301a ・エミュレータメニューのFDD装置セットアップ項目を変更。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FDD装置については、システムメニューの設定内容とエミュレータの設定内容が 噛み合わなくなるのは使い辛いので、エミュレータメニューからもドライブ数を 選択出来るように改修。 ■2010.02.02 ver 301a ・短時間に連続テロップ表示を行うとエミュがハングアップする事がある 不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uPD7752音声出力が短時間に連続で呼び出され、テロップインジケータ "*" の 描画が連発されるとグラフィック描画の排他処理でロックされたまま動かなる 環境が存在するので、テロップインジケータの描画を行う場所を、ウィンドウ スレッドからエミュレータスレッド側に移動して、クリティカルセッションの 競合が発生しにくいように修正。 ・IN(0x94)で8255のポートAの値が返っていなかった不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IN(0x94)はマニュアル上では未定義ポートとされているが、実際はIN(0x90)と 同じ働きをするらしい。というのはTERRA4001ではこのポートを利用して 入力キーコードの判定を行っているから。 本ポートのサポート自体は "2002.05.18 ver 0.1.10.07a" と、随分前に実装済み だったわけだが("history100.txt"参照)、開発を進める上でソース内の変数名を 整理したときに誤ってポートCの変数名を書いてしまったらしい。 他もデグレードを起こした箇所がありそうで多少不安…。 ============================================================================== ■2010.02.01 ver 301 ・Z80未定義命令の未実装コードを実装。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bookwormさんより、(IX+d)系の複合命令が動かないとのご指摘により 調査してみたところ、本当にゴッソリと命令が抜けていたりして…(^^; 今まで全く気がつかなかったデス。 実装したニーモニックは以下の通り。 LD r,RLC (IX+d) LD r,RRC (IX+d) LD r,RL (IX+d) LD r,RR (IX+d) LD r,SLA (IX+d) LD r,SRA (IX+d) LD r,SLL (IX+d) LD r,SRL (IX+d) LD r,SET b,(IX+d) LD r,RES b,(IX+d) "DD,CB,d,00" - "DD,CB,d,3F" , "DD,CB,d,80" - "DD,CB,d,FF" ・モニタモードコマンドに "di"(割込禁止) と "ei"(割込許可) を追加。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - デバッグトレースを行っている途中に割込が発生すると鬱陶しいので、 コマンドラインから設定出来るようにしてみる。 割込状態を変更したことを忘れて "go" したりすると、予期しない動作を することになるので注意が必要かも…。 ============================================================================== ■2010.01.21 ver 300a1 ・[Rec VOICE] を使って出力される音声合成の周波数を10[kHz]に修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 音声合成に関しては uPD7752が生成した10[kHz],10[ms]のブロックを WAVストリームに乗せる為に44.1[kHz]に線形補間伸長しているのだけど、 この加工のせいで波形の頭が尖ってしまい、プチノイズに聴こえて しまっている模様。線形補間と言うのは要するに折れ線グラフなので、 まぁ、そうなってしまう。 現時点、エミュレータ内で滑らかな波形加工を行うのは難しそうなので、 とりあえず [Rec VOICE] で出力されるWAVを10[kHz]のままのデータにしておいて、 このファイルを高精度リサンプリングすれば44.1[kHz]の綺麗な曲線に変換 することが出来る。 そういったワケで、綺麗な音声合成を利用したい時には、一手間掛けて [Rec VOICE] を利用してもらうということで…(^^; 音声合成の綺麗なリサンプリングは時間がかかりそうなので、 懸案事項ということで後回し。 ■2010.01.21 ver 300a1 ・N66SRのBASIC上でTALK命令を実行したとき、正常にテロップ表示が行われない 不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 尤も、SR-BASICの音声合成は上手く波形が生成出来ていないけど…(゚∀゚;) ■2009.12.03 ver 300a1 ・N66_SC3 の状態で CRT_KILL を ON、OFF 繰り返したとき、CRT_KILLの繰り返し 表示パターンが最初にCRT_KILL状態になった時のデータパターンで固定されて しまう不具合を修正。 ■2009.12.01 ver 300a1 ・JOYSTICKデバイスの強調レベルをバックグラウンドに変更。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - JOYSTICKトリガーのキャリブレーションを行った後エミュレータ実行に戻ると、 JOYSTICKがニュートラル状態にも関わらず最後に押したボタンが押されっぱなしに なってしまう現象が発生していた。 どうやら DirectInput では、Unacquire 状態の時にJOYSTICK操作されると、 Aquire 時にそのときの最終入力がデフォルト状態として固定されてしまうらしい。 ナンデヤネン(゚Д゚)? ■2009.11.28 ver 300a1 ・JOYSTICK方向軸のニュートラル状態に10%のデッドゾーンを設ける。 ============================================================================== ■2009.11.18 ver 300a ・Windows Vista/7 環境上でDirect3D描画モードを選択したとき、スクリーンに ドットズレが発生する不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Direct3Dのテクセル座標をを0.5ドット分補正。理由は以下のリンクを参照。 http://msdn.microsoft.com/ja-jp/library/bb219690(VS.85).aspx ■2009.11.07 ver 300 ・今まで1Dや1DDの規定サイズと異なるベタイメージを読み込ませたとき 標準で2DのD88イメージに変換していたが、2Dのディスクサイズに 満たないイメージを2DのD88に変換するとトラックアクセスに不都合が生じる為、 1DDサイズ以下のイメージは1Dとして変換するように修正。 ============================================================================== ■2009.11.01 ver 300 ・TALK命令実行時、音声合成WAVの保存と共にフォルマントデータを 記録するように改修。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TALK命令を実行したときフォルマントデータをファイルに出力できれば、 フォルマントを使ったアプリケーションも作りやすいだろうと思ったので、 昔、音声合成を研究していた(ciscさんのuPD7752風味音声合成エンジンが 存在しなかった)頃に実装されていたデバッグ機能を、古〜いソースから 引っ張ってきたのデス (゚∀゚)。 ・エミュレータメニューにサウンドレコーディングメニューを追加。 ・Voice Recording の切り替えスイッチがエミュレータメニューに移行したこと により、システムメニュー[Option2] 画面の [Voice Recording] 項目を廃止。 (※本バージョンよりベータ表記を取り除きます。) ============================================================================== ■2009.08.15 ver 300 beta 6 ・INIファイルからクリップボードのサイズ取得に失敗していた不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 取得する項目名の文字列に誤植があって、起動時に設定パラメタが取得できずに 常にクリップボードはデフォルト4KBになってしまっていた(^^; ============================================================================== ■2009.08.04 ver 300 beta 5 ・[Pause]キーを押して仮名入力切替を行ったとき、有効になった瞬間、無効に 戻ってしまう不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 旧Allegroバージョンのとき、キーボード割込で[Pause]キーが取得できなかった 為に、Vsyncルーチンで定期的に[Pause]キーを監視していて、[kana]キーの コードに置換してキーボード割込みを発行していた。 その処理コードが現バージョンにもそのまま残っていたために、DirectInputによる 正規の[Pause]キー受付とVsyncによる[Kana]発行が二重に行われ、瞬間的にON/OFF 切替が発生して仮名状態が変化していなかった次第…。 というか、どうしてAllegroは [Pause] キー入力を受け取れなかったのだろう? ■2009.08.03 ver 300 beta 5 ・モニタモードのブレークポイント有効/無効切替コマンドのブレークポイント番号、 省略時のデフォルト番号が存在しない 0番になっていた不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ブレークポイント番号は1〜10の範囲なので、初期値を1になるようにする。 ■2009.08.03 ver 300 beta 5 ・エミュレータメニューから、仮名/カタカナ切替やスナップショット取得など、 ダイアログを介さずに直接実行されるコマンドを行ったとき、直前に実行した メニューコマンドを再度実行してしまう不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 直接実行コマンドを行うとき、コマンド実行の返値(グローバル)が初期化されて いなかった為、直接実行コマンドの後に前回実行されたコマンドの返値を見て、 後始末処理が走っていたのが原因。変数の初期化は忘れずに(^^; ■2009.07.29 ver 300 beta 5 ・モニタモードウィンドウから通常ウィンドウに戻ったとき(ウィンドウサイズが 小さくなったとき)、画面にゴミが残ってしまう不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - エミュのウィンドウサイズを変更したあとデスクトップに対して再描画メッセージ を出していたのだが、どうも再描画メッセージを出した直後にDirectXの画面転送が 走ってしまい、デスクトップに残像を残してしまっていた様子。 スレッドの停止やDirectDrawの解放、ウィンドウサイズ変更など、スクリーン サイズを変更するプロセスの実行順番を入れ替えて試行錯誤したところ、正常に 残像が消えるようになった。 ============================================================================== ■2009.07.21 ver 300 beta 4 ・モニタモードのファンクションコマンド実行の不具合を修正。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - コマンドのエスケープシーケンス解析に文字数カウントの不具合があり 改行コードが含まれない命令を実行すると、バッファの後部に余分な文字列が 付いていると解釈されていた。 ・モニタモードのブレークポイント命令に有効/無効切替を追加。 ついでに、逆アセンブル表示が行われたとき、ブレークポイントが判るような 表示にしてみる。 ■2009.07.17 ver 300 beta 4 ・FDDを2にして、DISK1・DISK2の基本パスが同じで、尚且つ、両方とも アンマウント状態のとき、ディスクイメージが同じであるという 警告ダイアログが出現してしまう不具合を修正。 ============================================================================== ■2009.07.15 ver 300 beta 3 ・モニタモードのバイナリ表示にRAMとMEMの切り替えを追加。 MEMはメモリバンクに即したバイナリ内容を表示する。 [End]キーを押すとRAMとMEMのチェンジ。 MEM表示状態のときに[Tab]でバイナリエディットに移行された場合、 自動的にRAM表示に切り替える。 ■2009.07.12 ver 300 beta 3 ・(IX+d)、(IY+d) の実行注釈に d が加算されていない値が表示されていた 不具合を修正。 ■2009.07.11 ver 300 beta 3 ・モニタモードのファンクションキーにコマンドマクロを実装。 ============================================================================== ■2009.07.02 ver 300 beta 2 ・DISK1,2 の基本パスが同じディレクトリを指していて、両ディスクイメージが イジェクトされた状態でエミュレータが起動されると、DISK2の設定パスが " \ " に初期化されてしまう不具合を修正。 ・拡張子の存在しないファイルをドロップしたとき、モニタモードの batコマンドファイルとして扱うようにする。 ■2009.06.28 ver 300 beta 2 ・拡張子の存在しないファイルをドロップしたとき、例外エラーが発生する 不具合を修正。 ・モニタモード表示のままエミュレータ実行に戻ってバイナリファイルを ドロップしたとき、ファイルを受け付けない不具合を修正。 ・拡張子の無いファイルをドロップしたとき、バイナリ読込バッチファイル扱い するように修正。 ============================================================================== ■2009.06.27 ver 300 beta ・Release. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ベータ版です(^^; ---------------------------------------------------------------------------