Subversion Repositories Kolibri OS

Rev

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

Rev 281 Rev 283
Line 1363... Line 1363...
1363
     mov  word [mididp],bx
1363
     mov  word [mididp],bx
1364
     inc  bx
1364
     inc  bx
1365
     mov  word [midisp],bx
1365
     mov  word [midisp],bx
1366
     ret
1366
     ret
Line -... Line 1367...
-
 
1367
 
1367
 
1368
iglobal
-
 
1369
midi_base dw 0
Line 1368... Line 1370...
1368
midi_base dw 0
1370
endg
Line 1369... Line 1371...
1369
 
1371
 
1370
   nsyse1:
1372
   nsyse1:
Line 1499... Line 1501...
1499
    call  clear_hd_cache
1501
    call  clear_hd_cache
1500
    mov   [hd1_status],0        ; free
1502
    mov   [hd1_status],0        ; free
1501
   nosethd:
1503
   nosethd:
1502
     ret
1504
     ret
Line -... Line 1505...
-
 
1505
 
1503
 
1506
iglobal
-
 
1507
hd_base db 0
Line 1504... Line 1508...
1504
hd_base db 0
1508
endg
Line 1505... Line 1509...
1505
 
1509
 
1506
   nsyse7:
1510
   nsyse7:
Line 1665... Line 1669...
1665
     ret
1669
     ret
1666
   ngsyse12:
1670
   ngsyse12:
1667
     mov  [esp+36],dword 1
1671
     mov  [esp+36],dword 1
1668
     ret
1672
     ret
Line 1669... Line 1673...
1669
 
1673
 
1670
 
1674
iglobal
1671
align 4
1675
align 4
1672
mousefn dd msscreen, mswin, msbutton, msset
1676
mousefn dd msscreen, mswin, msbutton, msset
1673
        dd app_load_cursor
1677
        dd app_load_cursor
1674
        dd app_set_cursor
1678
        dd app_set_cursor
-
 
1679
        dd app_delete_cursor
Line 1675... Line 1680...
1675
        dd app_delete_cursor
1680
endg
Line 1676... Line 1681...
1676
 
1681
 
1677
readmousepos:
1682
readmousepos:
Line 3970... Line 3975...
3970
        add     dx,word[edi+0x80000+APPDATA.wnd_clientbox.top]
3975
        add     dx,word[edi+0x80000+APPDATA.wnd_clientbox.top]
3971
        rol     edx,16
3976
        rol     edx,16
3972
        add     dx,word[edi+0x80000+APPDATA.wnd_clientbox.left]
3977
        add     dx,word[edi+0x80000+APPDATA.wnd_clientbox.left]
3973
        rol     edx,16
3978
        rol     edx,16
3974
  .forced:
3979
  .forced:
-
 
3980
        push    esi ebp
-
 
3981
        mov     ebp, putimage_get24bpp
-
 
3982
        mov     esi, putimage_init24bpp
-
 
3983
sys_putimage_bpp:
-
 
3984
;        call    [disable_mouse] ; this will be done in xxx_putimage
3975
;        mov     eax, vga_putimage
3985
;        mov     eax, vga_putimage
3976
        cmp     [0xfe0c], word 0x12
3986
        cmp     [0xfe0c], word 0x12
3977
        jz      @f   ;.doit
3987
        jz      @f   ;.doit
3978
        mov     eax, vesa12_putimage
3988
        mov     eax, vesa12_putimage
3979
        cmp     [0xfe0c], word 0100000000000000b
3989
        cmp     [0xfe0c], word 0100000000000000b
Line 3984... Line 3994...
3984
        mov     eax, vesa20_putimage
3994
        mov     eax, vesa20_putimage
3985
.doit:
3995
.doit:
3986
        inc     [mouse_pause]
3996
        inc     [mouse_pause]
3987
        call    eax
3997
        call    eax
3988
        dec     [mouse_pause]
3998
        dec     [mouse_pause]
-
 
3999
        pop     ebp esi
3989
        jmp     [draw_pointer]
4000
        jmp     [draw_pointer]
Line -... Line 4001...
-
 
4001
 
-
 
4002
syscall_putimage_palette:
-
 
4003
        lea     edi, [esi+std_application_base_address]
-
 
4004
        mov     esi, edx
-
 
4005
        mov     edx, ecx
-
 
4006
        mov     ecx, ebx
-
 
4007
        lea     ebx, [eax+std_application_base_address]
-
 
4008
sys_putimage_palette:
-
 
4009
; ebx = pointer to image
-
 
4010
; ecx = [xsize]*65536 + [ysize]
-
 
4011
; edx = [xstart]*65536 + [ystart]
-
 
4012
; esi = number of bits per pixel, must be 8
-
 
4013
; edi = pointer to palette
-
 
4014
        mov     eax, [0x3000]
-
 
4015
        shl     eax, 8
-
 
4016
        add     dx, word [eax+0x80000+APPDATA.wnd_clientbox.top]
-
 
4017
        rol     edx, 16
-
 
4018
        add     dx, word [eax+0x80000+APPDATA.wnd_clientbox.left]
-
 
4019
        rol     edx, 16
-
 
4020
.forced:
-
 
4021
        push    esi ebp
-
 
4022
        mov     ebp, putimage_get8bpp
-
 
4023
        mov     esi, putimage_init8bpp
-
 
4024
        jmp     sys_putimage_bpp
-
 
4025
 
-
 
4026
putimage_init24bpp:
-
 
4027
        lea     eax, [eax*3]
-
 
4028
putimage_init8bpp:
-
 
4029
        ret
-
 
4030
 
-
 
4031
putimage_get24bpp:
-
 
4032
        mov     eax, [esi]
-
 
4033
        add     esi, 3
-
 
4034
        ret     4
-
 
4035
putimage_get8bpp:
-
 
4036
        movzx   eax, byte [esi]
-
 
4037
        push    edx
-
 
4038
        mov     edx, [esp+8]
-
 
4039
        mov     eax, [edx+eax*4]
-
 
4040
        pop     edx
-
 
4041
        inc     esi
-
 
4042
        ret     4
3990
 
4043
 
3991
; eax x beginning
4044
; eax x beginning
3992
; ebx y beginning
4045
; ebx y beginning
3993
; ecx x end
4046
; ecx x end
3994
; edx y end
4047
	; edx y end
Line 4001... Line 4054...
4001
        add     ecx,[esi+0x80000+APPDATA.wnd_clientbox.left]
4054
        add     ecx,[esi+0x80000+APPDATA.wnd_clientbox.left]
4002
        add     ebx,[esi+0x80000+APPDATA.wnd_clientbox.top]
4055
        add     ebx,[esi+0x80000+APPDATA.wnd_clientbox.top]
4003
        add     edx,[esi+0x80000+APPDATA.wnd_clientbox.top]
4056
        add     edx,[esi+0x80000+APPDATA.wnd_clientbox.top]
4004
  .forced:
4057
  .forced:
4005
    inc   [mouse_pause]
4058
    inc   [mouse_pause]
-
 
4059
;        call    [disable_mouse]
4006
    cmp   [0xfe0c],word 0x12
4060
    cmp   [0xfe0c],word 0x12
4007
    je   dbv20
4061
    je   dbv20
4008
   sdbv20:
4062
   sdbv20:
4009
    cmp  [0xfe0c],word 0100000000000000b
4063
    cmp  [0xfe0c],word 0100000000000000b
4010
    jge  dbv20
4064
    jge  dbv20