2015年3月30日 (月)

Wikipedia for LXDIC Lite(変換済辞書)

■Wikipedia for LXDIC Lite(変換済辞書)

面倒な変換処理(約110分)をパスして,簡単に試用できるように,
変換済の辞書(2015/1月版)を用意した.

内容
Wikipedia(ja)20150118Lite-EPWING を,LXDIC Lite用に変換.
ファイルは,実際に使う形式に変換済で,そのまま使える.

変換済辞書ファイル
・GAI16F.ORG             278,528   全角外字
・GAI16H.ORG             143,360   半角外字
・WIKIP .BLK           3,887,796   ブロック情報
・WIKIP .IMG          50,994,915   モノクロ画像
・WIKIP .HLZ       3,316,280,624   辞書(LXDIC形式圧縮済)
 合計          3,371,585,223 バイト

 

●ダウンロード
下記で指定するリンク先から,全ファイルをダウンロードする.
  http://lxdic.cocolog-nifty.com/blog/

[HP200LX/LXDIC]

|

skey

SKEY-1641
$7bb5 0600 6e60 2b0c c8e8  //2015/02:1641
$72b8 153a 76e8 7681 c8c8  //2015/03:1641
$14c7 6983 0bd6 00f7 c828  //2015/04:1641
 
SKEY採用プログラムを利用するためには,S-KEY.$$$に,
利用月の起動キーをセットしておく必要がある.
 
SKEY採用プログラム
・LXDIC Ver.16.4-1641
・LXDIC Lite Ver.W6.4-1641
・Sunrise Ver.11.7-1641
 
●S-KEY.$$$ファイル
・起動キーの照合は,ファイルの先頭から12行目まで行われる.
・起動キーは,$で始まる1行が1か月分で,毎月配布される.
  "//"以降の記述の意味  //年/月:キー番号
・新しいキーのセットは,テキストエディタの行コピーで行う.
・過去の古いキーは削除するのが望ましい.
 
[HP200LX/LXDIC]

|

2015年3月28日 (土)

memo::画像ファイルフォーマット

LXDICの画像ファイルフォーマット

IMGファイル(画像)
------------------------------------------------
・ファイルヘッダなし
・データヘッダ(8バイト)
    4バイト;'I','M','G','1'
    2バイト:画像の高さ(short)[18の倍数]
    2バイト:画像の幅  (short)  [8の倍数]
・データ
    モノクロビットマップ(非圧縮データ)

 

TBLファイル(アドレス変換テーブル)
-------------------------------------------------
・ファイルヘッダなし
・データヘッダなし
・データ
   旧アドレス[long], 新アドレス[long]

[HP200LX/LXDIC]

|

2015年3月26日 (木)

memo::LXDIC圧縮形式

■memo::LXDIC圧縮形式

●圧縮方式
LZ法のSLIDE辞書方式
 圧縮単位(ユニット) :2KB,8KB(1,4ブロック)
 EPWINGのプロックサイズ=2KB
 
  
●lzcomp5(LXDIC用) 辞書サイズ2GB以下
環状バッファ: 1KB
圧縮単位  : 2KB(1ブロック)
データフォーマット
  "BLKS" + (データサイズ:2byte)+(1ブロック圧縮データ)


●wxcomp2(LXDIC Lite用) 辞書サイズ4GB以上
環状バッファ: 4KB
圧縮単位  : 2KB(1ブロック)インデックス
               8KB(4ブロック)本文など
データフォーマット
  "BLKX" + (データサイズ:2byte)+(1,4ブロック圧縮データ)
 
 
●LXDIC Lite の対応フォーマット
  "BLKX" + (データサイズ:2byte)+(1,4ブロック圧縮データ)
  "BLKL" + (データサイズ:2byte)+(2ブロック圧縮データ)
  "BLKS" + (データサイズ:2byte)+(1ブロック圧縮データ)
   ヘッダなし +(非圧縮データ)
 
 
●LXDIC の対応フォーマット
  "BLKS" + (データサイズ:2byte)+(1ブロック圧縮データ)
   ヘッダなし +(非圧縮データ)
 
 
※テストデータ
環状バッファ(KB)と圧縮単位(KB)の組合わせによる圧縮率の変化
環状-単位     圧縮率
-------------------------
 1-2           56.1  <--- LXDIC 速度重視
 1-4           53.3    
 1-8           51.9
-------------------------
 2-4           50.3
 2-8           48.0
-------------------------
 4-2           54.7  <--- LXDIC Lite(インデックス)高速
 4-4           49.1
 4-8           45.4  <--- LXDIC Lite(本文)高圧縮
 4-10          44.6     
 4-16          43.5
-------------------------

[HP200LX/LXDIC]

|

2015年3月24日 (火)

Wikipedia最新版

■Wikipedia最新版
(対象)
SourceForge.JP:Boookendsプロジェクト
Wikipedia(ja)20150118Lite-EPWING

ファイルサイズデータ
・HONMON.EBZ  3,583,202,718   //オリジナル辞書ファイル
・HONMON.ORG  9,454,745,600   //非圧縮状態の辞書ファイル
・WIKIP .HLZ  3,316,280,624   //LXDIC Lite用辞書ファイル
・WIKIP .BLK    3,887,796   //ブロック情報ファイル
・WIKIP .IMG    50,994,915   //画像ファイル(数式のみの場合)
 WIKIP .IMG   249,788,495   //画像ファイル(全てを含む場合)

オリジナル画像
 サイズ:約640MB
 画像数:約97000

モノクロ変換後の画像
 サイズ:約250MB,または,約51MB
 画像数
 ・bmp  約65000   51MB(数式) 画像処理時間55分  
 ・jpg  約32000  199MB(写真) 画像処理時間55分
  合計 約97000  250MB     画像処理時間110分※

WRefKit4による画像処理の詳細データ
 画像数  :96914
 jpg    :31753
 bmp    :65161
 変換エラー:354 (画像変換に失敗した数)
本文における画像参照箇所
 全参照回数:134003
 参照エラー:2 (参照先アドレスが未解決)
 未使用画像:684(本文から参照されない画像)

[HP200LX/LXDIC]

|

2015年3月22日 (日)

Wikipedia Reform Kit

■Wikipedia Reform Kit
 
SourceForge.JP:Boookendsプロジェクトの Wikipedia(ja)Lite[EPWING版]を
HP200LX上のLXDIC Liteで使用できるように加工するためのプログラムセット.
●構成
・辞書再構成プログラム   reform.exe
・画像コンバータ      wconv .exe ,djpeg.exe
・アドレス書換プログラム  waddr .exe
・辞書圧縮プログラム    wxcomp.exe  ※
 
※圧縮形式について
 ebzip形式は,プログラムサイズとメモリー容量の観点から,EXMプログラム
 LXDIC Liteへの実装は困難であると判断し,圧縮率は低いが,高速でメモリ
 ー消費量が小さく,実装が容易な汎用アルゴリズムを採用している.
 
 
●使い方
実行例
reform honmon.org honmon.ref
wconv honmon.org wikip
waddr honmon.ref wikip
wxcomp wikip.hon wikip.hlz
    
プログラム相互の関係
            
     (EBShrink)    (reform)  
honmon.ebz =====> honmon.org ----> honmon.ref
          ↓(wconv)    |(waddr)
         wikip.tbl --------↓
         wikip.img    wikip.hon -----> wikip.hlzwikip.blk
                       (wxcomp) 
 
LXDIC Lite で使用するファイル
wikip .lhz   LXDIC用に圧縮された辞書本体
wikip .blk   圧縮辞書のブロック位置情報
wikip .img   モノクロ画像

  
●Wikipedia Reform Kit Ver.3
・インデックスは,表記形(前方,後方)のみ.
・画像は,数式(bmp)だけを変換処理する.(bmp)
・画像数上限: 100000
 
 
(参考)
Wikipedia(ja)20150118Lite-EPWING の場合
 画像数
 ・bmp  約65000   51MB(数式) 画像処理時間55分※   
  ※低速機の場合の数値(Pentium 4 CPU 2.8GHz )
  
ダウンロード
http://hp200lx.cocolog-nifty.com/blog/download.html

[HP200LX/LXDIC]

|

Wikipediaのサイズが限界に

■Wikipediaのサイズが限界に
   
SourceForge.JP:Boookendsプロジェクトの Wikipedia(ja)Lite-EPWING
は,辞書サイズが大きくなり,HP200LXで扱える限界に近づいている.
このため,HP200LXでの閲覧では,多少の不具合が発生している.
・辞書サイズが大きくなり,4GBカードに入らない場合がある.
・数式の画像数が上限50000を越え,数式を表示できない項目がある.
Wrkit1_2
 
 
これらに対応するため,Wikipedia Reform Kit を改訂した.
ターゲット
  Wikipedia(ja)20150118Lite-EPWING
 
●Wikipedia Reform Kit Ver.3
主な変更点
・クロス検索インデックスを削除する.
・画像数の上限を,100000に引上げる.(数式の画像のみ)
Wrkit2
 
ファイルサイズ
・HONMON.EBZ  3,583,202,718   //オリジナル辞書ファイル
・HONMON.ORG  9,454,745,600   //非圧縮状態の辞書ファイル
・HONMON.REF  6,574,292,992   //再構成した辞書
・WIKIP .HLZ  3,316,280,624   //LXDICで圧縮後の辞書
・WIKIP .IMG    50,994,915   //モノクロ画像ファイル
・WIKIP .BLK    3,887,796   //ブロック情報ファイル 

●Wikipedia Reform Kit Ver.4
・数式以外の画像(jpg)も全て,モノクロ変換する.
Wrkit22_2
  
ファイルサイズ
・WIKIP .IMG   249,788,495   //画像ファイル(全てを含む場合)
 
 
ダウンロード
http://hp200lx.cocolog-nifty.com/blog/download.html

[HP200LX/LXDIC]

|

2015年2月18日 (水)

memo::LXCALC

■LXCALC Ver.3.3
HP200LX用64ビット電卓プログラム
 
・基本機能のみのシンプルなプログラム
・数値 :符号1ビット+数値63ビット
・入力 :10進,16進,2進
・演算 :右シフト,左シフト,NOT, AND, OR, XOR,
     加算,減算,乗算,除算,剰余算,平方根,2乗
 
Lxcalc22 
Lxcalc23   
 
[HP200LX/LXCALC]

|

2015年2月12日 (木)

数詞由来の月名の順番

■数詞由来の月名の順番
 
数詞由来の月名の順番は2つずれている.
 7番目の月:September 9月
 8番目の月:October   10月
 9番目の月:November  11月
 10番目の月:December  12月
これは,ローマが共和制時代に,年の始めを2か月前倒しにずら
したことによる.
 
B.C.153年より前の月の順番
  1.Martius   (3月) 軍神マルスの月
  2.Aprīlis   (4月)
  3.Māius    (5月)
  4.Jūnius    (6月)
  5.Quīntīlis  (7月) 5番目の月
  6.Sextīlis  (8月) 6番目の月
  7.September  (9月) 7番目の月
  8.Octōber   (10月) 8番目の月
  9.November  (11月) 9番目の月
 10.December  (12月) 10番目の月
 11.Jānuārius  (1月)
 12.Februārius (2月)
 ※数詞由来の月名の順番は合っている.

 ()

B.C.153年より後の月の順番
  1.Jānuārius  (1月)
  2.Februārius (2月)
  3.Martius   (3月) 軍神マルスの月
  4.Aprīlis   (4月)
  5.Māius    (5月)
  6.Jūnius    (6月)
  7.Quīntīlis  (7月) 5番目の月
  8.Sextīlis  (8月) 6番目の月
  9.September  (9月) 7番目の月
 10.Octōber   (10月) 8番目の月
 11.November  (11月) 9番目の月
 12.December  (12月) 10番目の月
 ※数詞由来の月名の順番は2か月後ろへずれる.

 ()
 
 
●ローマが年の始まりを2か月早めた理由
ローマでは当初,3月が年の始めであり,1年ごとに交代する長官
は,3月15日に任命されていた.
 
支配地域が数日の行軍で行ける範囲に限られていた時代には,全く
問題にならなかったこの最重要行事の日程が,広大な地域を支配す
る時代になると問題になる.
遠隔地の司令官を任ぜられた長官が,春の遠征季節に行動を開始で
きないという軍事的に不都合な事態が発生する.
 
しかし,紀元前153年より前の暦は,暦と季節のずれが大きく,この
時代の季節のずれは,偶然にも好都合なずれ方になっていた.
(重要な戦いのあった年の季節のずれ)
 B.C.190年の3/15 ==> 前年の11/16
 B.C.168年の3/15 ==> 前年の12/31
十分な余裕をもって,軍事行動を起すことができた.
ただし,これは偶然であり,いずれ不都合な事態になることが予測
される.
 
この不都合を解消するため,紀元前153年に,ローマは大きな改暦を
行い,年の始めを2か月前にずらすと共に,長官の任命を3月15日
から1月1日に変更した.
 
この暦は,紀元前45年に,ユリウス暦が採用されるまで続く.
月の順番は,ユリウス暦に継承された.
ユリウス暦採用以降に,いくつかの月の名称が変更されたが,5番
目と6番目の月の名称変更が,現在まで残っている.
 5番目の月:==>   ユリウスの月   : July     7月
 6番目の月:==>   アウグストゥスの月: August   8月
 
 
●まとめ
数詞由来の月名の順番がずれているのは,共和制時代のローマが
軍事的理由により,年始を2か月早める改暦を行ったためである.
 
(蛇足)
100年以上後の,ユリウス,アウグストゥスによる月名変更は,全く
関係ない.
そもそも,度々行われた月名変更は,途中に新たな月を挿入する訳
ではなく,単に名称を変更するだけであり,ずれの原因にはならな
い.
 
また,神の格を考慮して,最も格上の月を年の始めの月に選んだわ
けでもない.(元々3月が最上位)
世界国家に成長したローマが,軍事上の日程よりも,神の格を優先
するとする主張には根拠がない.
 
 
●参考文献/記事
1.アーノルド・J・トインビー著 
  歴史の研究2 <サマヴェル縮刷版>  1975. 社会思想社
  
2.ウィキペディア 『ローマ暦』
  
[HP200LX/LXDIC]

|

2015年2月 7日 (土)

LXDIC:カーソルの影

■LXDIC:カーソルの影
 
LXDIC のテキスト入力ラインは,システムの表示機能を用いているため,
外字表示には対応していない.
この欠陥を補うため,入力ラインの下に,16ドットフォントによる外字
対応表示を追加している.
Lxbug04
 
 
カーソルの白い影
入力ラインのカーソル位置によっては,この16ドットフォント表示の一
部が消えて,カーソルの影があるように見えることがある.
Lxbug01
1文字目と2文字目の一部が欠落(幅:16ドット)[カーソルは先頭にある]
Lxbug05
 
 
主な特徴
・カーソルの下方の16ドット文字表示の一部分が消える.
 欠落する位置は,描画時点のカーソル位置に連動する.
 欠落部分の幅は,16ドット.
・図形描画に対しては,影響を与えない.(図形に変化なし)
 単に何かが上書されている訳ではない.
・カーソルを非表示(EDIT_NOCURSOR)に設定すると異常は起らない.
 
・システムフォント(small,normal,large)では,異常は起らない.
・16ドットフォントイメージを,直接VRAMに転送する場合にのみ発生する.
・システムコールによる16ドットフォントイメージ描画では,異常はない.
・カーソル移動に連動した文字表示更新でのみ異常が発生する.
 予め描画されている文字表示については,欠落は発生しない.
 これも,単純に何かが上書されている訳ではない事を示す.
・プログラム上で動作を一時停止するコードを埋め込んで観察すると,一
 度正常な表示をした後で,表示の欠落が発生している.
・VRAMへのフォントデータ転送は,正常に終了している.
  インラインアセンブリによるコード,および,
  BC のmovedata() 関数によるコード,の両方で同じ結果になる.
・原因は不明
 
 
対策(テスト)
本文表示には,これまで通り,VRAM直接転送(高速)を用い,入力ライン
下の表示については,システムコール(低速)を用いる.
 
(テスト結果)失敗
カーソルが通常の文字にあるときは,正常表示になるが,
カーソルが外字のコントロールコード上に来ると,真下の表示が欠落する. 
Lxbug21  
[カーソル位置=1文字目,文字コード=0x18]
 
 
推定
システムは,カーソル位置に相当するVRAMへの直接書き込みを検知すると,
カーソルが消去されたと判断し,この書き込みをキャンセルするアクショ
ンを起すと考えられる.(BIOSレベル?)
 
 
根本的な対策
フォントイメージ描画の直前に,グラフィックカーソルをOFFにし,描画
終了後に,ONに戻すことにより,システムの不必要なリアクションを回避
する.
 
(テスト結果)良好
16ドットフォント表示の一部が欠落する不具合は解消された.
Lxbug22  
 
  
Video services 
int 10h         
 AX=DC06h     Graphics Cursor ON
 AX=DC07h     Graphics Cursor OFF
  
[HP200LX/LXDIC]

|

«Sunrise Ver.11.6