| version 1.85, 2004/03/14 23:45:43 | version 1.125, 2004/08/03 10:11:37 | 
| Line 19 | Line 19 | 
 | #define siglongjmp(env, val)    longjmp(env, val) | #define siglongjmp(env, val)    longjmp(env, val) | 
 | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | 
 |  |  | 
 |  |  | 
 |  | CHARSET_OEMについて | 
 |  | 要は毎回Shift-JISに変換せずに OS依存の文字コードで処理しようとする… | 
 |  | まだ機能しません。定義しないで下さい。 | 
 |  |  | 
 |  | OEMCHAR (現状char固定、将来として UCS2でUINT16、UCS4でUINT32) | 
 |  | OEMTEXTの追加 | 
 |  | コンパイルが通るかご確認下さい。 | 
 |  |  | 
 |  | ステップ.1 (WinCE,X11) | 
 |  | OEMコードと SJIS(EMBED/hostdrv)の変換調整 | 
 |  | (FONTMNGは SJISのままで EMBEDで変換) | 
 |  |  | 
 |  | つか…X11版のDOSIO file_catname,file_cmpnameの入力が sjisになってる… | 
 |  | (NP2はファイル名は OSLANGに従う…筈… | 
 |  | と思ったら hostdrvで SJISのまま食わせてる?(汗 | 
 |  |  | 
 |  | EUCの2バイトコード判定が (((c - 0xa1) & 0xff) < 0x5d)で | 
 |  | 半角カナ(0x8e)の判定で狂う | 
 |  | (c & 0x80)のほうが良い? | 
 |  |  | 
 |  | 現状の… | 
 |  |  | 
 |  | ・codecnv.hのインクルードは compiler.hに移動 | 
 |  |  | 
 |  | ・#if defined(OSLANG_EUC) | 
 |  | codecnv_sjis2euc(tmp, NELEMENTS(tmp), src, (UINT)-1); | 
 |  | file_catname(path, tmp, NELEMENTS(path)); | 
 |  | #elif defined(OSLANG_UTF8) | 
 |  | oemtext_sjis2oem(tmp, NELEMENTS(tmp), src, (UINT)-1); | 
 |  | file_catname(path, tmp, NELEMENTS(path)); | 
 |  | #else | 
 |  | file_catname(path, src, NELEMENTS(path)); | 
 |  | #endif | 
 |  |  | 
 |  | を | 
 |  |  | 
 |  | #define oemtext_sjis2oem codecnv_sjis2euc | 
 |  | #define oemtext_oemsjis2 codecnv_euc2sjis | 
 |  |  | 
 |  | としておいて | 
 |  |  | 
 |  | #if defined(OSLANG_ANK) || defined(OSLANG_SJIS) | 
 |  | file_catname(path, src, NELEMENTS(path)); | 
 |  | #else | 
 |  | oemtext_sjis2oem(tmp, NELEMENTS(tmp), src, (UINT)-1); | 
 |  | file_catname(path, tmp, NELEMENTS(path)); | 
 |  | #endif | 
 |  |  | 
 |  | とする? | 
 |  |  | 
 |  | メモ: http://euc.jp/i18n/charcode.ja.html | 
 |  |  | 
 |  | ステップ.2 (WinNT,MacOSX) | 
 |  | OEMCHARのUCS2対応 | 
 |  |  | 
 |  | ステップ.3 (MacOSX) | 
 |  | ANSI PageCodeと Macintosh PageCodeの調整 | 
 |  | メモ: http://homepage1.nifty.com/nomenclator/unicode/normalization.htm | 
 |  |  | 
 |  | ステップ.4 (WinNT,WinCE,MacOSX,X11) | 
 |  | フォント関数回りを SJISからOEMコードに移行 | 
 |  |  | 
 |  |  | 
 |  |  | 
 |  | // ---- | 
 |  |  | 
 |  | ver0.79 → ver0.80 | 
 |  | ・BIOS - スクロールコマンド修正 | 
 |  | ・FDC - レディ信号を修正 | 
 |  | ・i286x - div命令 | 
 |  |  | 
 |  |  | 
 |  | (X11) | 
 |  | ・ジョイスティックサポート | 
 |  | サウンドドライバに SDL を使用している時にのみ使用可。 | 
 |  | ・screen depth == 24bpp の時にキーディスプレイ、ソフトウェアキーボードの | 
 |  | 描画がおかしい不具合を修正 | 
 |  |  | 
 |  |  | 
 |  |  | 
 |  | // ---- | 
 |  |  | 
 |  | ver0.78 → ver0.79 | 
 |  | ・CGROM - JIS83罫線の不都合修正 | 
 |  | ・CGROM - 2バイト半角アクセス修正 | 
 |  | ・86PCM - バッファリングの不都合を修正 | 
 |  | ・BEEP - BEEP PCMの修正 | 
 |  | ・BIOS - 2Dタイプのシリンダ倍移動を修正 | 
 |  | ・BIOS - FDD割り込みフラグを修正 | 
 |  | ・AMD98 - レジスタリードの追加 | 
 |  | ・VRAM - スキップライン描画の修正 | 
 |  | ・BMPSave - スキップライン有効時のセーブ不都合を修正 | 
 |  |  | 
 |  | (Win9x) | 
 |  | ・ソフトウェアキーボードを有効にした | 
 |  |  | 
 |  |  | 
 |  | ・内部変更 | 
 |  |  | 
 |  | char *file_getext(const char *path); | 
 |  | char *file_getname(const char *path); | 
 |  | (constが付きます) | 
 |  |  | 
 |  | 記念に gif保存に対応してみたり | 
 |  | vram/scrnbmp.c の代わりに vram/scrnsave.c をリンクして | 
 |  |  | 
 |  | SCRNSAVE ss = scrnsave_get(); | 
 |  | scrnsave_writegif(ss, "out.gif", SCRNSAVE_AUTO); | 
 |  | scrnsave_trash(ss); | 
 |  |  | 
 |  | bmpなら scrnsave_writebmp(ss, "out.bmp", SCRNSAVE_AUTO); | 
 |  |  | 
 |  | np21のVGA時に 257色以上になるのに注意 | 
 |  | (ss->type == SCRNSAVE_24BITの時にgif保存出来ません) | 
 |  |  | 
 |  |  | 
 | // ---- | // ---- | 
 |  |  | 
| ver0.74 → ver0.76 (blanch...) | ver0.77 → ver0.78 | 
|  | ・PIC - スレーヴのマスクの修正 | 
|  | ・CGROM - JIS83罫線の不都合修正 | 
|  | ・TEXTRAM - JIS83罫線の不都合修正 | 
|  | ・86PCM - 割り込みステータスの修正 | 
|  | ・BIOS - ブート時にメモリを完全に消去するようにした | 
|  | ※ RanceII対策、他のホットスタートで不都合が出るかも | 
|  | ・BIOS - 直線描画のアルゴリズム修正 | 
|  | ・BIOS - 円の半径が異常だった不都合の修正 | 
|  | ・BIOS - JIS83罫線の不都合修正 | 
|  | ・LIO - 内部塗り潰し指定付きBOX描画の対応 | 
|  | ・LIO - 半角ひらがなの対応 | 
|  | ・LIO - 円の仮サポート | 
|  |  | 
|  | (X11) | 
|  | ・ソフトウェアキーボードサポート | 
|  |  | 
|  | ・内部変更 | 
|  |  | 
|  | 追加ファイル | 
|  | /lio/gcircle.c | 
|  |  | 
|  |  | 
|  |  | 
|  | // ---- | 
|  |  | 
|  | ver0.76 → ver0.77 | 
|  | ・BIOS - FDC BIOSの修正 | 
|  | ・FDD - ディスクシーク音再生中にリセットを行なうと 以降ディスクアクセスが行なえなくなる不都合を修正。 | 
|  |  | 
|  | (X11) | 
|  | ・i386 アーキテクチャ以外でコンパイルできない不具合を修正 | 
|  |  | 
|  |  | 
|  |  | 
|  | // ---- | 
|  |  | 
|  | ver0.74 → ver0.76 (branch...) | 
 | ・DMA - バンク・アドレスマスクの修正 | ・DMA - バンク・アドレスマスクの修正 | 
 | ・PIC - スペシャルマスクモードの対応 | ・PIC - スペシャルマスクモードの対応 | 
 | ・PIT - マルチプルラッチコマンドのサポート(uPD71054) | ・PIT - マルチプルラッチコマンドのサポート(uPD71054) | 
 |  | ・CGROM - 2バイト半角の処理を修正 | 
 |  | ・CGWINDOW - ワードアクセスの挙動修正 (MacOS9/MacOSX/x11/SDL) | 
 | ・MOUSE - uPD8255のコマンドレジスタの修正 | ・MOUSE - uPD8255のコマンドレジスタの修正 | 
 |  | ・86PCM - 停止時にもかかわらずバッファを進めてしまう不都合を修正 | 
 |  | ・CS4231 - PIOサポート | 
 | ・BIOS - ベクタ08/1A/1Fの修正 | ・BIOS - ベクタ08/1A/1Fの修正 | 
 |  | ・BIOS - リセット時の挙動の修正 | 
 |  |  | 
 |  | (Windows9x) | 
 |  | ・ATマシンの場合に PageUp/PageDownを反転 | 
 |  |  | 
 |  |  | 
 |  | ・内部変更 | 
 |  | 基本的にファイルが存在しなければプロジェクトから除外、 | 
 |  | リンクエラーが出たらgrepしてファイル追加 | 
 |  |  | 
 |  | 追加ファイル | 
 |  | /bios/bios1f.c | 
 |  | /bios/biosfd80.res | 
 |  | /cbus/ideio.h | 
 |  | /cbus/ideio.c         (SUPPORT_IDEIO定義時) | 
 |  | /cbus/atapicmd.h | 
 |  | /cbus/atapicmd.c      (SUPPORT_IDEIO定義時) | 
 |  | /cbus/idebios.res | 
 |  | /io/pcidev.h | 
 |  | /io/pcidev.c          (SUPPORT_PC9821定義時) | 
 |  |  | 
 |  |  | 
 |  | 削除ファイル | 
 |  | /bios/bios02.c | 
 |  | /bios/bios08.c | 
 |  | /bios/biosboot.res | 
 |  | /common/pf_key.tbl | 
 |  | /sound/wavemix.h | 
 |  | /sound/wavemix.c | 
 |  | /sound/rhythmg.c | 
 |  | /lio/gview.c | 
 |  | /lio/gcolor1.c | 
 |  | /lio/gcolor2.c | 
 |  | /lio/gcls.c | 
 |  |  | 
 |  |  | 
 |  | ROMIMAGEは MASMからNASMへ移行中でつ。 | 
 |  |  | 
 |  | SUPPORT_IDEIOは定義しないで下さい(まだマトモに動きません) | 
 |  |  | 
 |  | IA32でもハードウェアEMSを有効にしてみるテスト。 | 
 |  |  | 
 |  |  | 
 |  |  | 
 |  | // ---- | 
 |  |  | 
 | ver0.74 → ver0.75 | ver0.74 → ver0.75 | 
 |  |  | 
| Line 44 | Line 245 | 
 | (Windows) | (Windows) | 
 | ・(I286X) EGCバイトアクセス修正 | ・(I286X) EGCバイトアクセス修正 | 
 | ・(I286X) ストリング命令修正 | ・(I286X) ストリング命令修正 | 
 |  | ・フロッピードライブ接続状態指定 | 
 |  |  | 
 |  | (MacOS9) | 
 |  | ・フロッピードライブ接続状態指定 | 
 |  | ・MPU-PC98IIの設定ダイアログ | 
 |  |  | 
 | (WinCE) | (WinCE) | 
 | ・(I286A) メモリの修正 | ・(I286A) メモリの修正 | 
 | ・GDC - GDCクロック 1.79MHzのサポート | ・GDC - GDCクロック 1.79MHzのサポート | 
 |  |  | 
 |  | (X11) | 
 |  | ・Configure Dialog にてアーキテクチャの指定を追加 | 
 |  |  | 
 |  | (MacOSX) | 
 |  | ・フロッピードライブ接続状態指定(FDD1、FDD2のみ) | 
 |  | ・設定ダイアログのディップスイッチ画像表示 | 
 |  | ・CoreMID経由のMIDI演奏に対応 | 
 |  | ・MPU-PC98IIの設定ダイアログ拡充 | 
 |  | ・Key Display対応(マウスクリックでFMとMIDIが切り替わります) | 
 |  |  | 
 |  |  | 
 |  | ・200ラインモードについて (正式サポート / #define SUPPORT_CRT15KHZ) | 
 |  | PC-9801シリーズ(FELLOW、PC-9821、ハイレゾ機を除く)に搭載されている | 
 |  | 200ラインモードは設定ファイルのDIPswtchにて設定可能となります。 | 
 |  |  | 
 |  | 400ラインモード | 
 |  | DIPswtch=3e ?? ?? | 
 |  |  | 
 |  | 200ラインモード | 
 |  | DIPswtch=3f ?? ?? | 
 |  |  | 
 |  | 本機能は DIPSW1-1に相当する機能であり、PC-9801VM以降のマシンで | 
 |  | 一般に言われている200ラインモードとは異なる機能です。 | 
 |  |  | 
 |  | ※PC-98シリーズの一般的な200ラインモードは、640x200を縦に2倍拡大し | 
 |  | 400ラインモードで動作しています。 | 
 |  |  | 
 |  | 本機能は DIPSW1-1の切り替え機能を削除した FELLOW、PC-9821、ハイレゾ機の | 
 |  | BIOS.ROMを使用時には正常に動作致しません。 | 
 |  | これを理由に、本機能は NP2上で設定スイッチを設けません。 | 
 |  |  | 
 |  | また、レジューム動作時に DIPswtchの値を変更した場合、正常に | 
 |  | スクリーンモードを変更できなくなります。 | 
 |  | (PC-98動作中にディップスイッチを変更した時と同じ状態になります。) | 
 |  | 必ずリセットして下さい。 | 
 |  |  | 
 |  |  | 
 |  |  | 
 | ・キー設定について | ・キー設定について | 
| Line 102 | Line 344 | 
 | ・keystat_initialize(keystat_reset)をコールして初期化すること… | ・keystat_initialize(keystat_reset)をコールして初期化すること… | 
 |  |  | 
 |  |  | 
 |  |  | 
 |  |  | 
 | // ---- | // ---- | 
 |  |  | 
 |  |  | 
 | ver0.73 → ver0.74 | ver0.73 → ver0.74 | 
 |  |  | 
 | ・I/OレベルでのSASIに対応(INT3/DMA#0/BIOS:d0000-d0fff) | ・I/OレベルでのSASIに対応(INT3/DMA#0/BIOS:d0000-d0fff) |