--- np2/update.txt 2004/06/16 04:59:31 1.108 +++ np2/update.txt 2012/01/23 05:31:28 1.171 @@ -19,6 +19,260 @@ #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.84→0.85 + ・i386c - rcl, rcr 命令の不具合を修正 + ・i386c - 命令実行中に例外が発生した際にスタックポインタがずれてしまう + 不具合を修正 + ・i386c - 割込みゲート、トラップゲートで不正なエラーコードが設定されてしまう + 不具合を修正 + ・i386c - セグメント有効範囲チェックの不具合を修正 + + (Win32) + ・NASM 2.09を使用するように修正 + ・UNICODE版(np2nt.exe) で hostdrv が利用できないバグを修正 + + (X11) + ・gtk+ の deprecated なインタフェースを使用しない様に修正 + ・環境によってサウンドを有効にした場合にプログラムがクラッシュする不具合を + 修正 + ・glib, gtk+ の deprecated なインタフェースを無効化しない様に修正 + ・ビルド、インストールに Autotools(configure) を使用するように修正 + ・ファイル保存時に既に同名ファイルが存在した場合、上書き確認ダイアログを + 表示するように修正 (GTK+-2.8 以降のみ有効) + ・F12 キー機能割り当てに Help キーを追加 +  ・ファイルダイアログの floppy disk image Files にて拡張子が flp のファイル + を表示する様に修正 +  ・Screen Option の LCD のチェックを外しても外れない不具合を修正 +  ・FDDシーク音が鳴らない不具合を修正 +  ・色深度が 8bpp の場合に配列の範囲外にアクセスしていた不具合を修正 + +// ---- + + ver0.83 → ver0.84 + + (X11) +  ・STATSAVE 用のメニューを作成 +  ・レジューム/STATSAVE のファイル名を変更 + - レジューム: ${HOME}/.np2/sav/sav → ${HOME}/.np2/sav/np2.sav + - STATSAVE : ${HOME}/.np2/sav/s00 → ${HOME}/.np2/sav/np2.s00 + ・フォントパスに設定ファイル名が含まれてしまう不具合を修正 + ・エミュレーションウィンドウサイズ変更用のメニューを作成 + ・glib, gtk+ の deprecated なインタフェースを使用しない様に修正 + ・CPU 使用率を軽減する様に修正 + ・コンフィグ画面からサウンドドライバを変更出切る様に修正 + + +// ---- + + ver0.82 → ver0.83 + + (X11) +  ・ファイルダイアログにて拡張子が大文字のディスク・イメージを認識する様に修正 +  ・ファイルダイアログの IDE disk image Files にて拡張子が .hdi .tfd の +   ファイルを表示する様に修正 + + +// ---- + + ver0.81a → ver0.82 + ・MPU-PC98II - モード切替時のMIDIリセットを修正 + ・VERMOUTH - ver1.15版に差し替え + + (Win9x) +  ・モジュール判定不具合修正 + + (X11) +  ・PC9801-26K の I/O ポートが設定できなかった不具合を修正 +  ・フルスクリーンモードサポート +  ・F11 キーに機能割り当て +   - フルスクリーンモードトグル +   - フルスクリーン時のメニュー表示トグル + + +// ---- + + ver0.81 → ver0.81a + ・80286 (ARM版) - 割り込みハンドラを修正 + ・MOUSE - ボタンフラグの修正 + ・PIT - シリアルカウンタの修正 + ・HOSTDRV - 拡張子を消去する不都合を修正 (ver0.81エンバグ) + ・BIOS - FDCスイッチ/シグナルの修正 + + + + ver0.80 → ver0.81 + ・80286 (x86版) - rep ins, 2バイトmov8命令の不都合修正 + ・80286 (x86版) - クロック修正 (enter) + ・80286 (C版) - クロック修正 (cmp, jcc, test, enter) + ・80286 (ARM版) - pop ss命令の修正 + ・80286 (ARM版) - クロック修正 (cmp, jcc, test, enter) + ・80286 (C版) - rep outsw命令を修正 + ・MPU-PC98II - conductor修正 + ・MPU-PC98II - Request PC/Tempo コマンドの追加 + ・DMA - セルフイニシャライズを追加 + ・GDC - ソフトリセット時のフラグ修正 + ・GRCG - ソフトリセット時のフラグ修正 + ・PIT - シリアルカウンタの修正 + ・MOUSE - 割り込み修正 + ・ATRIC - 時間巻き戻りバグ修正 + ・SOUND - アドレスバスの修正 + ・WSS - データ転送サイズの修正 + ・BIOS - 1842h スクリーンモードを破壊する不都合修正 (ver0.75エンバグ) + ・BIOS - CRTBIOSフラグ修正 (PC-9821モード) + ・BIOS - FDDアクセス時にstatsaveを行なうと復帰できなくなる不都合修正 + ・一部(というか大部分…)のキーボードのmake/break関係を修正 + + ・メモリを修正(C版コア) + ・16MB以上のメモリをサポート(IA32) + + ・内部変更 +  たぶん +   #define OEMTEXT(string) (string) +  を +   #define OEMTEXT(string) string +  にする必要がある。 + +  CPUフォルダの DMA EGC等がほぼ同様のコードなので memフォルダへ移動し +  共通にしました。 + +  embedのShift-JISを ネイティブコードにしました。 +  文字コードがEUCの環境では SUPPORT_SJISは不要になります。 +  また、fontmng_getsize, fontmng_getdrawsizeの引き数の文字コードが +  SJISからEUCへ変更になっています。 + +  codecnvとucscnvを /codecnv へ移動しました。 + +  pccore.cとかにあるデバグコードがウザイので trapフォルダへ移動。 +  ENABLE_TRAPが定義されてなければ見る必要はありません。 + + + + ver0.79 → ver0.80 + ・BIOS - スクロールコマンド修正 + ・BIOS - システムポートの修正(i286/V30ではほぼ無意味) + ・GDC - ステップフラグの反映 + ・FDC - レディ信号を修正 + ・i286x - div命令 (i286モード側) + ・i286c - div命令 (V30モード側) + + + (X11) +  ・ジョイスティックサポート +   サウンドドライバに SDL を使用している時にのみ使用可 +  ・screen depth == 24bpp の時にキーディスプレイ、ソフトウェアキーボードの +   描画がおかしい不具合を修正 +  ・T98-Next(.NHD)形式、Anex(.HDI)形式ハードディスクイメージ作成サポート + +(MacOSX) +  ・日本語リソース追加 +  ・ソフトウェアキーボードを有効にした + + +// ---- + + ver0.78 → ver0.79 + ・CGROM - JIS83罫線の不都合修正 + ・CGROM - 2バイト半角アクセス修正 + ・86PCM - バッファリングの不都合を修正 + ・BEEP - BEEP PCMの修正 + ・BIOS - 2Dタイプのシリンダ倍移動を修正 + ・BIOS - FDD割り込みフラグを修正 + ・AMD98 - レジスタリードの追加 + ・VRAM - スキップライン描画の修正 + ・BMPSave - スキップライン有効時のセーブ不都合を修正 + + (Win9x) +  ・ソフトウェアキーボードを有効にした + + (MacOSX) +  ・カレンダーに対応 + + + ・内部変更 + +   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.77 → ver0.78 @@ -35,6 +289,8 @@  ・LIO - 半角ひらがなの対応  ・LIO - 円の仮サポート + (X11) +  ・ソフトウェアキーボードサポート  ・内部変更