LTCD_070816.ISO
This commit is contained in:
1 parent
d14bbc24f9
commit
0e9364ff4c
506 files changed
+157705
-41812
No files matched your search
@@ -0,0 +1,593 @@
|
||||
IMPORT sys_update_screen_tss;
|
||||
|
||||
ALIGN 8,OC_NOP
|
||||
NORMAL_KEY_SCAN_DECODE_TABLE::
|
||||
DU1 0,CH_ESC,"1234567890-=",8,9;
|
||||
DU1 "qwertyuiop[]",CH_CR,0,"as";
|
||||
DU1 "dfghjkl;'\`",0,"\\zxcv";
|
||||
DU1 "bnm,./",0,'*',0,CH_SPACE,0,0,0,0,0,0;
|
||||
DU1 0,0,0,0,0,0,0,0,0,0,'-',0,0,0,'+',0;
|
||||
SHIFT_KEY_SCAN_DECODE_TABLE::
|
||||
DU1 0,CH_ESC,"!@#$$%^&*()_+",8,9;
|
||||
DU1 "QWERTYUIOP{}",CH_CR,0,"AS";
|
||||
DU1 "DFGHJKL:\"~",0,"|ZXCV";
|
||||
DU1 "BNM<>?",0,'*',0,CH_SHIFT_SPACE,0,0,0,0,0,0;
|
||||
DU1 0,0,0,0,0,0,0,0,0,0,'-',0,0,0,'+',0;
|
||||
CTRL_KEY_SCAN_DECODE_TABLE::
|
||||
DU1 0,CH_ESC,"1234567890-=",8,9;
|
||||
DU1 17,23,5,18,20,25,21,9,15,16,"[]",CH_CR,0,1,19;
|
||||
DU1 4,6,7,8,CH_LINE_FEED,11,12,";'\`",0,"\\",26,24,3,22;
|
||||
DU1 2,14,13,",./",0,'*',0,CH_SPACE,0,0,0,0,0,0;
|
||||
DU1 0,0,0,0,0,0,0,0,0,0,'-',0,0,0,'+',0;
|
||||
|
||||
ALIGN 8,OC_NOP
|
||||
////**************************PROCEDURE*************************
|
||||
ALIGN 8,OC_NOP
|
||||
CP_PLOT_SCREEN_I1::
|
||||
PUSH RBP
|
||||
MOV RBP,RSP
|
||||
MOV RBX,U8 SF_PARAM2[RBP]
|
||||
MOV RAX,U8 SF_PARAM3[RBP]
|
||||
OR RBX,RBX
|
||||
JS @@100
|
||||
OR RAX,RAX
|
||||
JS @@100
|
||||
CMP RBX,TEXT_COLS
|
||||
JGE @@100
|
||||
CMP RAX,TEXT_ROWS
|
||||
JGE @@100
|
||||
IMUL2 RAX,TEXT_COLS
|
||||
ADD RBX,RAX
|
||||
SHL RBX,2
|
||||
ADD RBX,U8 [SYS_TEXTBASE]
|
||||
MOV RAX,U8 SF_PARAM1[RBP]
|
||||
MOV U4 [RBX],EAX
|
||||
|
||||
POP RBP
|
||||
MOV RAX,1
|
||||
RET
|
||||
@@100: POP RBP
|
||||
XOR EAX,EAX
|
||||
RET
|
||||
////**************************PROCEDURE*************************
|
||||
ALIGN 8,OC_NOP
|
||||
CP_PLOT_WIN_I1::
|
||||
PUSH RBP
|
||||
MOV RBP,RSP
|
||||
MOV RBX,U8 SF_PARAM3[RBP]
|
||||
MOV RAX,U8 SF_PARAM4[RBP]
|
||||
MOV RCX,U8 SF_PARAM1[RBP]
|
||||
|
||||
OR RBX,RBX
|
||||
JS @@100
|
||||
ADD RBX,U8 TSS_WIN_LEFT[RCX]
|
||||
CMP RBX,U8 TSS_WIN_RIGHT[RCX]
|
||||
JG @@100
|
||||
OR RBX,RBX
|
||||
JS @@100
|
||||
CMP RBX,TEXT_COLS
|
||||
JGE @@100
|
||||
|
||||
OR RAX,RAX
|
||||
JS @@100
|
||||
ADD RAX,U8 TSS_WIN_TOP[RCX]
|
||||
CMP RAX,U8 TSS_WIN_BOTTOM[RCX]
|
||||
JG @@100
|
||||
OR RAX,RAX
|
||||
JS @@100
|
||||
CMP RAX,TEXT_ROWS
|
||||
JGE @@100
|
||||
|
||||
IMUL2 RAX,TEXT_COLS
|
||||
ADD RBX,RAX
|
||||
SHL RBX,2
|
||||
ADD RBX,U8 [SYS_TEXTBASE]
|
||||
MOV RAX,U8 SF_PARAM2[RBP]
|
||||
MOV U4 [RBX],EAX
|
||||
|
||||
POP RBP
|
||||
MOV RAX,1
|
||||
RET
|
||||
@@100: POP RBP
|
||||
XOR EAX,EAX
|
||||
RET
|
||||
|
||||
////**************************PROCEDURE*************************
|
||||
ALIGN 8,OC_NOP
|
||||
/*
|
||||
BoolU4 PlotWinStr2(TssStruct *tss,I1 *s,I8 len,
|
||||
U8 attr,I8 x,I8 y)
|
||||
*/
|
||||
ALIGN 8,OC_NOP
|
||||
CP_PLOT_WIN_STR2::
|
||||
PUSH RBP
|
||||
MOV RBP,RSP
|
||||
MOV R10,U8 [SYS_TEXTBASE]
|
||||
PUSH RSI
|
||||
PUSH RDI
|
||||
MOV RBX,U8 SF_PARAM1[RBP]
|
||||
MOV RSI,U8 SF_PARAM2[RBP]
|
||||
MOV RDI,U8 SF_PARAM5[RBP]
|
||||
MOV RCX,U8 SF_PARAM3[RBP]
|
||||
|
||||
OR RDI,RDI
|
||||
JNS @@10
|
||||
ADD RCX,RDI
|
||||
SUB RSI,RDI
|
||||
XOR EDI,EDI
|
||||
@@10: ADD RDI,U8 TSS_WIN_LEFT[RBX]
|
||||
MOV RDX,RCX
|
||||
ADD RDX,RDI
|
||||
DEC RDX
|
||||
CMP RDX,U8 TSS_WIN_RIGHT[RBX]
|
||||
JLE @@11
|
||||
MOV RAX,RDX
|
||||
SUB RAX,U8 TSS_WIN_RIGHT[RBX]
|
||||
SUB RDX,RAX
|
||||
SUB RCX,RAX
|
||||
@@11: OR RDI,RDI
|
||||
JNS @@12
|
||||
ADD RCX,RDI
|
||||
SUB RSI,RDI
|
||||
XOR EDI,EDI
|
||||
@@12: INC RDX
|
||||
SUB RDX,TEXT_COLS
|
||||
JLE @@13
|
||||
SUB RCX,RDX
|
||||
@@13: CMP RCX,1
|
||||
JL @@100
|
||||
|
||||
MOV RAX,U8 SF_PARAM6[RBP]
|
||||
OR RAX,RAX
|
||||
JS @@100
|
||||
ADD RAX,U8 TSS_WIN_TOP[RBX]
|
||||
CMP RAX,U8 TSS_WIN_BOTTOM[RBX]
|
||||
JG @@100
|
||||
OR RAX,RAX
|
||||
JS @@100
|
||||
CMP RAX,TEXT_ROWS
|
||||
JGE @@100
|
||||
|
||||
IMUL2 RAX,TEXT_COLS
|
||||
ADD RDI,RAX
|
||||
SHL RDI,2
|
||||
ADD RDI,R10
|
||||
MOV RAX,U8 SF_PARAM4[RBP]
|
||||
@@20: LODSB
|
||||
STOSD
|
||||
LOOP @@20
|
||||
|
||||
POP RDI
|
||||
POP RSI
|
||||
POP RBP
|
||||
MOV RAX,TRUE
|
||||
RET
|
||||
|
||||
@@100: POP RDI
|
||||
POP RSI
|
||||
POP RBP
|
||||
XOR EAX,EAX
|
||||
RET
|
||||
////**************************PROCEDURE*************************
|
||||
ALIGN 8,OC_NOP
|
||||
/*
|
||||
BoolU4 PlotAttr(TssStruct *tss,I8 len,
|
||||
U8 attr,I8 x,I8 y)
|
||||
*/
|
||||
ALIGN 8,OC_NOP
|
||||
CP_PLOT_ATTR::
|
||||
PUSH RBP
|
||||
MOV RBP,RSP
|
||||
MOV R10,U8 [SYS_TEXTBASE]
|
||||
PUSH RSI
|
||||
PUSH RDI
|
||||
MOV RBX,U8 SF_PARAM1[RBP]
|
||||
MOV RDI,U8 SF_PARAM4[RBP]
|
||||
MOV RCX,U8 SF_PARAM2[RBP]
|
||||
|
||||
OR RDI,RDI
|
||||
JNS @@10
|
||||
ADD RCX,RDI
|
||||
XOR EDI,EDI
|
||||
@@10: ADD RDI,U8 TSS_WIN_LEFT[RBX]
|
||||
MOV RDX,RCX
|
||||
ADD RDX,RDI
|
||||
DEC RDX
|
||||
CMP RDX,U8 TSS_WIN_RIGHT[RBX]
|
||||
JLE @@11
|
||||
MOV RAX,RDX
|
||||
SUB RAX,U8 TSS_WIN_RIGHT[RBX]
|
||||
SUB RDX,RAX
|
||||
SUB RCX,RAX
|
||||
@@11: OR RDI,RDI
|
||||
JNS @@12
|
||||
ADD RCX,RDI
|
||||
XOR EDI,EDI
|
||||
@@12: INC RDX
|
||||
SUB RDX,TEXT_COLS
|
||||
JLE @@13
|
||||
SUB RCX,RDX
|
||||
@@13: CMP RCX,1
|
||||
JL @@100
|
||||
|
||||
MOV RAX,U8 SF_PARAM5[RBP]
|
||||
OR RAX,RAX
|
||||
JS @@100
|
||||
ADD RAX,U8 TSS_WIN_TOP[RBX]
|
||||
CMP RAX,U8 TSS_WIN_BOTTOM[RBX]
|
||||
JG @@100
|
||||
OR RAX,RAX
|
||||
JS @@100
|
||||
CMP RAX,TEXT_ROWS
|
||||
JGE @@100
|
||||
|
||||
IMUL2 RAX,TEXT_COLS
|
||||
ADD RDI,RAX
|
||||
SHL RDI,2
|
||||
ADD RDI,R10
|
||||
MOV RBX,U8 SF_PARAM3[RBP]
|
||||
MOV RSI,RDI
|
||||
@@20: LODSD
|
||||
OR AL,AL
|
||||
JNZ @@21
|
||||
MOV RAX,RBX
|
||||
STOSD
|
||||
LOOP @@20
|
||||
|
||||
@@21: POP RDI
|
||||
POP RSI
|
||||
POP RBP
|
||||
MOV RAX,TRUE
|
||||
RET
|
||||
|
||||
@@100: POP RDI
|
||||
POP RSI
|
||||
POP RBP
|
||||
XOR EAX,EAX
|
||||
RET
|
||||
////**************************PROCEDURE*************************
|
||||
ALIGN 8,OC_NOP
|
||||
CP_PLOT_BORDER_I1::
|
||||
PUSH RBP
|
||||
MOV RBP,RSP
|
||||
MOV R10,U8 [SYS_TEXTBASE]
|
||||
MOV RBX,U8 SF_PARAM3[RBP]
|
||||
MOV RAX,U8 SF_PARAM4[RBP]
|
||||
MOV RCX,U8 SF_PARAM1[RBP]
|
||||
|
||||
MOV RDX,-1
|
||||
CMP RBX,RDX
|
||||
JL @@100
|
||||
ADD RBX,U8 TSS_WIN_LEFT[RCX]
|
||||
MOV RDX,U8 TSS_WIN_RIGHT[RCX]
|
||||
INC RDX
|
||||
CMP RBX,RDX
|
||||
JG @@100
|
||||
OR RBX,RBX
|
||||
JS @@100
|
||||
CMP RBX,TEXT_COLS
|
||||
JGE @@100
|
||||
|
||||
MOV RDX,-1
|
||||
CMP RAX,RDX
|
||||
JL @@100
|
||||
ADD RAX,U8 TSS_WIN_TOP[RCX]
|
||||
MOV RDX,U8 TSS_WIN_BOTTOM[RCX]
|
||||
INC RDX
|
||||
CMP RAX,RDX
|
||||
JG @@100
|
||||
OR RAX,RAX
|
||||
JS @@100
|
||||
CMP RAX,TEXT_ROWS
|
||||
JGE @@100
|
||||
|
||||
IMUL2 RAX,TEXT_COLS
|
||||
ADD RBX,RAX
|
||||
SHL RBX,2
|
||||
ADD RBX,R10
|
||||
MOV RAX,U8 SF_PARAM2[RBP]
|
||||
MOV U4 [RBX],EAX
|
||||
|
||||
POP RBP
|
||||
MOV RAX,TRUE
|
||||
RET
|
||||
@@100: POP RBP
|
||||
XOR EAX,EAX
|
||||
RET
|
||||
////**************************PROCEDURE*************************
|
||||
ALIGN 8,OC_NOP
|
||||
/*
|
||||
GrXorLineU8(&dst3,&src,&src2,d5b,vga_image,reverse_table);
|
||||
for (col=0;col<d5a;col++) {
|
||||
*dst3=*src^*src2;
|
||||
dst3+=8;
|
||||
src+=8;
|
||||
src2+=8;
|
||||
}
|
||||
*/
|
||||
GR_XOR_LINE_U8::
|
||||
PUSH RBP
|
||||
MOV RBP,RSP
|
||||
PUSH RSI
|
||||
PUSH RDI
|
||||
|
||||
MOV RAX,U8 SF_PARAM2[RBP]
|
||||
MOV RDX,U8 [RAX]
|
||||
MOV RAX,U8 SF_PARAM3[RBP]
|
||||
MOV RSI,U8 [RAX] //rsi=src2
|
||||
MOV RBX,U8 SF_PARAM6[RBP] //rbx=reverse table
|
||||
MOV RCX,U8 SF_PARAM4[RBP] //rcx=d5
|
||||
MOV RAX,U8 SF_PARAM5[RBP]
|
||||
MOV RDI,U8 [RAX] //rdi=vga image
|
||||
|
||||
MOV RAX,U8 SF_PARAM1[RBP]
|
||||
MOV R8,U8 [RAX] //rbp=vga dst
|
||||
|
||||
@@5: MOV RAX,U8 [RDX]
|
||||
XOR RAX,U8 [RSI]
|
||||
CMP U8 [RDI],RAX
|
||||
JE @@7
|
||||
MOV U8 [RDI],RAX
|
||||
XLATB
|
||||
ROR RAX,8
|
||||
XLATB
|
||||
ROR RAX,8
|
||||
XLATB
|
||||
ROR RAX,8
|
||||
XLATB
|
||||
ROR RAX,8
|
||||
XLATB
|
||||
ROR RAX,8
|
||||
XLATB
|
||||
ROR RAX,8
|
||||
XLATB
|
||||
ROR RAX,8
|
||||
XLATB
|
||||
ROR RAX,8
|
||||
MOV U8 [R8],RAX
|
||||
@@7: ADD RDI,8
|
||||
ADD R8,8
|
||||
ADD RSI,8
|
||||
ADD RDX,8
|
||||
LOOP @@5
|
||||
|
||||
MOV RAX,U8 SF_PARAM1[RBP]
|
||||
MOV U8 [RAX],R8
|
||||
MOV RAX,U8 SF_PARAM5[RBP]
|
||||
MOV U8 [RAX],RDI
|
||||
MOV RAX,U8 SF_PARAM3[RBP]
|
||||
MOV U8 [RAX],RSI
|
||||
MOV RAX,U8 SF_PARAM2[RBP]
|
||||
MOV U8 [RAX],RDX
|
||||
POP RDI
|
||||
POP RSI
|
||||
POP RBP
|
||||
RET
|
||||
|
||||
////**************************PROCEDURE*************************
|
||||
GR_XOR_BITMAP_U8::
|
||||
PUSH RBP
|
||||
MOV RBP,RSP
|
||||
PUSH RSI
|
||||
PUSH RDI
|
||||
|
||||
MOV RSI,SF_PARAM2[RBP]
|
||||
MOV RDI,SF_PARAM1[RBP]
|
||||
MOV RCX,SF_PARAM3[RBP]
|
||||
@@1: LODSQ
|
||||
XOR RAX,U8 [RDI]
|
||||
STOSQ
|
||||
LOOP @@1
|
||||
|
||||
POP RDI
|
||||
POP RSI
|
||||
POP RBP
|
||||
RET
|
||||
////**************************PROCEDURE*************************
|
||||
ALIGN 8,OC_NOP
|
||||
/*
|
||||
GrPlotChar(font_ptr,cur_ch.u1[1],&dst2,d1,d2);
|
||||
|
||||
for (plane=0x01;plane!=0x10;plane<<=1) {
|
||||
font_ptr2=font_ptr;
|
||||
if (cur_ch.u1[1] & plane) {
|
||||
for (ch_line=0;ch_line<FONT_HEIGHT;ch_line++) {
|
||||
*dst2|=*font_ptr2++;
|
||||
dst2+=d1;
|
||||
}
|
||||
} else {
|
||||
for (ch_line=0;ch_line<FONT_HEIGHT;ch_line++) {
|
||||
*dst2&=~*font_ptr2++;
|
||||
dst2+=d1;
|
||||
}
|
||||
}
|
||||
dst2+=d2;
|
||||
}
|
||||
*/
|
||||
GR_PLOT_CHAR::
|
||||
PUSH RBP
|
||||
MOV RBP,RSP
|
||||
PUSH RSI
|
||||
PUSH RDI
|
||||
MOV RDX,1 //EDX=plane
|
||||
MOV RBX,U8 SF_PARAM4[RBP] //RBX=d1
|
||||
MOV RAX,U8 SF_PARAM3[RBP]
|
||||
MOV RDI,U8 [RAX] //RDI=dst2
|
||||
@@10: MOV RSI,U8 SF_PARAM1[RBP] //RSI=font_ptr2
|
||||
TEST U8 SF_PARAM2[RBP],RDX
|
||||
JZ @@30
|
||||
|
||||
@@20: LODSQ
|
||||
OR U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
OR U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
OR U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
OR U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
OR U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
OR U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
OR U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
OR U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
JMP @@40
|
||||
|
||||
@@30: LODSQ
|
||||
NOT RAX
|
||||
AND U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
AND U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
AND U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
AND U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
AND U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
AND U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
AND U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
ROR RAX,8
|
||||
AND U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
|
||||
@@40: ADD RDI,U8 SF_PARAM5[RBP]
|
||||
SHL1 RDX
|
||||
CMP RDX,0x10
|
||||
JNE U4 @@10
|
||||
|
||||
MOV RAX,U8 SF_PARAM3[RBP]
|
||||
MOV U8 [RAX],RDI
|
||||
POP RDI
|
||||
POP RSI
|
||||
POP RBP
|
||||
RET
|
||||
////**************************PROCEDURE*************************
|
||||
ALIGN 8,OC_NOP
|
||||
/*
|
||||
GrPlotBackground(cur_ch.u1[1],&dst,d1,d2);
|
||||
|
||||
for (plane=0x10;plane!=0x100;plane=plane<<1) {
|
||||
d=(cur_ch.u1[1] & plane) ? 0xFF:0x00;
|
||||
for (ch_line=0;ch_line<FONT_HEIGHT;ch_line++) {
|
||||
*dst=d;
|
||||
dst+=d1;
|
||||
}
|
||||
dst+=d2;
|
||||
}
|
||||
*/
|
||||
GR_PLOT_BACKGROUND::
|
||||
PUSH RBP
|
||||
MOV RBP,RSP
|
||||
PUSH RDI
|
||||
MOV RDX,0x10 //EDX=plane
|
||||
MOV RBX,U8 SF_PARAM3[RBP] //RBX=d1
|
||||
MOV RAX,U8 SF_PARAM2[RBP] //RDI=dst
|
||||
MOV RDI,U8 [RAX] //RDI=dst
|
||||
|
||||
@@10: XOR EAX,EAX
|
||||
TEST U8 SF_PARAM1[RBP],RDX
|
||||
JZ @@20
|
||||
DEC RAX
|
||||
|
||||
@@20: MOV U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
MOV U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
MOV U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
MOV U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
MOV U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
MOV U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
MOV U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
MOV U1 [RDI],AL
|
||||
ADD RDI,RBX
|
||||
|
||||
ADD RDI,U8 SF_PARAM4[RBP]
|
||||
SHL1 RDX
|
||||
CMP RDX,0x100
|
||||
JNE @@10
|
||||
|
||||
MOV RAX,U8 SF_PARAM2[RBP]
|
||||
MOV U8 [RAX],RDI
|
||||
POP RDI
|
||||
POP RBP
|
||||
RET
|
||||
|
||||
/*****
|
||||
BoolU4 IsPixelCovered(TssStruct *tss,I8 x,I8 y)
|
||||
{
|
||||
if (tss==sys_update_screen_tss) return FALSE;
|
||||
tss=tss->next_tss;
|
||||
while (tss!=sys_update_screen_tss) {
|
||||
if (Bt(&tss->crt_flags,CRTf_SHOW)) { //no short circuit logic
|
||||
if (x>=tss->win_border_pixel_left) {
|
||||
if (x<=tss->win_border_pixel_right) {
|
||||
if (y>=tss->win_border_pixel_top) {
|
||||
if (y<=tss->win_border_pixel_bottom) {
|
||||
return TRUE;
|
||||
}}}}}
|
||||
tss=tss->next_tss;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
*********/
|
||||
CP_IS_PIXEL_COVERED::
|
||||
PUSH RBP
|
||||
MOV RBP,RSP
|
||||
MOV RAX,U8 SF_PARAM1[RBP]
|
||||
MOV RBX,U8 SF_PARAM2[RBP]
|
||||
MOV RCX,U8 SF_PARAM3[RBP]
|
||||
MOV RDX,U8 [sys_update_screen_tss]
|
||||
BT U4 TSS_CRT_FLAGS[RAX],CRTf_ON_TOP
|
||||
JC @@100
|
||||
PUSHFD
|
||||
CLI
|
||||
MOV RAX,U8 TSS_NEXT_TSS[RAX]
|
||||
JMP @@30
|
||||
|
||||
@@1: BT U4 TSS_CRT_FLAGS[RAX],CRTf_SHOW
|
||||
JNC @@20
|
||||
CMP RBX,U8 TSS_WIN_BORDER_PIXEL_LEFT[RAX]
|
||||
JL @@20
|
||||
CMP RCX,U8 TSS_WIN_BORDER_PIXEL_TOP[RAX]
|
||||
JL @@20
|
||||
CMP RBX,U8 TSS_WIN_BORDER_PIXEL_RIGHT[RAX]
|
||||
JG @@20
|
||||
CMP RCX,U8 TSS_WIN_BORDER_PIXEL_BOTTOM[RAX]
|
||||
JG @@20
|
||||
POPFD
|
||||
MOV RAX,TRUE
|
||||
POP RBP
|
||||
RET
|
||||
|
||||
@@20: MOV RAX,U8 TSS_NEXT_TSS[RAX]
|
||||
@@30: CMP RAX,RDX
|
||||
JNE @@1
|
||||
POPFD
|
||||
|
||||
@@100: XOR EAX,EAX
|
||||
POP RBP
|
||||
RET
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
#help_index "Graphics"
|
||||
public LTextern CP_IS_PIXEL_COVERED BoolU4 IsPixelCovered(TssStruct *tss,I8 x,I8 y);
|
||||
|
||||
LTextern GR_XOR_LINE_U8 void GrXorLineU8(U8 **dst3,U8 **src,U8 **src2,U8 d5b,
|
||||
void **vga,U1 *reverse_bit_tab);
|
||||
LTextern GR_XOR_BITMAP_U8 void GrXorBitMapU8(U8 *b1,U8 *b2,U8 cnt);
|
||||
LTextern GR_PLOT_CHAR void GrPlotChar(U1 *font_ptr,U1 attr,U1 **dst2,U8 d1,U8 d2);
|
||||
LTextern GR_PLOT_BACKGROUND void GrPlotBackground(U1 attr,U1 **dst,U8 d1,U8 d2);
|
||||
//The callback is void Plot(aux_data,x,y,z)
|
||||
|
||||
#help_index "Graphics/Char"
|
||||
public LTextern CP_PLOT_SCREEN_I1 BoolU4 PlotScreenChar(U8 w,I8 x,I8 y);
|
||||
public LTextern CP_PLOT_WIN_I1 BoolU4 PlotWinChar(TssStruct *tss,U8 w,I8 x,I8 y);
|
||||
public LTextern CP_PLOT_WIN_STR2 BoolU4 PlotWinStr2(
|
||||
TssStruct *tss,I1 *s,I8 len,U8 attr,I8 x,I8 y);
|
||||
public LTextern CP_PLOT_ATTR BoolU4 PlotWinAttr(
|
||||
TssStruct *tss,I8 len,U8 attr,I8 x,I8 y);
|
||||
public LTextern CP_PLOT_BORDER_I1 BoolU4 PlotBorderChar(TssStruct *tss,U8 w,I8 x,I8 y);
|
||||
#help_index ""
|
||||
Binary file not shown.
Binary file not shown.
Reference in new issue
Block a user