Subversion Repositories Kolibri OS

Rev

Rev 421 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 421 Rev 427
Line 422... Line 422...
422
        mov     [graph_data_l+2],ax
422
        mov     [graph_data_l+2],ax
423
        shr     eax,16
423
        shr     eax,16
424
        mov     [graph_data_l+4],al
424
        mov     [graph_data_l+4],al
425
        mov     [graph_data_l+7],ah
425
        mov     [graph_data_l+7],ah
Line -... Line 426...
-
 
426
 
-
 
427
 
-
 
428
        mov   [CURRENT_TASK],dword 1
-
 
429
        mov   [TASK_COUNT],dword 1
-
 
430
        mov   [TASK_BASE],dword TASK_DATA
-
 
431
        mov [current_slot], SLOT_BASE+256
426
 
432
 
427
;!!!!!!!!!!!!!!!!!!!!!!!!!!
433
;!!!!!!!!!!!!!!!!!!!!!!!!!!
428
include 'detect/disks.inc'
434
include 'detect/disks.inc'
Line 429... Line 435...
429
;!!!!!!!!!!!!!!!!!!!!!!!!!!
435
;!!!!!!!!!!!!!!!!!!!!!!!!!!
Line 444... Line 450...
444
include 'vmodeld.inc'
450
include 'vmodeld.inc'
445
;!!!!!!!!!!!!!!!!!!!!!!!
451
;!!!!!!!!!!!!!!!!!!!!!!!
Line 446... Line 452...
446
 
452
 
Line 447... Line -...
447
; LOAD FONTS I and II
-
 
448
 
-
 
449
        mov   [CURRENT_TASK],dword 1
-
 
450
        mov   [TASK_COUNT],dword 1
-
 
451
        mov   [TASK_BASE],dword TASK_DATA
453
; LOAD FONTS I and II
452
 
454
 
453
        mov   esi,char
455
        mov   esi,char
454
        xor   ebx,ebx
456
        xor   ebx,ebx
455
        mov   ecx,2560
457
        mov   ecx,2560
Line 575... Line 577...
575
        mov  dword [SLOT_BASE+256+APPDATA.bk_obj], ebx
577
        mov  dword [SLOT_BASE+256+APPDATA.bk_obj], ebx
Line 576... Line 578...
576
 
578
 
577
        ; task list
579
        ; task list
578
        mov   [CURRENT_TASK],dword 1
580
        mov   [CURRENT_TASK],dword 1
-
 
581
        mov   [TASK_COUNT],dword 1
579
        mov   [TASK_COUNT],dword 1
582
        mov [current_slot], SLOT_BASE+256
580
        mov  [TASK_DATA+TASKDATA.wnd_number], 1 ; on screen number
583
        mov  [TASK_DATA+TASKDATA.wnd_number], 1 ; on screen number
581
        mov  [TASK_DATA+TASKDATA.pid], 1        ; process id number
584
        mov  [TASK_DATA+TASKDATA.pid], 1        ; process id number
Line 582... Line 585...
582
        mov  [TASK_DATA+TASKDATA.mem_start], 0  ; process base address
585
        mov  [TASK_DATA+TASKDATA.mem_start], 0  ; process base address
Line 3984... Line 3987...
3984
     test  ecx,0xFFFF0000
3987
     test  ecx,0xFFFF0000
3985
     jnz   @f
3988
     jnz   @f
3986
  .exit:
3989
  .exit:
3987
     ret
3990
     ret
3988
 @@:
3991
 @@:
3989
        mov     edi,[CURRENT_TASK]
3992
        mov     edi,[current_slot]
3990
        shl     edi,8
-
 
3991
        add     dx,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.top]
3993
        add     dx,word[edi+APPDATA.wnd_clientbox.top]
3992
        rol     edx,16
3994
        rol     edx,16
3993
        add     dx,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.left]
3995
        add     dx,word[edi+APPDATA.wnd_clientbox.left]
3994
        rol     edx,16
3996
        rol     edx,16
3995
  .forced:
3997
  .forced:
3996
        push    ebp esi 0
3998
        push    ebp esi 0
3997
        mov     ebp, putimage_get24bpp
3999
        mov     ebp, putimage_get24bpp
3998
        mov     esi, putimage_init24bpp
4000
        mov     esi, putimage_init24bpp
Line 4087... Line 4089...
4087
; ecx x end
4089
; ecx x end
4088
	; edx y end
4090
	; edx y end
4089
; edi color
4091
; edi color
Line 4090... Line 4092...
4090
 
4092
 
4091
__sys_drawbar:
4093
__sys_drawbar:
4092
        mov     esi,[CURRENT_TASK]
-
 
4093
        shl     esi,8
4094
        mov     esi,[current_slot]
4094
        add     eax,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left]
4095
        add     eax,[esi+APPDATA.wnd_clientbox.left]
4095
        add     ecx,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left]
4096
        add     ecx,[esi+APPDATA.wnd_clientbox.left]
4096
        add     ebx,[esi+SLOT_BASE+APPDATA.wnd_clientbox.top]
4097
        add     ebx,[esi+APPDATA.wnd_clientbox.top]
4097
        add     edx,[esi+SLOT_BASE+APPDATA.wnd_clientbox.top]
4098
        add     edx,[esi+APPDATA.wnd_clientbox.top]
4098
  .forced:
4099
  .forced:
4099
    inc   [mouse_pause]
4100
    inc   [mouse_pause]
4100
;        call    [disable_mouse]
4101
;        call    [disable_mouse]
4101
    cmp   [SCR_MODE],word 0x12
4102
    cmp   [SCR_MODE],word 0x12
Line 4621... Line 4622...
4621
 
4622
 
4622
 
4623
 
4623
     mov   edx,[TASK_BASE]
4624
     mov   edx,[TASK_BASE]
4624
     add   eax,[edx-twdw+WDATA.box.left]
4625
     add   eax,[edx-twdw+WDATA.box.left]
4625
     add   ebx,[edx-twdw+WDATA.box.top]
-
 
4626
        mov     edi,[CURRENT_TASK]
4626
     add   ebx,[edx-twdw+WDATA.box.top]
4627
        shl     edi,8
4627
        mov     edi,[current_slot]
4628
        add     eax,[edi+SLOT_BASE+APPDATA.wnd_clientbox.left]
4628
        add     eax,[edi+APPDATA.wnd_clientbox.left]
4629
        add     ebx,[edi+SLOT_BASE+APPDATA.wnd_clientbox.top]
4629
        add     ebx,[edi+APPDATA.wnd_clientbox.top]
4630
     xor   edi,edi ; no force
4630
     xor   edi,edi ; no force
4631
;     mov   edi,1
4631
;     mov   edi,1
Line 4637... Line 4637...
4637
syscall_writetext:                      ; WriteText
4637
syscall_writetext:                      ; WriteText
Line 4638... Line 4638...
4638
 
4638
 
4639
     mov   edi,[TASK_BASE]
4639
        mov   edi,[TASK_BASE]
4640
     mov   ebp,[edi-twdw+WDATA.box.left]
4640
        mov   ebp,[edi-twdw+WDATA.box.left]
4641
        push    esi
4641
        push  esi
4642
        mov     esi,[CURRENT_TASK]
-
 
4643
        shl     esi,8
4642
        mov   esi,[current_slot]
4644
        add     ebp,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left]
4643
        add   ebp,[esi+APPDATA.wnd_clientbox.left]
4645
     shl   ebp,16
4644
        shl   ebp,16
4646
     add   ebp,[edi-twdw+WDATA.box.top]
4645
        add   ebp,[edi-twdw+WDATA.box.top]
4647
        add     bp,word[esi+SLOT_BASE+APPDATA.wnd_clientbox.top]
4646
        add   bp,word[esi+APPDATA.wnd_clientbox.top]
4648
        pop     esi
4647
        pop   esi
4649
     add   ecx,[edi+TASKDATA.mem_start]
4648
        add   ecx,[edi+TASKDATA.mem_start]
4650
     add   eax,ebp
4649
        add   eax,ebp
4651
     xor   edi,edi
4650
        xor   edi,edi
Line 4677... Line 4676...
4677
     je    drectr
4676
     je    drectr
4678
     movzx ecx,ax
4677
     movzx ecx,ax
4679
     shr   eax,16
4678
     shr   eax,16
4680
     movzx edx,bx
4679
     movzx edx,bx
4681
     shr   ebx,16
4680
     shr   ebx,16
4682
        mov     esi,[CURRENT_TASK]
4681
        mov     esi,[current_slot]
4683
        shl     esi,8
-
 
4684
        add     eax,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left]
4682
        add     eax,[esi+APPDATA.wnd_clientbox.left]
4685
        add     ebx,[esi+SLOT_BASE+APPDATA.wnd_clientbox.top]
4683
        add     ebx,[esi+APPDATA.wnd_clientbox.top]
4686
     add   ecx,eax
4684
     add   ecx,eax
4687
     add   edx,ebx
4685
     add   edx,ebx
4688
     jmp   [drawbar]
4686
     jmp   [drawbar]
4689
    drectr:
4687
    drectr:
4690
     ret
4688
     ret
Line 4759... Line 4757...
4759
syscall_drawline:                       ; DrawLine
4757
syscall_drawline:                       ; DrawLine
Line 4760... Line 4758...
4760
 
4758
 
4761
     mov   edi,[TASK_BASE]
4759
     mov   edi,[TASK_BASE]
4762
     movzx edx,word[edi-twdw+WDATA.box.left]
4760
     movzx edx,word[edi-twdw+WDATA.box.left]
4763
     mov   ebp,edx
4761
     mov   ebp,edx
4764
        mov     esi,[CURRENT_TASK]
-
 
4765
        shl     esi,8
4762
        mov     esi,[current_slot]
4766
        add     ebp,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left]
4763
        add     ebp,[esi+APPDATA.wnd_clientbox.left]
4767
        add     dx,word[esi+SLOT_BASE+APPDATA.wnd_clientbox.left]
4764
        add     dx,word[esi+APPDATA.wnd_clientbox.left]
4768
     shl   edx,16
4765
     shl   edx,16
4769
     add   ebp,edx
4766
     add   ebp,edx
4770
     movzx edx,word[edi-twdw+WDATA.box.top]
4767
     movzx edx,word[edi-twdw+WDATA.box.top]
4771
     add   eax,ebp
4768
     add   eax,ebp
4772
     mov   ebp,edx
4769
     mov   ebp,edx
4773
        add     ebp,[esi+SLOT_BASE+APPDATA.wnd_clientbox.top]
4770
        add     ebp,[esi+APPDATA.wnd_clientbox.top]
4774
        add     dx,word[esi+SLOT_BASE+APPDATA.wnd_clientbox.top]
4771
        add     dx,word[esi+APPDATA.wnd_clientbox.top]
4775
     shl   edx,16
4772
     shl   edx,16
4776
     xor   edi,edi
4773
     xor   edi,edi
4777
     add   edx,ebp
4774
     add   edx,ebp
4778
     add   ebx,edx
4775
     add   ebx,edx