Rev 379 | Rev 389 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 379 | Rev 381 | ||
---|---|---|---|
Line 15... | Line 15... | ||
15 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
15 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 16... | Line 16... | ||
16 | 16 | ||
17 | ; If you're planning to write your own video driver I suggest |
17 | ; If you're planning to write your own video driver I suggest |
Line 18... | Line 18... | ||
18 | ; you replace the VESA12.INC file and see those instructions. |
18 | ; you replace the VESA12.INC file and see those instructions. |
19 | 19 | ||
20 | ScreenWidth equ 0xfe00 |
20 | ;ScreenWidth equ 0xfe00 |
21 | ScreenHeight equ 0xfe04 |
21 | ;ScreenHeight equ 0xfe04 |
22 | BytesPerScanLine equ 0xfe08 |
22 | ;BytesPerScanLine equ 0xfe08 |
23 | LFBAddress equ 0xfe80 |
23 | ;LFBAddress equ 0xfe80 |
Line 24... | Line 24... | ||
24 | ScreenBPP equ 0xfbf1 |
24 | ;ScreenBPP equ 0xfbf1 |
25 | WinMapAddress equ 0x460000 |
25 | ;WinMapAddress equ 0x460000 |
Line 331... | Line 331... | ||
331 | call getpixel |
331 | call getpixel |
332 | not ecx |
332 | not ecx |
333 | mov [esp+32-8],ecx |
333 | mov [esp+32-8],ecx |
334 | .noneg: |
334 | .noneg: |
335 | ; OK to set pixel |
335 | ; OK to set pixel |
336 | call dword [0xe020] ; call the real put_pixel function |
336 | call dword [PUTPIXEL] ; call the real put_pixel function |
337 | .exit: |
337 | .exit: |
338 | popad |
338 | popad |
Line 339... | Line 339... | ||
339 | 339 | ||
Line 928... | Line 928... | ||
928 | mov eax,edx ; eax:=Rem |
928 | mov eax,edx ; eax:=Rem |
929 | xor edx,edx ; |
929 | xor edx,edx ; |
930 | mov ebx,[esp+8] ; ebx:=B*3 |
930 | mov ebx,[esp+8] ; ebx:=B*3 |
931 | mul ebx ; |
931 | mul ebx ; |
932 | add esi,eax ; |
932 | add esi,eax ; |
933 | mov eax,[esi+0x300000] |
933 | mov eax,[esi+IMG_BACKGROUND] |
934 | and eax,0xffffff |
934 | and eax,0xffffff |
Line 935... | Line 935... | ||
935 | 935 | ||
936 | xchg edi, ebp |
936 | xchg edi, ebp |
937 | stosw |
937 | stosw |
Line 1064... | Line 1064... | ||
1064 | div ebx |
1064 | div ebx |
1065 | shl ecx,16 |
1065 | shl ecx,16 |
1066 | mov cx,dx |
1066 | mov cx,dx |
1067 | imul eax, [esp+8] ;8 |
1067 | imul eax, [esp+8] ;8 |
1068 | add esi,eax |
1068 | add esi,eax |
1069 | mov eax,[esi+0x300000] |
1069 | mov eax,[esi+IMG_BACKGROUND] |
1070 | push eax |
1070 | push eax |
1071 | ror ecx,16 |
1071 | ror ecx,16 |
1072 | xor eax,eax |
1072 | xor eax,eax |
1073 | mov ax,cx |
1073 | mov ax,cx |
1074 | shl eax,1 ; óìíîæåíèå íà 2 |
1074 | shl eax,1 ; óìíîæåíèå íà 2 |
Line 1077... | Line 1077... | ||
1077 | mov ebx,[ScreenWidth] |
1077 | mov ebx,[ScreenWidth] |
1078 | div ebx |
1078 | div ebx |
1079 | cmp eax,5 |
1079 | cmp eax,5 |
1080 | pop eax |
1080 | pop eax |
1081 | jb @f |
1081 | jb @f |
1082 | mov ebx,[esi+0x300000+3] |
1082 | mov ebx,[esi+IMG_BACKGROUND+3] |
1083 | call overlapping_of_points |
1083 | call overlapping_of_points |
1084 | @@: |
1084 | @@: |
1085 | push eax |
1085 | push eax |
1086 | ror ecx,16 |
1086 | ror ecx,16 |
1087 | xor eax,eax |
1087 | xor eax,eax |
Line 1095... | Line 1095... | ||
1095 | pop eax |
1095 | pop eax |
1096 | jb @f |
1096 | jb @f |
1097 | mov ebx,[display_data-8] |
1097 | mov ebx,[display_data-8] |
1098 | shl ebx,1 |
1098 | shl ebx,1 |
1099 | add ebx,[display_data-8] |
1099 | add ebx,[display_data-8] |
1100 | add ebx,0x300000 |
1100 | add ebx,IMG_BACKGROUND |
1101 | add ebx,esi |
1101 | add ebx,esi |
1102 | mov ebx,[ebx] |
1102 | mov ebx,[ebx] |
1103 | call overlapping_of_points |
1103 | call overlapping_of_points |
1104 | @@: |
1104 | @@: |
1105 | and eax,0xffffff |
1105 | and eax,0xffffff |