漢字モード切替コマンドを作る

「漢字モード切替コマンドを作る」の編集履歴(バックアップ)一覧はこちら

漢字モード切替コマンドを作る」(2015/03/06 (金) 10:32:51) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

漢字モード 一部の2と2+以降のハードウエアでは漢字ディスプレイモードが利用できる。 漢字ドライバと呼ばれる機能はDOS/Vにおける漢字表示機能と同じ。 漢字モードでは日本語マルチバイト文字対応のCPM互換DOSとなる。 漢字ドライバはDOS/Vにおける英語モードから日本語モードへの切替に相当する。 (DOSコマンドでchevやjp/us等に該当) DOSファンクションコールも日本語対応のため、日本語に対応したCPM互換環境ともいえる。 漢字画面モードはグラフィクスモードに依存しており0-3までの4種類がある。 漢字ドライバはBASIC環境でCALL KANJI0命令実行後初期化される。 DOS2ではフロッピーブート領域に識別子が記録され起動時に初期化可能だが BASIC以外で初期化方法はない。BASIC命令で初期化が必要。 DOSコマンドで漢字モードを切り替える場合は拡張BIOSを呼ぶが、初期化されていないと 画面モードは変わらない。 拡張BIOSの使い方はC言語からインターフェースのアセンブラコードを経由して呼び出す。 一般的な拡張BIOSコール手順は0xFFCAを呼ぶこと。この時Dレジスタにデバイス番号を指定する。 漢字ドライバではDレジスタを11デバイス番号、Eレジスタはファンクション機能 Aレジスタにスクリーンモードを置いてジャンプする。 この手順はアセンブラを前提としているためC言語関数として呼ぶ場合は ラッパを作る必要がある。 例を示す。 kanjidisp.asm ; .area _ASMCODE ; _kanjidispdriver:: ld hl,#2 add hl,sp ; ld a,(hl) ;kanji display mode -> [A] ld d,#0x11 ;extbios device number (KANJI DISPLAY DRIVER = 0x11) ld e,#1 ;extbios functon number (CHANGE KANJI DISPLAY) ; push AF ;backup registerfile push BC push DE push HL push IX push IY ; call 0xffca ;call extbios ; pop IY pop IX pop HL pop DE pop BC pop AF ; ret kmode1.c #include <stdio.h> extern void kanjidispdriver(unsigned char mode); void main(void){ kanjidispdriver(1); } アセンブラのソースをアセンブルし、Cのソースをコンパイルしてから リンカで結合してバイナリを作成する。 漢字モード毎にコマンドを作れば各モード用にスクリーンを切り替える事ができる。

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。