AppleWin 1.22.0+CU15 svnで落としてきたAppleWin 1.22.0(SVN926)のソースを元に主にグラフィックス表示を変更しました。 ファイルバージョンは1.22.0.1015です。 ■ライセンス GNU GENERAL PUBLIC LICENSE Version 2, June 1991 ■使用方法 AppleWin 1.22.0にApplewin.exeを上書きコピーしてください。 ■オリジナルからの変更点 ・ウィンドウサイズ2倍モードでディスクアクセスランプ等の表示位置をウィンドウ下端に移動しました。 ・滲み表示のために表示モードを256色からフルカラーに変更しました。  単純な滲ませかたなら256色モードのまま対応できたのですが、コンポジットビデオ出力の滲み表示の為に  色数が足りなくなったのでフルカラーにしました。  2色のグレーは同じ色になっています。  オリジナルのAppleWinのように明るさの違う色にする場合は後述のパレットファイルを使用してください。 ・設定ダイアログConfigulationタブにパレットファイル指定用のテキストボックスを追加しました。  表示色をファイルから読み込んで設定できます。  ファイル形式や設定内容についてはPALETTE.TXTを参照してください。  1.20.1+CU14で幾つか設定項目を追加、文法を拡張しました。  同じファイルを指定しなおしても再読み込みしません。  再読み込みさせる時は一度別ファイルを指定するかクリアして設定ダイアログをOKで閉じ、再度ダイアログを  開いて指定しなおす、または再起動してください。 ・設定ダイアログConfigulationタブで設定するVideo Modeの表示を以下のように変更/追加しました。 Monochrome (Custom Luminance) プログラムの処理は変更していますが見た目の変化は無いはずです。 Monochrome (Amber) 背景に暗い色をつけ、黒ドットとの境界部分を暗くして、若干ぼやけた Monochrome (Green) 表示にしました。 Monochrome (White) Color (standard) 滲みありで表示します。 白部分では滲み抑制してより白く表示しています。 白黒タイリング表示では黒部分の滲みが相対的に強くなり別の色味に 見えてしまいます。(1.19.2+CU05以降同じ傾向があります) Color (standard') standardとの違いは白部分の滲み抑制をしない事だけです。 より滲んだ表示になります。 白黒タイリング表示で色味が違ってしまう問題に対処するために追加 したモードです。 Color (text optimized) 白ドットと白ドットの間の黒は黒いままで表示し、殆ど滲まないように 表示します。 Color (TV emulation) コンポジットビデオ表示っぽくしました。 Color (TV emulation 2) ライン相関等による補正は行なわずバンドパスフィルタのみの表示に 似せようとしています。 ビット並びの周期性が低いまたは無い部分(色の境界)で横線が途切れた 表示になります。 TV emulationはTV emulation 2より周期性チェックの範囲が狭いので 若干途切れが少なくなっています。 Monochrome Colorize モノクロモードで光るドットに色が付いた表示になります。 オリジナルをDebugビルドしたときに同じ名前のモードがありますが 緑と紫が隣接する部分が白になる等の違いがあります。  また、表示領域を描画領域より左右14ドットずつ、上下16ドットずつ大きくしました。  オリジナルと比べて負荷が高くなっています。  特にColor (TV emulation)とColor (TV emulation 2)に表示モードを変更したときの表示用データ作成処理は  重く、切り替え時に動作の途切れ、音声の乱れ等が発生しやすくなっています。  縦方向の滲み処理は負荷が高くなりすぎたので断念しました。 ・設定ダイアログConfigulationタブにBlur Mixed Mode Text項目を追加しました。  チェックするとVideo ModeがColor (standard)、Color (TV emulation)、Color (TV emulation 2)、  Monochrome Colorizeのときミックスモード(グラフィックの下にテキストを4行表示するモード)のテキストを  滲み表示します。 ・設定ダイアログConfigulationタブにReverse Monochrome Video項目を追加しました。  チェックするとモノクロモードが反転表示になります。 ・フォントデータの一部の文字が少しズレたりしていたのを修正しました。 ・設定ダイアログInputタブにカーソルキーの割り当て変更用のコンボボックスを追加しました。  割り当ては矢印キーファイルで変更できます。  ファイル形式や設定内容についてはARROWKEYS.TXTを参照してください。  デフォルトの設定内容は以下のとおりです。 no changes up=RETURN down=/ up=[ left=; right=' down=/ up=W left=A right=D down=X up=3 left=W right=E down=S up=N left=W right=E down=S up=F left=L right=R down=B up=A down=Z up=I left=J right=L down=K up=I left=J right=K down=M  を指定するとF2キーやツールバーのボタンでリセットしたとき  ドライブ1に入っているイメージファイル名により自動的に割り当てを変更します。  リセット時にドライブ1が空で後からファイルを指定した時には自動変更しません。  デフォルトでは以下のように設定しています。 ファイル名が aklabeth u1Mater U2Prog u3master のいずれかに前方一致したとき up=RETURN down=/ ディスクイメージのあるディレクトリ名が AP_WIZ1 AP_WIZ2 AP_WIZ3 AP_WIZ4 AP_WIZ5 のいずれかに一致したとき up=W left=A right=D down=X どれにも一致しないときは変更なし ・設定ダイアログInputタブの矢印キー選択の右のSelect Nowボタンを押すと  を選択して現在のイメージファイルで割り当て変更するようにしました。  ドライブ1が空のときは割り当て解除します。  これは設定ダイアログをキャンセルで閉じても割り当て変更したままになります。 ・設定ダイアログInputタブにSwap joystick 1 buttons項目を追加しました。  チェックするとジョイスティックのボタン1と2を入れ替えます。  入れ替えるのはジョイスティック/ジョイパッドの入力のみです。  キーボードを割り当てた場合は入れ替わりません。 ・設定ダイアログSoundタブにMonaural sound項目を追加しました。  チェックするとサウンド出力がモノラルになります。 ・以下のレジストリ設定項目を追加しました。 HKEY_CURRENT_USER\Software\AppleWin\CurrentVersion\Configuration\Video Palette Filename HKEY_CURRENT_USER\Software\AppleWin\CurrentVersion\Configuration\Arrowkeys HKEY_CURRENT_USER\Software\AppleWin\CurrentVersion\Configuration\Arrowkeys Filename HKEY_CURRENT_USER\Software\AppleWin\CurrentVersion\Configuration\Swap Joy1 Buttons HKEY_CURRENT_USER\Software\AppleWin\CurrentVersion\Configuration\Monaural Sound  以下の場所にもレジストリ登録されます。 HKEY_CURRENT_USER\Software\Microsoft\DirectInput\APPLEWIN.EXE + 16桁の16進数 ・+CUバージョンとオリジナルを交互に起動した場合、Video Modeの数が違うために違う表示モードになる場合があります。 ■バグ修正 ・1.19.2+CU05にはカーソルキーの内部コードチェックが不十分だった事が原因で  「&」、「%」、「'」、「(」がArrowkeysで設定したキーになってしまうバグがありました。  普段ゲームしかしてなかったので気付かないままでした。 ・1.20.1+CU10には矢印キー設定が以外でもリセット時に自動選択するバグと  に変更すると矢印キー割り当てが解除されるバグがありました。 ・~1.20.1+CU11はダブルローレゾグラフィックの色が正しく表示できていませんでした。 ・1.20.1+CU09~1.20.1+CU11はパレットファイルでのHUE項目の値は正負が逆になっていました。  色相を変更するときにIとQとり違えていたために正方向は負方向に、負方向は正方向の補正に  なっていました。 ・1.20.1+CU09~1.20.1+CU11は滲み表示用の色を作成するときの元の色がPALETTE.TXTの  説明と違っていました。  色指定と混色方法によっては1.20.1+CU14~では少し違った色になります。 ■パレットファイル palette*.cfg はパレットファイルのサンプルです。 お好みにあわせて使用する/しないしてください。 palette-boost-red.cfg 赤を強調した色合い palette-default.cfg 何も指定していない時と同じ palette-grey.cfg 2色のグレーに明度差をつけた以外はpalette-default.cfgと同じ palette-light.cfg 明るめで黒が灰色気味 palette-original.cfg オリジナルのAppleWin 1.22.0とほぼ同じ色合い palette-reverse.cfg カラーモードの輝度を反転した設定 palette-yc.cfg 色指定をY/Cに変更しただけで何も指定していないときとほぼ同じ色ですが、 Color (TV emulation)およびColor (TV emulation 2)のときにドットの 途切れがより目立つ設定になっています ファイル形式や設定内容についてはPALETTE.TXTを参照してください。 ■矢印キーファイル arrowkeys*.cfgは矢印キーファイルのサンプルです。 お好みにあわせて使用する/しないしてください。 arrowkeys-default.cfg 何も指定していない時と同じ The Genesis of UltimaとWizardry Collectionに付属の ディスクイメージ用にファイル名とディレクトリ名を指定 しています ファイル形式や設定内容についてはARROWKEYS.TXTを参照してください。 ■ソースコード 元ソースは以下のコマンドで取得できます。 svn checkout -r 926 svn://svn.berlios.de/applewin/trunk 修正ファイルと新規ファイルがmodified.zip内にあります。 ApplewinExpress9.00.vcproj resource/Applewin.rc resource/resource.h source/Configuration/PageConfig.cpp source/Configuration/PageInput.cpp source/Configuration/PageInput.h source/Configuration/PageSound.cpp source/Configuration/PropertySheetHelper.cpp source/Configuration/PropertySheetHelper.h source/Applewin.cpp source/Common.h source/Frame.cpp source/Frame.h source/Joysthick.cpp source/Joysthick.h source/Keyboard.cpp source/Keyboard.h source/Mockingboard.cpp source/Mockingboard.h source/Video.cpp source/Video.h source/Charset40_Data.cpp source/Charset8C_Data.cpp source/Charset8M_Data.cpp (未使用) source/Charset82_Data.cpp source/Charset_Data.h Charset*_Data.*はresourceフォルダにあったビットマップから変換したものです。 *.vcprojファイルはMicrosoft Visual C++ 2008 Express Edition用のみです。 他のバージョンを使用している場合はプロジェクトのリソースから CHARSET40.BMP CHARSET82.bmp CHARSET8C.bmp を外し、ソースに Charset40_Data.cpp Charset82_Data.cpp Charset8C_Data.cpp Charset_Data.h を追加してください。 Debugビルドの事は考慮しないでソース変更しました。 ビルドおよび動作確認は以下の環境で行いました。 Microsoft Windows XP Home Edition SP3 Microsoft Visual C++ 2008 Express Edition SP1 Microsoft DirectX SDK (February 2010) くれゆに 2013-01-30