|
|
| version 1.79, 2004/02/18 21:58:41 | version 1.155, 2007/01/02 13:43:03 |
|---|---|
| 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.81a → ver0.82 | |
| ・MPU-PC98II - モード切替時のMIDIリセットを修正 | |
| ・VERMOUTH - ver1.15版に差し替え | |
| (Win9x) | |
| ・モジュール判定不具合修正 | |
| (X11) | |
| ・PC9801-26K の I/O ポートが設定できなかった不具合を修正 | |
| // ---- | |
| 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 | |
| ・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 - バンク・アドレスマスクの修正 | |
| ・PIC - スペシャルマスクモードの対応 | |
| ・PIT - マルチプルラッチコマンドのサポート(uPD71054) | |
| ・CGROM - 2バイト半角の処理を修正 | |
| ・CGWINDOW - ワードアクセスの挙動修正 (MacOS9/MacOSX/x11/SDL) | |
| ・MOUSE - uPD8255のコマンドレジスタの修正 | |
| ・86PCM - 停止時にもかかわらずバッファを進めてしまう不都合を修正 | |
| ・CS4231 - PIOサポート | |
| ・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 |
| ・EGCの高速化 | ・GDC - ベクタの初期化し忘れを修正 |
| ・GDC - パターンの修正 | |
| ・ITF/BIOS - リセット時の挙動の修正 | |
| ・BIOS - 1842h モノクロフラグを修正 | |
| ・EGCの高速化(?) | |
| ・リズムの修正(PCM 44khz 16bit monoralの制限を外した) | ・リズムの修正(PCM 44khz 16bit monoralの制限を外した) |
| ・LIOの修正 | |
| (Windows) | (Windows) |
| ・(I286X) EGCバイトアクセス修正 | ・(I286X) EGCバイトアクセス修正 |
| ・(I286X) ストリング命令修正 | ・(I286X) ストリング命令修正 |
| ・フロッピードライブ接続状態指定 | |
| (MacOS9) | |
| ・フロッピードライブ接続状態指定 | |
| ・MPU-PC98IIの設定ダイアログ | |
| (WinCE) | (WinCE) |
| ・(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動作中にディップスイッチを変更した時と同じ状態になります。) | |
| 必ずリセットして下さい。 | |
| ・キー設定について | |
| bios.romとかと同じフォルダに key.txtというファイル名のテキストファイルを | |
| 作成して、キー設定を記入して下さい。 | |
| 書式) | |
| [keyname] = [key1] (key2) (key3) | |
| [keyname] [TAB] [key1] (key2) (key3) | |
| userkey[1-2] = [key1] (key2) (key3) ... (key15) | |
| フルキー 0〜9 A〜Z - ^ \ @ [ ] ; : , . / _ | |
| STOP COPY ESC TAB BS RET SPC XFER NFER | |
| INS DEL RLUP RLDN HMCL HELP | |
| ファンク F1〜F10 VF1〜VF5 | |
| テンキー [0]〜[9] [-] [/] [*] [+] [=] [,] [.] | |
| シフト SHIFT CAPS KANA GRPH CTRL | |
| 通常キーは3個、userkeyは15個の同時押し設定が可能です。 | |
| [=] キーは = で区切られてしまうので TABで区切るか [EQU]として下さい。 | |
| 例: | |
| W = UP (ダイアモンドキーをカーソルにしてみたり…) | |
| S = LEFT | |
| D = RIGHT | |
| X = DOWN | |
| [7] = [4] [8] (テンキー斜め同時押しにしてみたり…) | |
| [9] = [6] [8] | |
| [1] = [4] [2] | |
| [3] = [6] [2] | |
| userkey1 = CTRL XFER (CTRL+XFER FEP切り替え) | |
| userkey2 = D O A Z (D+O+A+Z 同時押し) | |
| ・内部変更 | ・内部変更 |
| win9x/unasmをgenericへ移動(+P6,FPU命令をサポート) | win9x/unasmをgenericへ移動(+P6,FPU命令をサポート) |
| Line 51 | Line 418 |
| ハードウェアで対応してる場合には 一応 SUPPORT_HWSEEKSNDと定義して | ハードウェアで対応してる場合には 一応 SUPPORT_HWSEEKSNDと定義して |
| くれると嬉すぃ | くれると嬉すぃ |
| ・keystat_initialize(keystat_reset)をコールして初期化すること… | |
| // ---- | |
| // ---- | |
| ver0.73 → ver0.74 | ver0.73 → ver0.74 |