Subversion Repositories Kolibri OS

Rev

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

Rev 380 Rev 381
Line 359... Line 359...
359
 
359
 
360
     mov    esi,edi          ; 1
360
     mov    esi,edi          ; 1
361
     shl    esi,6            ; 1
361
     shl    esi,6            ; 1
362
     add    esi,irq00read    ; 1
362
     add    esi,irq00read    ; 1
363
     shl    edi,12           ; 1
363
     shl    edi,12           ; 1
364
     add    edi,0x2E0000
364
     add    edi,IRQ_SAVE
Line 365... Line 365...
365
     mov    ecx,16
365
     mov    ecx,16
Line 366... Line 366...
366
 
366
 
Line 459... Line 459...
459
 
459
 
Line 460... Line 460...
460
        pop  eax
460
        pop  eax
Line 461... Line -...
461
 
-
 
462
        ret
-
 
463
 
461
 
464
 
462
        ret
465
 
463
 
Line 466... Line 464...
466
sys_resize_app_memory:
464
sys_resize_app_memory:
Line 475... Line 473...
475
        ret
473
        ret
Line 476... Line 474...
476
 
474
 
477
.no_application_mem_resize:
475
.no_application_mem_resize:
Line 478... Line -...
478
        ret
-
 
479
 
-
 
480
if 0
-
 
481
get_app_params:
-
 
482
 
-
 
483
    push eax
-
 
484
 
-
 
485
    cmp  [0x90000+6],word '00'
-
 
486
    jne  no_00_header
-
 
487
 
-
 
488
    mov  eax,[0x90000+12]
-
 
489
    mov  [app_start],eax
-
 
490
    mov  eax,[0x90000+16]
-
 
491
    mov  [app_i_end],eax
-
 
492
    mov  eax,[0x90000+20]
-
 
493
    mov  [app_mem],eax
-
 
494
; \begin{diamond}[20.08.2006]
-
 
495
; sanity check (functions 19,58 load app_i_end bytes and that must
-
 
496
; fit in allocated memory to prevent kernel faults)
-
 
497
    cmp  eax,[app_i_end]
-
 
498
    jb   no_01_header
-
 
499
; \end{diamond}[20.08.2006]
-
 
500
    shr  eax,1
-
 
501
    sub  eax,0x10
-
 
502
    mov  [app_esp],eax
-
 
503
    mov  eax,[0x90000+24]
-
 
504
    mov  [app_i_param],eax
-
 
505
    mov  [app_i_icon],dword 0
-
 
506
 
-
 
507
    pop  eax
-
 
508
    clc
-
 
509
    ret
-
 
510
 
-
 
511
  no_00_header:
-
 
512
 
-
 
513
 
-
 
514
    cmp  [0x90000+6],word '01'
-
 
515
    jne  no_01_header
-
 
516
 
-
 
517
    mov  eax,[0x90000+12]
-
 
518
    mov  [app_start],eax
-
 
519
    mov  eax,[0x90000+16]
-
 
520
    mov  [app_i_end],eax
-
 
521
    mov  eax,[0x90000+20]
-
 
522
    mov  [app_mem],eax
-
 
523
; \begin{diamond}[20.08.2006]
-
 
524
    cmp  eax,[app_i_end]
-
 
525
    jb   no_01_header
-
 
526
; \end{diamond}[20.08.2006]
-
 
527
    mov  eax,[0x90000+24]
-
 
528
    mov  [app_esp],eax
-
 
529
    mov  eax,[0x90000+28]
-
 
530
    mov  [app_i_param],eax
-
 
531
    mov  eax,[0x90000+32]
-
 
532
    mov  [app_i_icon],eax
-
 
533
 
-
 
534
    pop  eax
-
 
535
    clc
-
 
536
    ret
-
 
537
 
-
 
538
   no_01_header:
-
 
539
 
-
 
540
    pop  eax
-
 
541
    stc
-
 
542
    ret
-
 
543
 
-
 
544
uglobal
-
 
545
;  new_process_place  dd  0x0
-
 
546
;  app_start    dd  0x0
-
 
547
;  app_i_end    dd  0x0
-
 
548
;  app_mem      dd  0x0
-
 
549
;  app_esp      dd  0x0
-
 
550
;  app_i_param  dd  0x0
-
 
551
;  app_i_icon   dd  0x0
-
 
552
;  app_mem_pos  dd  0x0
-
 
553
endg
-
 
554
 
-
 
555
end if
-
 
556
 
476
        ret
Line 557... Line 477...
557
 
477
 
558
sys_threads:
478
sys_threads:
559
 
479
 
Line 635... Line 555...
635
.no_SSE:
555
.no_SSE:
636
           fnclex
556
           fnclex
637
           frstor [eax]
557
           frstor [eax]
638
@@:
558
@@:
Line 639... Line 559...
639
 
559
 
640
    mov   [0xf400],byte 0           ; empty keyboard buffer
560
    mov   [KEY_COUNT],byte 0           ; empty keyboard buffer
Line 641... Line 561...
641
    mov   [0xf500],byte 0           ; empty button buffer
561
    mov   [BTN_COUNT],byte 0           ; empty button buffer
642
 
562
 
643
 
563
 
Line 675... Line 595...
675
        cmp     eax, hotkey_buffer+120*8
595
        cmp     eax, hotkey_buffer+120*8
676
        jb      .loop2
596
        jb      .loop2
Line 677... Line 597...
677
 
597
 
678
    mov   ecx,esi                 ; remove buttons
598
    mov   ecx,esi                 ; remove buttons
679
  bnewba2:
599
  bnewba2:
680
    mov   edi,[0xfe88]
600
    mov   edi,[BTN_ADDR]
681
    mov   eax,edi
601
    mov   eax,edi
682
    cld
602
    cld
683
    movzx ebx,word [edi]
603
    movzx ebx,word [edi]
684
    inc   bx
604
    inc   bx
Line 825... Line 745...
825
    add   edx,CURRENT_TASK
745
    add   edx,CURRENT_TASK
826
    mov   edx,[edx+TASKDATA.pid]
746
    mov   edx,[edx+TASKDATA.pid]
Line 827... Line 747...
827
 
747
 
Line 828... Line 748...
828
  rmpr0:
748
  rmpr0:
Line 829... Line 749...
829
 
749
 
830
    mov   esi,[0x2d0000]
750
    mov   esi,[RESERVED_PORTS]
Line 831... Line 751...
831
 
751
 
Line 832... Line 752...
832
    cmp   esi,0
752
    cmp   esi,0
833
    je    rmpr9
753
    je    rmpr9
834
 
754
 
Line 835... Line 755...
835
  rmpr3:
755
  rmpr3:
836
 
756
 
Line 837... Line 757...
837
    mov   edi,esi
757
    mov   edi,esi
Line 855... Line 775...
855
    mov   esi,edi
775
    mov   esi,edi
856
    add   esi,16
776
    add   esi,16
857
    cld
777
    cld
858
    rep   movsb
778
    rep   movsb
Line 859... Line 779...
859
 
779
 
Line 860... Line 780...
860
    dec   dword [0x2d0000]
780
    dec   dword [RESERVED_PORTS]
Line 861... Line 781...
861
 
781
 
Line 896... Line 816...
896
    call  calculatescreen
816
    call  calculatescreen
897
    xor   eax, eax
817
    xor   eax, eax
898
    xor   esi, esi
818
    xor   esi, esi
899
    call  redrawscreen
819
    call  redrawscreen
Line 900... Line 820...
900
 
820
 
901
    mov   [0xfff4],byte 0  ; no mouse background
821
    mov   [MOUSE_BACKGROUND],byte 0  ; no mouse background
Line 902... Line 822...
902
    mov   [0xfff5],byte 0  ; draw mouse
822
    mov   [DONT_DRAW_MOUSE],byte 0  ; draw mouse
903
 
823
 
904
    mov   [application_table_status],0
824
    mov   [application_table_status],0
905
    mov   esi,process_terminated
825
    mov   esi,process_terminated