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 |