K氏のheboOSをまねてみる

94:Re: キーコード変換
hideyosi 10/19 03:32
上の状態だと、カーソルが最下行に行っちゃうと、固まったようになって画面が動かなくなっちゃう。
で、こんなコードに変更。

----------------------------------------
ENTERPRINT:
;現在のカーソルの位置を取得(Y座標のみ)
MOV BH,0x0
MOV AH,0x03
INT 0x10

INC DH ;上で取得した行位置+1

CMP DH,0x19

;もし、最下行だったらロールアップ
JE ENTERPRINTLUP

;そうじゃなかったら、普通にカーソル移動

JMP ENTERPRINTNML


ENTERPRINTLUP:
;ロールアップ。まず、ロールアップをする
MOV AL,0x01
MOV BH,0x0F
MOV CH,0x01
MOV CL,0x0
MOV DH,0x18
MOV DL,0x4F
MOV AH,0x06
INT 0x10

;カーソルを最下行にセット
MOV DH,0x18
JMP ENTERPRINTNML


ENTERPRINTNML


;BIOSでカーソル位置を設定
MOV AH,0x02
MOV BH,0x0
MOV DL,0

INT 0x10

JMP INTEND
--------------------------------------------------

おーー! まるでエディタの如く、最下行でロールアップするぞ!?


1-

BluesBB ©Sting_Band