/kernel/branches/Kolibri-acpi/core/taskman.inc |
---|
1187,9 → 1187,9 |
xor eax, eax |
mov [ecx+0], dword eax |
mov [ecx+4], dword eax |
mov eax, [Screen_Max_X] |
mov eax, [_display.width] |
mov [ecx+8], eax |
mov eax, [Screen_Max_Y] |
mov eax, [_display.height] |
mov [ecx+12], eax |
mov ebx, [pl0_stack] |
/kernel/branches/Kolibri-acpi/data32.inc |
---|
379,8 → 379,6 |
_WinMapSize rd 1 |
LFBAddress rd 1 |
Screen_Max_X rd 1 |
Screen_Max_Y rd 1 |
SCR_MODE rw 2 |
/kernel/branches/Kolibri-acpi/gui/mouse.inc |
---|
394,9 → 394,9 |
mov [mouse.active_sys_window.new_box.left], eax |
@@: |
add eax, [mouse.active_sys_window.new_box.width] |
cmp eax, [Screen_Max_X] |
cmp eax, [_display.width] |
jl @f |
sub eax, [Screen_Max_X] |
sub eax, [_display.width] |
sub [mouse.active_sys_window.new_box.left], eax |
@@: |
mov eax, [mouse.active_sys_window.new_box.top] |
406,9 → 406,9 |
mov [mouse.active_sys_window.new_box.top], eax |
@@: |
add eax, [mouse.active_sys_window.new_box.height] |
cmp eax, [Screen_Max_Y] |
cmp eax, [_display.height] |
jle .call_window_handler |
sub eax, [Screen_Max_Y] |
sub eax, [_display.height] |
sub [mouse.active_sys_window.new_box.top], eax |
jmp .call_window_handler |
458,14 → 458,14 |
mov [mouse.active_sys_window.new_box.height], eax |
@@: |
add eax, [mouse.active_sys_window.new_box.top] |
cmp eax, [Screen_Max_Y] |
jle .check_resize_e |
sub eax, [Screen_Max_Y] |
cmp eax, [_display.height] |
jl .check_resize_e |
sub eax, [_display.height] |
neg eax |
add [mouse.active_sys_window.new_box.height], eax |
mov ecx, [Screen_Max_Y] |
mov ecx, [_display.height] |
cmp ecx, eax |
jge .check_resize_e |
jg .check_resize_e |
mov [mouse.active_sys_window.new_box.height], ecx |
.check_resize_e: |
484,14 → 484,14 |
mov [mouse.active_sys_window.new_box.width], eax |
@@: |
add eax, [mouse.active_sys_window.new_box.left] |
cmp eax, [Screen_Max_X] |
jle .call_window_handler |
sub eax, [Screen_Max_X] |
cmp eax, [_display.width] |
jl .call_window_handler |
sub eax, [_display.height] |
neg eax |
add [mouse.active_sys_window.new_box.width], eax |
mov ecx, [Screen_Max_X] |
mov ecx, [_display.height] |
cmp ecx, eax |
jge .call_window_handler |
jg .call_window_handler |
mov [mouse.active_sys_window.new_box.width], ecx |
.call_window_handler: |
523,9 → 523,6 |
;< esi = process slot |
;< edi = pointer to WDATA struct |
;------------------------------------------------------------------------------ |
; mov esi, [Screen_Max_X] |
; inc esi |
; imul esi, [mouse.state.pos.y] |
mov esi, [mouse.state.pos.y] |
mov esi, [d_width_calc_area + esi*4] |
/kernel/branches/Kolibri-acpi/gui/window.inc |
---|
209,7 → 209,7 |
syscall_display_settings.06: |
xor esi, esi |
mov edi, [Screen_Max_X] |
mov edi, [_display.width] |
mov eax, ecx |
movsx ebx, ax |
sar eax, 16 |
233,7 → 233,7 |
;-------------------------------------- |
align 4 |
.check_horizontal: |
mov edi, [Screen_Max_Y] |
mov edi, [_display.height] |
mov eax, edx |
movsx ebx, ax |
sar eax, 16 |
294,8 → 294,8 |
syscall_display_settings._.calculate_whole_screen: |
xor eax, eax |
xor ebx, ebx |
mov ecx, [Screen_Max_X] |
mov edx, [Screen_Max_Y] |
mov ecx, [_display.width] |
mov edx, [_display.height] |
jmp calculatescreen |
;------------------------------------------------------------------------------ |
align 4 |
303,9 → 303,11 |
xor eax, eax |
mov [draw_limits.left], eax |
mov [draw_limits.top], eax |
mov eax, [Screen_Max_X] |
mov eax, [_display.width] |
dec eax |
mov [draw_limits.right], eax |
mov eax, [Screen_Max_Y] |
mov eax, [_display.height] |
dec eax |
mov [draw_limits.bottom], eax |
mov eax, window_data |
jmp redrawscreen |
584,9 → 586,9 |
mov eax, [edi + WDATA.box.left] |
add eax, [edi + WDATA.box.width] |
mov ebx, [Screen_Max_X] |
mov ebx, [_display.width] |
cmp eax, ebx |
jle .fix_vertical |
jl .fix_vertical |
mov eax, [edi + WDATA.box.width] |
sub eax, ebx |
jle @f |
601,9 → 603,9 |
.fix_vertical: |
mov eax, [edi + WDATA.box.top] |
add eax, [edi + WDATA.box.height] |
mov ebx, [Screen_Max_Y] |
mov ebx, [_display.height] |
cmp eax, ebx |
jle .fix_client_box |
jl .fix_client_box |
mov eax, [edi + WDATA.box.height] |
sub eax, ebx |
jle @f |
1716,9 → 1718,9 |
mov ecx, [edi + WDATA.box.width] |
mov edx, [edi + WDATA.box.height] |
mov esi, [Screen_Max_X] |
mov esi, [_display.width] |
cmp ecx, esi |
ja .fix_width_high |
jae .fix_width_high |
;-------------------------------------- |
align 4 |
.check_left: |
1730,9 → 1732,9 |
;-------------------------------------- |
align 4 |
.check_height: |
mov esi, [Screen_Max_Y] |
mov esi, [_display.height] |
cmp edx, esi |
ja .fix_height_high |
jae .fix_height_high |
;-------------------------------------- |
align 4 |
.check_top: |
1881,11 → 1883,7 |
; get WinMap start |
push esi |
; mov edi, [Screen_Max_X] |
; inc edi |
; mov esi, edi |
mov esi, [Screen_Max_X] |
inc esi |
mov esi, [_display.width] |
; imul edi, ebx |
mov edi, [d_width_calc_area + ebx*4] |
1929,9 → 1927,6 |
; get WinMap start -> ebp |
push eax |
; mov eax, [Screen_Max_X] ; screen_sx |
; inc eax |
; imul eax, ebx |
mov eax, [d_width_calc_area + ebx*4] |
add eax, [esp] |
1998,7 → 1993,7 |
sub ebp, [ff_xsz] |
add ebp, [ff_x] |
add ebp, [Screen_Max_X] ; screen.x |
add ebp, [_display.width] ; screen.x |
inc ebp |
inc ebx |
cmp ebx, [ff_ysz] |
/kernel/branches/Kolibri-acpi/hid/mousedrv.inc |
---|
111,9 → 111,6 |
push eax |
push ebx |
; mov ecx, [Screen_Max_X] |
; inc ecx |
; mul ecx |
mov eax, [d_width_calc_area + eax*4] |
add eax, [_WinMapAddress] |
494,9 → 491,10 |
;-------------------------------------- |
align 4 |
@@M1: |
cmp ax, word [Screen_Max_X];ScreenLength |
cmp ax, word [_display.width] |
jl @@M2 |
mov ax, word [Screen_Max_X];ScreenLength-1 |
mov ax, word [_display.width] |
dec ax |
;-------------------------------------- |
align 4 |
@@M2: |
514,9 → 512,10 |
;-------------------------------------- |
align 4 |
@@M3: |
cmp ax, word [Screen_Max_Y];ScreenHeigth |
cmp ax, word [_display.height] |
jl @@M4 |
mov ax, word [Screen_Max_Y];ScreenHeigth-1 |
mov ax, word [_display.height] |
dec ax |
;-------------------------------------- |
align 4 |
@@M4: |
/kernel/branches/Kolibri-acpi/kernel.asm |
---|
486,13 → 486,11 |
mov [_display.width], eax |
mov [display_width_standard], eax |
dec eax |
mov [Screen_Max_X], eax |
mov [screen_workarea.right], eax |
movzx eax, word [BOOT_VARS+BOOT_Y_RES]; Y max |
mov [_display.height], eax |
mov [display_height_standard], eax |
dec eax |
mov [Screen_Max_Y], eax |
mov [screen_workarea.bottom], eax |
movzx eax, word [BOOT_VARS+BOOT_VESA_MODE] ; screen mode |
mov dword [SCR_MODE], eax |
2191,9 → 2189,6 |
movzx eax, word [MOUSE_Y] |
movzx ebx, word [MOUSE_X] |
; mov ecx, [Screen_Max_X] |
; inc ecx |
; mul ecx |
mov eax, [d_width_calc_area + eax*4] |
add eax, [_WinMapAddress] |
2500,10 → 2495,10 |
;* mouse centered - start code- Mario79 |
;mouse_centered: |
; push eax |
mov eax, [Screen_Max_X] |
mov eax, [_display.width] |
shr eax, 1 |
mov [MOUSE_X], ax |
mov eax, [Screen_Max_Y] |
mov eax, [_display.height] |
shr eax, 1 |
mov [MOUSE_Y], ax |
call wakeup_osloop |
2545,11 → 2540,11 |
; cmp ecx,4 ; set mouse pointer position |
dec ecx |
jnz .set_mouse_button |
cmp dx, word[Screen_Max_Y] |
ja .end |
cmp dx, word[_display.width] |
jae .end |
rol edx, 16 |
cmp dx, word[Screen_Max_X] |
ja .end |
cmp dx, word[_display.height] |
jae .end |
mov [MOUSE_X], edx |
call wakeup_osloop |
ret |
2636,9 → 2631,7 |
mov eax, ecx |
mov ecx, [_display.pitch] |
mov [_display.width], eax |
dec eax |
mov [_display.height], edx |
dec edx |
; eax - new Screen_Max_X |
; edx - new Screen_Max_Y |
mov [do_not_touch_winmap], 1 |
2975,22 → 2968,22 |
jnz nosb9 |
; ecx = [left]*65536 + [right] |
; edx = [top]*65536 + [bottom] |
mov eax, [Screen_Max_X] |
mov ebx, [Screen_Max_Y] |
mov eax, [_display.width] |
mov ebx, [_display.height] |
; check [right] |
cmp cx, ax |
ja .exit |
jae .exit |
; check [left] |
ror ecx, 16 |
cmp cx, ax |
ja .exit |
jae .exit |
; check [bottom] |
cmp dx, bx |
ja .exit |
jae .exit |
; check [top] |
ror edx, 16 |
cmp dx, bx |
ja .exit |
jae .exit |
movzx eax, cx ; [left] |
movzx ebx, dx ; [top] |
3028,8 → 3021,8 |
and [draw_data+32 + RECT.left], 0 |
and [draw_data+32 + RECT.top], 0 |
push eax ebx |
mov eax, [Screen_Max_X] |
mov ebx, [Screen_Max_Y] |
mov eax, [_display.width] |
mov ebx, [_display.height] |
mov [draw_data+32 + RECT.right], eax |
mov [draw_data+32 + RECT.bottom], ebx |
pop ebx eax |
3385,9 → 3378,9 |
add edx, draw_data - CURRENT_TASK |
mov [edx + RECT.left], 0 |
mov [edx + RECT.top], 0 |
mov eax, [Screen_Max_X] |
mov eax, [_display.width] |
mov [edx + RECT.right], eax |
mov eax, [Screen_Max_Y] |
mov eax, [_display.height] |
mov [edx + RECT.bottom], eax |
srl1: |
3518,26 → 3511,6 |
;--------------------------------------------------------------------------------------------- |
; check if pixel is allowed to be drawn |
;checkpixel: |
; push eax edx |
;; mov edx, [Screen_Max_X] ; screen x size |
;; inc edx |
;; imul edx, ebx |
; mov edx, [d_width_calc_area + ebx*4] |
; add eax, [_WinMapAddress] |
; mov dl, [eax+edx]; lea eax, [...] |
; xor ecx, ecx |
; mov eax, [CURRENT_TASK] |
; cmp al, dl |
; setne cl |
; pop edx eax |
; ret |
iglobal |
cpustring db 'CPU',0 |
endg |
4974,9 → 4947,9 |
jnz @f |
mov word [msg_board_pos+2], (42*6) |
add word [msg_board_pos], 10 |
mov ax, word [Screen_Max_Y] |
mov ax, word [_display.height] |
cmp word [msg_board_pos], ax |
jbe @f |
jb @f |
mov word [msg_board_pos], 10 |
@@: |
; // end if |
5193,9 → 5166,9 |
.1: ; resolution |
mov eax, [Screen_Max_X] |
mov eax, [_display.width] |
shl eax, 16 |
mov ax, word [Screen_Max_Y] |
mov ax, word [_display.height] |
add eax, 0x00010001 |
mov [esp+32], eax |
ret |
5281,9 → 5254,9 |
align 4 |
syscall_getscreensize: ; GetScreenSize |
mov ax, word [Screen_Max_X] |
mov ax, word [_display.width] |
shl eax, 16 |
mov ax, word [Screen_Max_Y] |
mov ax, word [_display.height] |
mov [esp + 32], eax |
ret |
5349,10 → 5322,10 |
;----------------------------------------------------------------------------- |
align 4 |
syscall_getpixel_WinMap: ; GetPixel WinMap |
cmp ebx, [Screen_Max_X] |
jbe @f |
cmp ecx, [Screen_Max_Y] |
jbe @f |
cmp ebx, [_display.width] |
jb @f |
cmp ecx, [_display.height] |
jb @f |
xor eax, eax |
jmp .store |
;-------------------------------------- |
5369,8 → 5342,7 |
;----------------------------------------------------------------------------- |
align 4 |
syscall_getpixel: ; GetPixel |
mov ecx, [Screen_Max_X] |
inc ecx |
mov ecx, [_display.width] |
xor edx, edx |
mov eax, ebx |
div ecx |
5615,8 → 5587,6 |
pushfd |
cli |
mov [Screen_Max_X], eax |
mov [Screen_Max_Y], edx |
mov [_display.pitch], ecx |
mov [screen_workarea.right], eax |
5658,8 → 5628,8 |
call repos_windows |
xor eax, eax |
xor ebx, ebx |
mov ecx, [Screen_Max_X] |
mov edx, [Screen_Max_Y] |
mov ecx, [_display.width] |
mov edx, [_display.height] |
call calculatescreen |
pop edi |
pop esi |
/kernel/branches/Kolibri-acpi/video/cursors.inc |
---|
618,15 → 618,17 |
add edx, eax |
mov [cur_saved_base], edx |
cmp ebx, [Screen_Max_X] |
jbe @F |
mov ebx, [Screen_Max_X] |
cmp ebx, [_display.width] |
jb @F |
mov ebx, [_display.width] |
dec ebx |
;-------------------------------------- |
align 4 |
@@: |
cmp edi, [Screen_Max_Y] |
jbe @F |
mov edi, [Screen_Max_Y] |
cmp edi, [_display.height] |
jb @F |
mov edi, [_display.height] |
dec edi |
;-------------------------------------- |
align 4 |
@@: |
736,15 → 738,17 |
lea edx, [LFB_BASE+eax+ecx*4] |
mov [cur_saved_base], edx |
cmp ebx, [Screen_Max_X] |
jbe @F |
mov ebx, [Screen_Max_X] |
cmp ebx, [_display.width] |
jb @F |
mov ebx, [_display.width] |
dec ebx |
;-------------------------------------- |
align 4 |
@@: |
cmp edi, [Screen_Max_Y] |
jbe @F |
mov edi, [Screen_Max_Y] |
cmp edi, [_display.height] |
jb @F |
mov edi, [_display.height] |
dec edi |
;-------------------------------------- |
align 4 |
@@: |
/kernel/branches/Kolibri-acpi/video/vesa20.inc |
---|
23,14 → 23,7 |
; If you're planning to write your own video driver I suggest |
; you replace the VESA12.INC file and see those instructions. |
;Screen_Max_X equ 0xfe00 |
;Screen_Max_Y equ 0xfe04 |
;BytesPerScanLine equ 0xfe08 |
;LFBAddress equ 0xfe80 |
;ScreenBPP equ 0xfbf1 |
;----------------------------------------------------------------------------- |
; getpixel |
; |
225,8 → 218,7 |
add eax, [putimg.arg_0] |
mov [putimg.line_increment], eax |
; winmap new line increment |
mov eax, [Screen_Max_X] |
inc eax |
mov eax, [_display.width] |
sub eax, [putimg.real_sx] |
mov [putimg.winmap_newline], eax |
; screen new line increment |
249,8 → 241,6 |
add edx, eax |
; pointer to pixel map |
mov eax, [putimg.abs_cy] |
; imul eax, [Screen_Max_X] |
; add eax, [putimg.abs_cy] |
mov eax, [d_width_calc_area + eax*4] |
add eax, [putimg.abs_cx] |
695,12 → 685,11 |
; for example drawwindow_III and drawwindow_IV |
; edi = 0x00000001 force |
;;; mov [novesachecksum], dword 0 |
pushad |
cmp [Screen_Max_X], eax |
jb .exit |
cmp [Screen_Max_Y], ebx |
jb .exit |
cmp eax, [_display.width] |
jae .exit |
cmp ebx, [_display.height] |
jae .exit |
test edi, 1 ; force ? |
jnz .forced |
889,9 → 878,6 |
;----------------------------------------------------------------------------- |
align 4 |
calculate_edi: |
; mov edi, ebx |
; imul edi, [Screen_Max_X] |
; add edi, ebx |
mov edi, [d_width_calc_area + ebx*4] |
add edi, eax |
ret |
1223,9 → 1209,8 |
.end_y: |
mov [drbar.real_sy], ebx |
; line_inc_map |
mov eax, [Screen_Max_X] |
mov eax, [_display.width] |
sub eax, [drbar.real_sx] |
inc eax |
mov [drbar.line_inc_map], eax |
; line_inc_scr |
mov eax, [drbar.real_sx] |
1244,8 → 1229,6 |
add edx, eax |
; pointer to pixel map |
mov eax, [drbar.abs_cy] |
; imul eax, [Screen_Max_X] |
; add eax, [drbar.abs_cy] |
mov eax, [d_width_calc_area + eax*4] |
add eax, [drbar.abs_cx] |
1769,23 → 1752,21 |
vesa20_drawbackground_stretch: |
pushad |
; Helper variables |
; calculate 2^32*(BgrDataWidth-1) mod (ScreenWidth-1) |
; calculate 2^32*(BgrDataWidth) mod (ScreenWidth) |
mov eax, [BgrDataWidth] |
dec eax |
xor edx, edx |
div dword [Screen_Max_X] |
div dword [_display.width] |
push eax ; high |
xor eax, eax |
div dword [Screen_Max_X] |
div dword [_display.width] |
push eax ; low |
; the same for height |
mov eax, [BgrDataHeight] |
dec eax |
xor edx, edx |
div dword [Screen_Max_Y] |
div dword [_display.height] |
push eax ; high |
xor eax, eax |
div dword [Screen_Max_Y] |
div dword [_display.height] |
push eax ; low |
; External loop for all y from start to end |
mov ebx, [draw_data+32+RECT.top] ; y start |
1939,8 → 1920,7 |
; advance edi, ebp to next scan line |
sub eax, [draw_data+32+RECT.left] |
sub ebp, eax |
add ebp, [Screen_Max_X] |
add ebp, 1 |
add ebp, [_display.width] |
sub edi, eax |
sub edi, eax |
sub edi, eax |
1971,7 → 1951,7 |
push edi |
mov esi, bgr_next_line |
mov edi, bgr_cur_line |
mov ecx, [Screen_Max_X] |
mov ecx, [_display.width] |
inc ecx |
rep movsd |
jmp bgr_resmooth1 |