86 lines
1.3 KiB
Plaintext
Executable File
86 lines
1.3 KiB
Plaintext
Executable File
M1: DW OFFSET SET_MODE
|
||
DW OFFSET SET_CTYPE
|
||
DW OFFSET SET_CPOS
|
||
DW OFFSET READ_CURSOR
|
||
DW OFFSET READ_LPEN
|
||
DW OFFSET ACT_DISP_PAGE
|
||
DW OFFSET SCROLL_UP
|
||
DW OFFSET SCROLL_DOWN
|
||
DW OFFSET READ_AC_CURRENT
|
||
DW OFFSET WRITE_AC_CURRENT
|
||
DW OFFSET WRITE_C_CURRENT
|
||
DW OFFSET SET_COLOR
|
||
DW OFFSET WRITE_DOT
|
||
DW OFFSET READ_DOT
|
||
DW OFFSET WRITE_TTY
|
||
DW OFFSET VIDEO_STATE
|
||
DW OFFSET VIDEO_RETURN
|
||
DW OFFSET VIDEO_RETURN
|
||
DW OFFSET VIDEO_RETURN
|
||
DW OFFSET WRITE_STRING
|
||
M1N:
|
||
M1L EQU M1N-M1
|
||
VIDEO: STI
|
||
CLD
|
||
CMP AH,MIL/2
|
||
JNB M4
|
||
PUSH ES
|
||
PUSH DS
|
||
PUSH DX
|
||
PUSH CX
|
||
PUSH BX
|
||
PUSH SI
|
||
PUSH DI
|
||
PUSH BP
|
||
MOV SI,DATA
|
||
MOV DS,SI
|
||
MOV SI,AX
|
||
MOV AL,BYTE PTR EQUIP_FLAG
|
||
AND AL,30H
|
||
CMP AL,30H
|
||
MOV DI,0B800H
|
||
JNE M2
|
||
MOV DI,0B000H
|
||
M2: MOV ES,DI
|
||
MOV AL,AH
|
||
CBW
|
||
SAL AX,1
|
||
XCHG SI,AX
|
||
MOV AH,BYTE PTR CRT_MODE
|
||
JMP WORD PTR CS:[SI+OFFSET M1]
|
||
M4: IRET
|
||
|
||
SET_MODE:
|
||
MOV DX,03D4H
|
||
MOV DI,WORD PTR EQUIP_FLAG
|
||
AND DI,30H
|
||
CMP DI,30H
|
||
JNE M8C
|
||
MOV AL,7
|
||
MOV DL,0B4H
|
||
JMP SHORT M8
|
||
M8C: CMP AL,7
|
||
JB M8
|
||
MOV AL,0
|
||
CMP DI,20H
|
||
JE M8
|
||
MOV AL,2
|
||
M8: MOV BYTE PTR CRT_MODE,AL
|
||
MOV WORD PTR ADDR_6845,DX
|
||
MOV BYTE PTR ROWS,25-1
|
||
PUSH DS
|
||
PUSH AX
|
||
CBW
|
||
MOV SI,AX
|
||
MOV AL,CS:[SI+OFFSET M7]
|
||
MOV BYTE PTR CRT_MODE_SET,AL
|
||
AND AL,037H
|
||
PUSH DX
|
||
ADD DX,4
|
||
OUT DX,AL
|
||
POP DX
|
||
SUB BX,BX
|
||
MOV DS,BX
|
||
|
||
|
||
|