Rev 2 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2 | Rev 49 | ||
---|---|---|---|
Line 6... | Line 6... | ||
6 | ; Author: Trans |
6 | ; Author: Trans |
7 | ; Date: 19.07.2003 |
7 | ; Date: 19.07.2003 |
8 | ; |
8 | ; |
9 | ; Include in MeOS kernel and compile with FASM |
9 | ; Include in MeOS kernel and compile with FASM |
10 | ; |
10 | ; |
- | 11 | ||
- | 12 | uglobal |
|
- | 13 | old_screen_width dd ? |
|
- | 14 | old_screen_height dd ? |
|
- | 15 | endg |
|
- | 16 | ||
11 | cmp eax,13 ; CALL VIDEOMODE DRIVER FUNCTIONS |
17 | cmp eax,13 ; CALL VIDEOMODE DRIVER FUNCTIONS |
12 | jne .no_vmode_drv_access |
18 | jne .no_vmode_drv_access |
- | 19 | pushd [0x0000fe00] [0x0000fe04] |
|
- | 20 | popd [old_screen_height] [old_screen_width] |
|
13 | or eax,-1 ; If driver is absent then eax does not change |
21 | or eax,-1 ; If driver is absent then eax does not change |
14 | call 0x760100 ; Entry point of video driver |
22 | call 0x760100 ; Entry point of video driver |
15 | mov [esp+36],eax |
23 | mov [esp+36],eax |
16 | mov [esp+24],ebx |
24 | mov [esp+24],ebx |
17 | mov [esp+32],ecx |
25 | mov [esp+32],ecx |
18 | ; mov [esp+28],edx |
26 | ; mov [esp+28],edx |
- | 27 | mov eax,[old_screen_width] |
|
- | 28 | mov ebx,[old_screen_height] |
|
- | 29 | sub eax,[0x0000fe00] |
|
- | 30 | jnz @f |
|
- | 31 | sub ebx,[0x0000fe04] |
|
- | 32 | jz .resolution_wasnt_changed |
|
- | 33 | jmp .lp1 |
|
- | 34 | @@: sub ebx,[0x0000fe04] |
|
- | 35 | .lp1: sub [screen_workarea.right],eax |
|
- | 36 | sub [screen_workarea.bottom],ebx |
|
- | 37 | ||
- | 38 | call repos_windows |
|
- | 39 | call calculatescreen |
|
- | 40 | ||
- | 41 | .resolution_wasnt_changed: |
|
19 | ret |
42 | ret |
20 | .no_vmode_drv_access: |
43 | .no_vmode_drv_access: |