[FM]FULLMSX for BLOG

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

MSX2+の漢字BASICをBlueMSXで使う 日本語変換できない メモ帳を活用 

2022-10-10 13:21:48 | BlueMSX

お久しぶりです。ちょっと考えているところで
久しぶりにMSX2+パソコンの漢字BASICについて書きたいと思います。
BlueMSXで漢字BASICで日本語入力はできないのでWindowsパソコンで作ります。
アスキーファイルはテキストファイルの前身でパソコンによって半角の違うフォントになります。
漢字BASICではシフトJISのANSIコードのテキストファイルであれば互換性があり表示できます。
まずWindowsパソコンでデスクトップ下にここではknjフォルダを作ります。
フォルダ名もknjでなくてもファイルは720KB以下でわかりやすいフォルダ名でよいです。

フォルダ内にテキストファイルでknj.ascでANSIコードでアスキーファイルとして保存します。
WindowsパソコンでDATA文や'(ダッシュ)に日本語を書いておけば後でプログラムとして編集できます。
うまくロードできない場合は同じ行番号が二重になっていないか確認してください。

BlueMSXのドライブBをディレクトリ挿入でknjフォルダを選択します。
このようにMSXBASICにプログラムがロードされます。

メモ帳を上書きしたら取り出し:knjを押して下のknjをクリックします。
これでフォルダ内のファイルが更新されます。
次にMSXBASICでLOAD"B:KNJ.ASC"でロードします。
するとBlueMSXにロードすることができます。

さて、これから反転表示について書きます。
漢字BASICでは文字の色を変えることができます。

画面は実行結果とプログラムを合成させています。追加したのは290,300行です。
今どきコマンドを1つずつ覚えるよりはメニューにしたほうがわかりやすいかなと
メニュー表示部分を作ってみました。

まず、メニューの頭を黄色、選択部分をマゼンタとしてみました。
290行はカラーコード、文字の位置、文字を表示して;は改行をしないで色をもとに戻します。
こんなふうに部分的に色を変えることができます。


実行中は一瞬、カラーコードを指定するとこんなふうに色が変わります。
プログラムを止めるとこんなふうになります。
これはテキストモードになっているのでSCREEN5とかSCREEN7にすると
問題なく表示できます。
でも、セミコロンを使って色を変えればMS-DOSライクなことができるので
使ってみると面白いですね。

◆BlueMSXでプログラムを変えてしまったら

プログラムをBlueMSXで保存してしまった場合は行番号を追加することで
print文のメッセージを加えることができます。
下のようにコメントを入れたい場合は

295 'スティック操作

メモ帳でa.ascで保存をしてBlueMSXのBASICで
MERGE"a.asc"を入力すると295行を加えることができます。

---

次はSC7-MON.BASのプログラムです。

今回のダウンロードでは点滅表示のプログラムを追加しました。
マシン語プログラムでC9h(RET)は点滅するにはコード10の
黄色を黄色、黒、黄色というふうにパレットチェンジさせます。

プログラムを見てみますと、1280行がわかります。
ちょうどいい感じですね。この行でcolor10を指定します。今回はswapは使いませんでした。
1375行が点滅のルーチンで1379行が60/60秒の周期でパレットチェンジさせます。
1381行は点滅なしb=0の場合は黒にして消灯(B=1)、
1382行はB=1になっていればB=0で点灯に変えています。
1378行は何かキーを押すと(inkey$)、点灯させて次のルーチンへ飛びます。
ウィザード98のようなことは実はMSXでもできるんですね。少し日本語変換について書きます。

98は逐次変換と言って候補群が枝分かれして変換前の変換(へんかん)して
変換後の変換(変換、返還、偏官など)をするという
辞書ファイルがあり16ビットマシンの高度な日本語変換方法がありました。
MSX2+パソコンは日本語に変換できても正しい日本語にならないために漢字BASICになったと思いますが、
専門用語ではなく学校などで常用する単語は問題なくできます。
変換辞書はメーカーごとに異なり辞書ROMになっています。辞書ファイルはありません。
CLOCK-ICのほかバックアップ電池では単語をユーザー辞書として登録することができます。

下のようなプログラムを作ればノベル風にも作れますし、表やグラフも描けます。
漢字BASICは位置の微調整できませんがカンタンに作れます。
行を追加したテキストプログラムをロードしたい場合はMERGE"TEST.ASC"で混合するコマンドもございます。
注意してほしいのはメモリを多く使うので起動してすぐに漢字BASICのグラフィックモードを確保します。
BASICの上限が決まり普段より下がりますのでエラーが発生したり止まります
またモードを変更するCALL命令を使うと変数と文字列が初期化されますので注意してください。

実は漢字BASICからMSX-DOSもできます。
BASICプログラムは行頭は行番号がないとDirect statement in fileというロードエラーが発生します。
行番号を加えて修正してみてください。

 

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« MSXBASICからマシン語へ フ... | トップ | 2つのMSX-DOS MSX-DOSはCP/M... »
最新の画像もっと見る

コメントを投稿

BlueMSX」カテゴリの最新記事