2016年10月22日 (土)

LXDIC Ver20.3 のバグ

■LXDIC Ver20.3 のバグ
モノクロ図版の表示で,余分な矢印が現れることがある.
                                .
新漢語辞典での表示例
(該当項目一覧画面)
1.該当項目一覧画面で項目を選択する場合
  異常なし
  Lxd230b2  
                                             .
                                             .
(本文表示画面)
2.次項目(F8,Enter),表示履歴(F9,f10)による表示
  異常あり ==> 図版の右側外部に矢印が出現
  Lxd203b4                                            .
3.次候補(Space)による表示
  異常あり ==> 図版の内部に矢印が出現
  Lxd203b1                                            .
4.戻る(Esc)による表示
  異常なし
                                 .
[HP200LX/LXDIC]

|

2016年9月17日 (土)

LXDIC Ver.20.3

■LXDIC Ver.20.3
PCM音声の再生中に,ONキー押下でハングアップする不具合を改善
                                   .
原因
PCM再生では,タイマー割込みをフックし,本来の処理を完全にブロックして
いる.(PCM再生がPCUを独占)
このため,電源キーが押下されても,タイマー割込みを使うディープスリープ
の前処理が実行できず,システムに不整合が発生する.(ハングアップ)
                                   .
対策
int 09h : Keyboard Translate Interrupt をフック
電源キー(スキャンコード:0x70)の場合は,キー操作を無視する.
                                   .
PCM再生中のキー割当て
・電源キー(ON/OFF)==> 無効化
・Ctrlキー,Escキー ==> 再生中止
・その他のキー      ==> なし
                                   .
ファイル一覧
 lxdicc.exm.......LXDIC 実行ファイル
 lxdic .ini.......設定ファイル (テキスト,編集可)
 lxdic .hlp.......ヘルプファイル(テキスト,編集可)
 lxdic .txt.......簡易マニュアル
                                   .
[HP200LX/LXDIC]
 .

|

2016年9月14日 (水)

LXDIC Ver.20.2

■LXDIC Ver.20.2
起動キーファイルの廃止.情報表示の改善.
                                   .
変更点
・起動キー($LXDIC.KEY)を廃止
 一定の利用期間を設定する方式に変更.(公開月を含む12か月間)
・情報表示項目の内容を整理(F8キー)
 インデックス照合回数 ==> 各エントリー数
  基本エントリー,集団エントリー,集団メンバーについては,単純に
  その存在数を表示する.
・タイトル行表示の改善('+'キー)※
 図版メニュー/メニューの表示において,無関係の内容が表示される不
 具合を修正.(メニューではタイトル行表示を無効にする)
                                   .
※注
 リンク項目から,タイトル行のない本文(分割表示の場合)へ戻る場合は,
 正しい情報を表示できない.(リンク先の情報が残る)
                                   .
[HP200LX/LXDIC]

|

2016年8月26日 (金)

LXDICの検索時間

■LXDICの検索時間
新たなテスト版のテスト結果,及び,SDとCFの速度比較
                                .
●検索高速化実験
Ver 20.1=かなインデックスに限定して高速化した改良版(未公開)
 ※検索語とインデックスの照合を,JISコードの下位バイトのみ
  で行う.(照合バイト数が半減)
テスト条件:倍速機,4GB-SD,広辞苑5版
 検索語  ヒット数 照合回数 Ver18.2 Ver19.9  Ver20.1
 "きよ"       93     6612     3.46    1.54      1.26
 "しや"        9     4103     2.09    0.99      0.88
 "しゆ"       25    10451     5.10    2.14      1.76
 "しよ"       38    12283     6.04    2.53      1.98
 "ちよ"       23     4318     2.30    1.10      0.88
 "ぢ"          2    13813     6.10    2.53      2.09
                                .
                                .
●SDとCFの検索速度の違い
LXDICの検索では,CFはSDに比べて,7~14%高速に動作する.
  CF = SanDisk 4GB
  SD = memoQ 4GB, SP 4GB
Ver 19.9(倍速機,広辞苑5版)CFが7%高速
 検索語  ヒット数 照合回数  19.9/SD 19.9/CF  速度差
 "きよ"       93     6612      1.54     1.43    +7.7%
 "しや"        9     4103      0.99     0.93    +6.4%
 "しゆ"       25    10451      2.14     1.98    +8.1%
 "しよ"       38    12283      2.53     2.36    +7.2%
 "ちよ"       23     4318      1.10     1.04    +5.7%
 "ぢ"          2    13813      2.53     2.31    +9.5%
                                .
Ver 20.1テスト版(倍速機,広辞苑5版)CFが14%高速
 検索語  ヒット数 照合回数  20.1/SD 20.1/CF  速度差
 "きよ"       93     6612      1.26     1.10    +14.5%
 "しや"        9     4103      0.88     0.77    +14.2%
 "しゆ"       25    10451      1.76     1.54    +14.2%
 "しよ"       38    12283      1.98     1.76    +12.5%
 "ちよ"       23     4318      0.88     0.77    +14.2%
 "ぢ"          2    13813      2.09     1.81    +15.4%
                                .
[HP200LX/LXDIC]

|

2016年7月28日 (木)

PCの時計についてのメモ

■PCの時計についてのメモ
                                                                    .
●RTC=リアルタイムクロック(CMOS情報)
・バッテリー駆動のデジタルクロック
・誤差:約 2分/月 (約4秒/日)
・システムは,電源投入時にRTC情報を読込み,システムタイマー等に
 情報をセットする.
                                                                    .
●システムタイマー
・BIOSワークエリア 
  0040:006c システムタイマーカウンター   4バイト
  0040:0070 システムタイマーオーバーフロー 1バイト
・約18.2Hzの割込みの発生回数をカウントする.
・RTCとは独立に時刻を計算する.
・詳細な数値
 内部クロック周波数      :1.193180MHz
 内部クロックの周期      :0.8380965μs
 16ビットカウンターの計数可能数:65536
 16ビットカウンターで測れる時間:0.8380965μs×65536=54.9255ms
 タイマー割込み発生周期:54.9255ms
 タイマー割込み発生回数:18.206482 回/秒
 ※システムタイマーカウントは,毎秒約18.2回カウントアップされる.
                                                                     .
●LXDICが対応するPCM音声の数値
PCMサンプリング周波数:11025Hz
  1周期=108.225 クロック
                                                                     .
●PCM再生終了後の時計補正
・再生中は,再生処理を最優先し,時計を止めておく.
・再生終了後に,実際の再生時間を加算して補正する.
                                                                     .
[HP200LX/LXDIC]

|

2016年7月23日 (土)

LXDIC Ver.19.9

■LXDIC Ver.19.9
PCM音声の再生機能を改善
                                   .
大辞林2版で,honmon内にPCM音声データがある場合,データ読込みが間に
合わず,正常な再生が出来ないことがある.(音量V2以上のとき)
この問題は,音声データをhonmon から分離することで解決可能だが,内部
データも正常に再生できるように,LXDICの再生機能を改善する.
                                   .
(原因)
再生とデータ読込みを同時に行なっているが,内部データの場合,データ
アクセスに時間がかかり,データ読込みが間に合わない.
                                   .
(対策)
サンプリング周期ごとに行う音声再生処理の時間を短縮して,データ読込
み時間を確保する.
 ・ボリューム調整のために,リアルタイムに行っている波形の加工
  処理を中止し,事前計算でテーブル化したデータを用いる.
    複数回の整数演算 ==> 1回のテーブル参照
 ・PCM再生中のボリューム調整機能を廃止する.
 ・ESCキーによる再生の中断を廃止する.(中断は,Ctrlキーのみ)
                                   .
(補足)
・時計の遅れを補正する処理を追加(再生時は時計が停止する)
・倍速機だけでなく,標準速機でも,PCM音声の再生が可能
・デバッグモードの検索で,ブロック番号の表示が間引されるバグを修正
                                   .
○検索時間データ
(広辞苑5版)
 検索語  ヒット数 照合回数 18.2/SD  19.9/SD 19.9/CF
 "きよ"       93     6612     3.46     1.54     1.43 
 "しや"        9     4103     2.09     0.99     0.93 
 "しゆ"       25    10451     5.10     2.14     1.98 
 "しよ"       38    12283     6.04     2.53     2.36 
 "ちよ"       23     4318     2.30     1.10     1.04 
 "ぢ"          2    13813     6.10     2.53     2.31 
   CF = SanDisk 4GB
   SD = memoQ 4GB, SP 4GB
                                 .

[HP200LX/LXDIC]

|

2016年7月20日 (水)

remake Ver.4.0

■remake Ver.4.0
                                   .
●変更
PCM音声を辞書本体から分離
・辞書本体にPCM音声データが含まれる場合は,辞書本体からは削除し,
 音声ファイルとして独立させる.
・辞書内のPCM音声アドレスは,音声ファイルのアドレスに書換える.
・内部音声データを温存する選択肢は用意していない.
                                   .
●効果
PCMデータの読込み処理の高速化
・対象のファイルサイズが小さくなる.
・直接アクセスにより,アクセス時間が短縮される.
※辞書本体の場合は,圧縮データ等の処理を含むキャッシュ管理関数を
 経由したアクセスとなるため,読込み速度が低下する.
・辞書を圧縮しても,PCM音声の正常な再生ができる.
                                   .
[HP200LX/LXDIC]

|

2016年7月18日 (月)

LXDIC19.8gの不具合

■LXDIC19.8gの不具合
PCM音声関連
                                     .
●PCMデータの読込み遅延
 大辞林2版(辞書サイズ600MB,内PCM音声220MB)のように,サイズの大きな
 辞書の後部にPCM音声が格納されていると,アクセスに時間がかかり,再生す
 べきデータの取得が,間に合わない事がある.(正常な再生ができない)
 特に,ボリュームV2 以上では,波形の加工処理に時間を要するため,再生で
 きなくなる可能性が高い.(V1では問題ない)
 (原因)
  1.辞書ファイル内に大きな音声データがある.
   データ読込みがバッファー管理関数経由となり,オーバーヘッドが生じる.
  2.辞書サイズが大きいため,音声のアドレスが更に大きくなる.
    内部データの場合のアドレス範囲:380-600MB
   (外部データの場合のアドレス範囲:0-220MB)
  3.音量調整を行うと,波形の加工処理に時間がかかる.
   波形加工処理が,データ読込みを圧迫する.
                                     .
●改善方法
・予め計算した表を作成して置き,リアルタイムの計算を回避する.
 ある程度のメモリーが必要になる.(LXDICの改良)
・辞書ファイルに含まれるPCM音声データを分離し,音声ファイルとして独立
 させる.(音声分離プログラムの作成)
                                     .
[HP200LX/LXDIC]

|

2016年7月15日 (金)

Remake Ver.3.8

■Remake Ver.3.8
辞書再構成プログラム
                                   .
Ver.3.5 からの変更点
                                   .
●バグ修正
再構成辞書の以下の不具合に対応する修正を行った.
・複合検索が動作しなくなる.
 検索できない,あるいは,正しい見出しが表示できない.
・かな検索に失敗することがある.
 項目の欠落,あるいは,見出しの異常.
・前方一致かな検索見出しの再構築のバグ.
 再構築後の検索では,項目,または,見出しが欠落することがある.
・メニュー検索のリンクが正常に機能しない.
 リンクアドレスの変更が不適切で,無関係の参照先へジャンプする.
                                   .
●廃止した機能
通常サイズの辞書(500MB程度以下)では,LXDICの検索高速化の効果の
方が大きいため,複雑で危険な処理を行う意味がなくなった.
・前方一致かな検索見出しの再構築
・前方一致かな検索インデックスの片仮名エントリの削除
                                   .
※注意
動作テストは,広辞苑5版,および,大辞林2版でしか行っていない.
                                   .
[HP200LX/LXDIC]

|

2016年7月13日 (水)

世界大百科辞典(EPWING版)のバグ

■世界大百科辞典(EPWING版)のバグ
EPWING変換プログラムにより生成された辞書には不整合が存在する事がある.
(変換ユーティリティのバージョンは不明)
                                  .
●書籍構成要素の不整合
・本来ならば複合検索管理情報に記述すべき,
  [0D] 項目別条件検索見出し           345431  2937
  [A1] 項目別条件検索INDEX            348368  3114
 の2項目が,書籍管理情報に記述されている.
                                  .
・複合検索管理情報に記述されている
  [05] 前方一致表記形見出し         320836  4124
  [91] 前方一致表記形INDEX          324960  5565
 については,書籍管理情報の記述と重複している.
                                  .
※バグの修正
どのようなインデックス構成が正しいかは不明だが,以下のどちらかには,
修正することはできる.
1.書籍管理情報の項目別条件検索[0D][A1]を削除する.
  複合検索には,[05][91]をそのまま使用する.
  実データ(6051ブロック)を削除すれば,12MB程度削減できる.
2.複合検索管理情報の[05][91]を,[0D][A1]に差替える.
  実データに過不足はなく,管理情報の修正のみ.
                                  .
●注意
remake.exeの誤動作
想定外の辞書構成のため,remake.exeは誤動作し,複合検索は機能しなくなる.
                                  .
●参考データ
EBDumpによるテキストダンプ
[ID] 書籍構成要素名                 start  size  kasctygdh
[02] 著作権表示                         2     1 
[00] 本文                               3 88622 
[D2] カラー図版                     88625 232210 
[01] メニュー                       320835     1 
[05] 前方一致表記形見出し           320836  4124             <--- 重複1
[91] 前方一致表記形INDEX            324960  5565  .as......  <--- 重複2
[07] 後方一致表記形見出し           330525  4124 
[71] 後方一致表記形INDEX            334649  5561  .as......
[03] 条件検索見出し                 340210  2937 
[80] 条件検索INDEX                  343147  2284  .as......
[0D] 項目別条件検索見出し           345431  2937           <== 複合検索のID
[A1] 項目別条件検索INDEX            348368  3114           <== 複合検索のID
[04] 前方一致かな見出し             351482  4077 
[90] 前方一致かなINDEX              355559  9541  kasctygdh
[06] 後方一致かな見出し             365100  4077 
[70] 後方一致かなINDEX              369177  9529  kasctygdh
[FF] 複合検索管理情報               378706     1 
 <百科年鑑・便覧>
 [01] メニュー                     378707     1
 [05] 前方一致表記形見出し         378708    97
 [91] 前方一致表記形INDEX          378805    91
 <キーワード>
 [05] 前方一致表記形見出し         320836  4124             <--- 重複1
 [91] 前方一致表記形INDEX          324960  5565             <--- 重複2
[16] 検索固有名称定義データ         378896     1 
                                   .
[HP200LX/LXDIC]

|

«LXDIC検索高速化のバグ(まとめ)