[FM]FULLMSX for BLOG

詳しいMSXパソコンなどの情報はホームページで!
https://fullmsx.web.fc2.com/

漢字入力ソフト2023 不具合の報告など 2023年もよろしく

2022-12-30 08:39:29 | BlueMSX

お久しぶりです。漢字入力ソフト2023を引き続き制作しています。
Windows95以前の入力スタイルですねテンキーで数字を選択します。
MSXパソコンでテンキーが標準装備されるのはMSX2+からで
テンキー配列キーボードは意外と古くはないんですね。

さて現況ですが無変換入力で本文反映とBSキーで一字削除機能の修正さらに変数の追加などです。
本文に反映すると「ごごいち」が「ここいち」になって濁点が省かれている不具合がありました。
KI$の文字型変数の追加をしました。
漢字コードデータと入力データのバッファが一致していなかったので修正されています。
Breakした場合のローマ字変換状態が改善されました。
下段の仮想端末ではBSキーで一字削除できるようにしました。

FILENAMEで漢字コードデータを読めるようにしています。
Enterキーで入力画面になります。辞書データ構築のため数十秒かかります。

文字列変数情報です。
KZ$:漢字表示用(汎用)
KH$:候補(KH)「さくら」データ
KI$:漢字入力(KI)「さいたま市」データ

備考:
SCREEN7は512x212画面ですがスプライトは256x212です。
一字削除をしてカーソルを戻すにはスプライトのX座標が-8になります。
変数エリアが大きいためにガベージコレクションになり一時的に止まる場合があります。
数十秒待つと復帰します。

というわけです。
今年は単漢字変換処理の改良を進めていきました。
2023年は単語変換にステップアップしてゲーム用にするので住所データなどは含みませんが
既存辞書にあるものでテストとしてやってみたいと思います。では。

 

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

VGA to HDMI アダプタ これでWiiと1chipMSXも動く 不具合を発見

2022-12-14 22:32:45 | 1chipMSX

今回はVGA to HDMIアダプタを購入してみました。
使い捨てをしないでできれば最後まで使いたいということで
買ってみました。まだまだ遊べます。

変換アダプタを購入する時の注意点としてはHDMI→VGAとVGA→HDMIの2つがあります。
前者の場合はHDMIからVGAのプロジェクターなどに接続する目的です。
2,000円程度で安いです。

後者の場合はVGA(dsub9ピン)からHDMIの接続です。
4,000円程度で高いです。
ネットで検索すると前者がヒットされます、

というわけで高いけどWii-Fitやりたいので買いました。
久しぶりにWiiを起動しました。問題なくできました。

接続ケーブルの劣化で映像が暗かったりノイズが発生したので交換しました。
買ってから10年以上経っているので交換して問題なく動作しています。

アップスキャンコンバータ(プリンストンのデジ像)につないでDVD&ビデオデッキに接続して
DVDも見ることができました。

久しぶりに1chipMSXも今までのとおりに動かしてみましたが画像が出ませんでした。
そこで出力が弱い可能性があるので直結をしてみましたが、
残念ながらDISKBASICまで起動はできたのですが安定しませんでした。

症状としては垂直同期あたりが正常ではなく
斜めに線のようなノイズが出ていたりして数分経つと白黒の画面になって
カラーになりMSXBASICまで出て数秒すると元の症状に戻ったり
MSXturboRの最期の症状と変わりませんでした。
やはり2年間程度、起動していないのが原因だろうと思っています。

DVDデッキはWiiのドラクエ10で遊んでいたので復活できたと思います。
だた気になるのは
この機器のUSB給電・オーディオからVGA出力を通り1chipMSXに逆流してしまう現象になって

アップスキャンコンバータではアナログ出力がスルーなので問題ありませんが

1chipMSXの電気の流れが変わり部分的に過電流で一時復帰して
電源が切れなくなってお釈迦になっていませんでした。
一時的に電池を+ー逆に入れたりしたような過電流なら壊れることは少ないです。

その後はダメもとでUSB給電なしで1chipMSXは復活しました。。

「よかった。ちょっとヒヤリとしましたね、」
「分解した時に間違えてこんなことあってすぐに電源を切ったりするので」
「壊れることはないだろうと思いましたが、数年放置していたのでもしかすると壊れたかも」
「でも1chipMSXはまだ健在です。」

ということは1chipMSXを起動するとVGAにスルーで電流が流れるということです。
1chipMSXはDISKBASICからSDカードの読み書きができたので正常動作しました。

不具合なのかよくわかりませんが、
この機器はVGAかUSBかどちらかで給電可能になっているようです。
まず、VGAのみを繋げてみて映像が出ないようならUSBからの給電がよいと思います。
USB2.0で電流値が低い場合はセルフパワーのUSBハブが必要な場合がありましたが、
USB3.0や電流値が高いなら直結すればバスパワーで対応できるので今のマシンならOKです。





こういう逆流する欠陥商品が出回っていることが恐ろしいです。
また他社製品からの逆流対策もメーカーが考えなけばいけないというのも残念です。
変換アダプタはもちろん改造、改変にあたるのでメーカー保証対象外になります。
昔の製品はAIWAがダメとかあったのですが品質保証について厳しい基準です。
日本の製品ではありえないことです。

Wiiとかビデオのメニューを見ると16:9ならグラフィックが劣っているイメージがないので
それよりも新しいマシンという感じが強くて次世代機に合うかなと思いました。
新フォントが欲しいです。

数時間起動するとWii本体に熱で膨張してディスク読み取りエラーになりました。
いったん電源コネクタを外して本体を8時間程度冷やすことで回復しました。
このWiiはスタンバイモードって意外と発熱するんですね。
ファンの清掃をしてみます。

 

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

MSXBASIC かけ算九九をメモリに入れてみる 最速のMSX像

2022-12-10 09:45:48 | BlueMSX

今回は掛け算九九をメモリに入れてみてメモリ消費量を計算してみます。
MSXパソコン全盛期は配列変数などを使わずにメモリにデータを入れているプログラムがありました。
その流れでROMBASICのプログラムは一見するとマシン語のような感じにも見えました。
どの程度メモリを節約できるのか考えてみたいと思います。

0を含む縦横11列の121の数値を配列変数に入れています。
表計算のようになっていますがメモリを1000使っています。

次は九九をメモリに直接入れるとメモリを44使っています。
さらに121のデータ域があるので165使うことになります。
ということでメモリに直接書いたほうがかなり節約になります。

意外だったのはこんなに大きく数値が変わるんですね。
POKE命令は遅いイメージがあるんです。
マシン語プログラムをBASICプログラムからメモリに書き込むには
時間がかかるのです。
でも、少しMSXがわかった気がします。

エミュレータでMSXを800%高速にしてみましたがMSXを超高速ではなく
高速化するとMSXパソコンらしい問題があり、やはりMSXなんだなぁと思います。
CPUとVDPは高速になってもVRAMは変わらないので制約を受けてしまいます。
SETPAGEが倍程度は欲しい気もしますが8ビットの環境ではなくなると思います。

turbo仕様になるとすればRAMもVRAMを変えなければ
今までのMSXと変わらない気がしますね。
おそらく次世代機はネーミングを使うだけで斬新的なマシンになると思います。
では。


コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

MSX2日本語入力システムを作る 新しく辞書を作ります

2022-12-05 15:49:38 | 1chipMSX

12月になりました。ご無沙汰しております。
1chipMSXでは日本語入力の利便性の向上のためプログラミングをはじめました。
ミナカンで公開したのですが変換速度が遅いために鑑賞プログラムで終わりました。
2023年は実用に向けて日本語入力システムの以前に作ったものをゼロベースでやっています。
これによりMSX2+より前のMSX2で漢字コードの文書を表示することができます。

MSX2パソコンで動作する設計でSCREEN7、漢字ROMを使っています。
PUT SPRITEに次いでPUT KANJI命令ですが当時の本を見るとマジック的なイメージがあるような気がします。
当時はロール紙に印刷する電子計算機がメインでPCは知らない方が大半でオフィスオートメーションしている限られた会社だけでした。
Windows95以前は電卓持って帳簿に手書きで罫線とか定規で引いて数字を書いている会社が多かったです。
というわけで8ビットでもできる!オマケ機能なので処理能力を上げるために半角には変換できないようにします。

セットアップの処理の流れは入力した文字を大文字にするようにコードをキャラクタコード順に並べます。
MSX2+で小文字を大文字に変えます。濁点などは2文字を判別してト→ドに変えます。
ここで128コード以降のひらがな、カタカナは変換できないので
漢字BASICのコードを入力します。これでコンソールの準備はできました。

カーソルは16*16スプライトです。最前面にグラフィックが表示されます。
移動処理でカーソルを消すことなく作れます。処理速度も上がります。
間違えた操作は最初からやり直すなど不親切さはありますが、
プログラム量の軽減のためです。起動します。
第一段階としてあかさたな順に辞書ファイルの区分を大雑把に分けて様子を見ていきます。

最新版ではローマ字変換モードに変える手間がかかるので最新版では
プログラムにPOKE&HFCFC,69を加えて英数の状態からローマ字変換に変わります。
このローマ字変換はMSX2から使うことができます。

単漢字変換をやっています。
例えば2223、2224、2225…のように漢字コードを+1にしていくと、
音訓になっていないのでかなり変換に苦労します。
そこで漢和辞典の音訓索引からの独自の辞書を採用しています。
特長としては「呼ぶ」を「呼」というふうに「よ」候補になります。
漢字の読みを略した場合に対応できます。
また「呼」は「呼称」の「こ」候補にもあります。※
こんなふうに単漢字変換候補を出すことができます。

保存形式は10桁ごとに漢字を並べています。
1行10文字の漢字候補に変えてテンキーからの入力も対応します。
この辞書は400行程度の大きなデータです。
これを毎回、1行1行ロードすると数十秒かかってしまいます。
また高速で表示されるのでBASICのメモリを消費します。
使わなくなったデータの解放のため最適化で30秒程度止まる場合もあります。
調べてみないとわかりませんが問題を解消する場合はRUNコマンドで再起動がよいかもしれません。
頻繁に発生するようなら考えてみたいと思います。

※手作りのため常用漢字で候補にないものはアップデートする場合があります。

デバッグの流れですが例えば「つ」の場合を見てみます。


8ビットの技としてキャラクターコードごとに辞書を作ります。
ロードをカウントすることで行数を把握できます。
数値が高いほうが時間がかかるということです。
MSXturboR相当でも124はかなり時間がかかっています。
そこでファイル名で辞書を作って一発で変換できるようにします。

フロッピーディスクドライブはファイル数が少ないほど高速に動作しますが、
50音なら50個作ると意外と時間がかかります。
頻度の高い候補のみをファイルにすることで快適に動作します。



DICメンテナンスプログラムで辞書を作ります。
基本の辞書ファイルをカットして設定します。

まず2を選択してロードします。
3は例えば「あ」の変換に対応する辞書のファイル名を表示しています。
4の設定は煩雑な処理になるので自動化して誰でも設定できるようにします。

自動ファイルができました。5でセーブして変更完了です。
システムを起動すれば「つ」が一発で候補になります。

日本語入力を即席で作ったもので漢字対応にできるような設計です。

背景デザインはデバッグ中にはこの画面にします。
正式バージョンでは背景を変えます。

最初から候補が出る直前の行はカットして別名保存するプログラムができれば
ショートカットした辞書ができます。第一段階はこんなところです。

今後の展望としては辞書システムの改良がメインになる予定です。

MSXパソコンはロードが遅いのでファイルを種類ごとに分割して処理時間を軽減します。
第二段階は熟語の属性コードの設定が可能になります。単漢字変換から単語変換への流れです。
また入力中に変換候補が出るようなAI変換ができればと思います。

年号が令和に変わる時期に予定していましたが問題がクリアできず不採用に終わりました。
単漢字は1文字でしたが新しく属性コードを設定することで同音異義語を使うことができます。
「処理上の問題」「処理場の問題」などの変換対応です。

最終段階では既存辞書との互換性と利便性の向上です。
MSX2+以降ではユーザー辞書を登録できますがSRAMを使うので登録できる語句が少ないです。
当時は「建設省」でしたが「国土交通省」など時代とともに日本語も変わっていきます。
時代に対応できる辞書を作るために辞書管理もできる大きな辞書データが必要です。
駅名データ、市町村合併後の地名データなどもあります。
そこでテキストで今までの方法で簡易的な辞書から読み込めるようにしてみたいと思います。

余談ですが最近はデスクワークをやっているのですが1年程度やっていると億劫なところがなくなり、
打ち込んだり書いたりしてルーティン作業すると思考能力が上がる感じがします。
何か頭にイメージしたものや話したことなど筆記する習慣ができますね。

日本語変換で数十年も経ちますが;誤字脱字が社会的に多い気がします。
1行を変換なしで入力すれば一発で変換できる世の中になっていると思いますね。
なんか思わず変換キーを押してしまうんですね。
ちょっとWindows10でやってみると

>うめたてちがすくなくしょりじょうのもんだい
埋立地が少なく処理上の問題
>うめたてちがすくなくしょりじょうをどうするか
埋立地が少なく処理場をどうするか

という結果です。変換数を1回にすることで校正機能がはたらき精度の高い変換ができるようです。
広告とかメディアに印刷などするともう修正はききませんから;
間違えを少なくするには文書化して使う語句だけを抜き取れば校正できると思います。

>きかいがありこうかんかいにさんかすることにしました
機会があり交換会に参加することにしました
>きかいがありこうかんをいらいしました
機会があり交換を依頼しました。
正:代わりとなる機械があり交換を依頼しました。

>おだわらにいくきかいがありこしょうしたきかいのてんけんをしました
小田原に行く機会があり故障した機械の点検をしました

まだ日本語は難しいですね;でも面白いです。

MSXはファイル形式をバイナリデータで漢字コードを出力することを予定しています。
データフォーマットなどは自分で作ってください。後日書く予定です。
これをMSX2または1chipMSXに対応していきます。では。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする