Rev 7482 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7482 | Rev 7494 | ||
---|---|---|---|
Line 365... | Line 365... | ||
365 | // |
365 | // |
366 | Str[j] = 0; |
366 | Str[j] = 0; |
367 | } |
367 | } |
Line 368... | Line 368... | ||
368 | 368 | ||
369 | 369 | ||
370 | // ôóíêöèÿ -1 çàâåðøåíèÿ ïðîöåññà |
370 | // function -1 termanate process |
371 | void kos_ExitApp() |
371 | void kos_ExitApp() |
Line 372... | Line 372... | ||
372 | { |
372 | { |
Line 384... | Line 384... | ||
384 | int 0x40 |
384 | int 0x40 |
385 | } |
385 | } |
386 | } |
386 | } |
Line 387... | Line 387... | ||
387 | 387 | ||
388 | 388 | ||
389 | // ôóíêöèÿ 0 |
389 | // function 0 |
390 | void kos_DefineAndDrawWindow( |
390 | void kos_DefineAndDrawWindow( |
391 | Word x, Word y, |
391 | Word x, Word y, |
392 | Word sizeX, Word sizeY, |
392 | Word sizeX, Word sizeY, |
Line 415... | Line 415... | ||
415 | int 0x40 |
415 | int 0x40 |
416 | } |
416 | } |
417 | } |
417 | } |
Line 418... | Line 418... | ||
418 | 418 | ||
419 | 419 | ||
420 | // ôóíêöèÿ 1 ïîñòàâèòü òî÷êó |
420 | // function 1 |
421 | void kos_PutPixel( Dword x, Dword y, Dword colour ) |
421 | void kos_PutPixel( Dword x, Dword y, Dword colour ) |
422 | { |
422 | { |
423 | // |
423 | // |
Line 429... | Line 429... | ||
429 | int 0x40 |
429 | int 0x40 |
430 | } |
430 | } |
431 | } |
431 | } |
Line 432... | Line 432... | ||
432 | 432 | ||
433 | 433 | ||
434 | // ôóíêöèÿ 2 ïîëó÷èòü êîä íàæàòîé êëàâèøè |
434 | // function 2 get key code |
435 | bool kos_GetKey( Byte &keyCode ) |
435 | bool kos_GetKey( Byte &keyCode ) |
Line 436... | Line 436... | ||
436 | { |
436 | { |
Line 447... | Line 447... | ||
447 | // |
447 | // |
448 | return ( result & 0xFF ) == 0; |
448 | return ( result & 0xFF ) == 0; |
449 | } |
449 | } |
Line 450... | Line 450... | ||
450 | 450 | ||
451 | 451 | ||
452 | // ôóíêöèÿ 3 ïîëó÷èòü âðåìÿ |
452 | // function 3 get system clock |
453 | Dword kos_GetSystemClock() |
453 | Dword kos_GetSystemClock() |
Line 454... | Line 454... | ||
454 | { |
454 | { |
Line 463... | Line 463... | ||
463 | // |
463 | // |
464 | // return result; |
464 | // return result; |
465 | } |
465 | } |
Line 466... | Line 466... | ||
466 | 466 | ||
467 | 467 | ||
468 | // ôóíêöèÿ 4 |
468 | // function 4 |
469 | void kos_WriteTextToWindow( |
469 | void kos_WriteTextToWindow( |
470 | Word x, |
470 | Word x, |
471 | Word y, |
471 | Word y, |
Line 489... | Line 489... | ||
489 | mov esi, textLen |
489 | mov esi, textLen |
490 | int 0x40 |
490 | int 0x40 |
491 | } |
491 | } |
492 | } |
492 | } |
Line -... | Line 493... | ||
- | 493 | ||
- | 494 | // function 4 |
|
- | 495 | void kos_WriteTextWithBg( |
|
- | 496 | Word x, |
|
- | 497 | Word y, |
|
- | 498 | Byte fontType, |
|
- | 499 | Dword textColour, |
|
- | 500 | Dword bgcolour, |
|
- | 501 | char *textPtr, |
|
- | 502 | Dword textLen |
|
- | 503 | ) |
|
- | 504 | { |
|
- | 505 | Dword arg1, arg2; |
|
- | 506 | ||
- | 507 | // |
|
- | 508 | arg1 = ( x << 16 ) | y; |
|
- | 509 | arg2 = ( fontType << 24 ) | textColour; |
|
- | 510 | // |
|
- | 511 | __asm{ |
|
- | 512 | mov edi, bgcolour |
|
- | 513 | } |
|
- | 514 | kos_WriteTextToWindow(x,y,fontType,textColour,textPtr,textLen); |
|
- | 515 | } |
|
Line 493... | Line 516... | ||
493 | 516 | ||
494 | 517 | ||
495 | // ôóíêöèÿ 5 ïàóçà, â ñîòûõ äîëÿõ ñåêóíäû |
518 | // function 5 pause, in value is 1/100 of second |
496 | void kos_Pause( Dword value ) |
519 | void kos_Pause( Dword value ) |
497 | { |
520 | { |
498 | // |
521 | // |
Line 502... | Line 525... | ||
502 | int 0x40 |
525 | int 0x40 |
503 | } |
526 | } |
504 | } |
527 | } |
Line 505... | Line 528... | ||
505 | 528 | ||
506 | 529 | ||
507 | // ôóíêöèÿ 7 íàðèñîâàòü èçîáðàæåíèå |
530 | // function 7 |
508 | void kos_PutImage( RGB * imagePtr, Word sizeX, Word sizeY, Word x, Word y ) |
531 | void kos_PutImage( RGB * imagePtr, Word sizeX, Word sizeY, Word x, Word y ) |
Line 509... | Line 532... | ||
509 | { |
532 | { |
Line 522... | Line 545... | ||
522 | } |
545 | } |
523 | } |
546 | } |
Line 524... | Line 547... | ||
524 | 547 | ||
525 | 548 | ||
526 | 549 | ||
527 | // ôóíêöèÿ 8 îïðåäåëèòü êíîïêó |
550 | // function 8 |
Line 528... | Line 551... | ||
528 | void kos_DefineButton( Word x, Word y, Word sizeX, Word sizeY, Dword buttonID, Dword colour ) |
551 | void kos_DefineButton( Word x, Word y, Word sizeX, Word sizeY, Dword buttonID, Dword colour ) |
Line 542... | Line 565... | ||
542 | int 0x40 |
565 | int 0x40 |
543 | } |
566 | } |
544 | } |
567 | } |
Line 545... | Line 568... | ||
545 | 568 | ||
546 | 569 | ||
547 | // ôóíêöèÿ 9 - èíôîðìàöèÿ î ïðîöåññå |
570 | // function 9 get process info |
548 | Dword kos_ProcessInfo( sProcessInfo *targetPtr, Dword processID ) |
571 | Dword kos_ProcessInfo( sProcessInfo *targetPtr, Dword processID ) |
Line 549... | Line 572... | ||
549 | { |
572 | { |
Line 560... | Line 583... | ||
560 | // |
583 | // |
561 | // return result; |
584 | // return result; |
562 | } |
585 | } |
Line 563... | Line 586... | ||
563 | 586 | ||
564 | 587 | ||
565 | // ôóíêöèÿ 10 |
588 | // function 10 |
566 | Dword kos_WaitForEvent() |
589 | Dword kos_WaitForEvent() |
Line 567... | Line 590... | ||
567 | { |
590 | { |
Line 575... | Line 598... | ||
575 | 598 | ||
576 | // return result; |
599 | // return result; |
Line 577... | Line 600... | ||
577 | } |
600 | } |
578 | 601 | ||
579 | 602 | ||
580 | // ôóíêöèÿ 11 |
603 | // function 11 |
Line 581... | Line 604... | ||
581 | Dword kos_CheckForEvent() |
604 | Dword kos_CheckForEvent() |
Line 590... | Line 613... | ||
590 | 613 | ||
591 | // return result; |
614 | // return result; |
Line 592... | Line 615... | ||
592 | } |
615 | } |
593 | 616 | ||
594 | 617 | ||
595 | // ôóíêöèÿ 12 |
618 | // function 12 |
596 | void kos_WindowRedrawStatus( Dword status ) |
619 | void kos_WindowRedrawStatus( Dword status ) |
597 | { |
620 | { |
598 | __asm{ |
621 | __asm{ |
599 | mov eax, 12 |
622 | mov eax, 12 |
600 | mov ebx, status |
623 | mov ebx, status |
Line 601... | Line 624... | ||
601 | int 0x40 |
624 | int 0x40 |
602 | } |
625 | } |
603 | } |
626 | } |
604 | 627 | ||
Line 605... | Line 628... | ||
605 | 628 | ||
Line 620... | Line 643... | ||
620 | int 0x40 |
643 | int 0x40 |
621 | } |
644 | } |
622 | } |
645 | } |
Line 623... | Line 646... | ||
623 | 646 | ||
624 | 647 | ||
625 | // ôóíêöèÿ 17 |
648 | // function 17 |
626 | bool kos_GetButtonID( Dword &buttonID ) |
649 | bool kos_GetButtonID( Dword &buttonID ) |
Line 627... | Line 650... | ||
627 | { |
650 | { |
Line 638... | Line 661... | ||
638 | // |
661 | // |
639 | return (result & 0xFF) == 0; |
662 | return (result & 0xFF) == 0; |
640 | } |
663 | } |
Line 641... | Line 664... | ||
641 | 664 | ||
642 | 665 | ||
643 | // ôóíêöèÿ 23 |
666 | // function 23 |
644 | Dword kos_WaitForEvent( Dword timeOut ) |
667 | Dword kos_WaitForEvent( Dword timeOut ) |
Line 645... | Line 668... | ||
645 | { |
668 | { |
Line 653... | Line 676... | ||
653 | } |
676 | } |
Line 654... | Line 677... | ||
654 | 677 | ||
655 | // return result; |
678 | // return result; |
Line 656... | Line 679... | ||
656 | } |
679 | } |
657 | 680 | ||
658 | // ôóíêöèÿ 26.9 ïîëó÷èòü çíà÷åíèå ñ÷¸ò÷èêà âðåìåíè |
681 | // function 26.9 ïîëó÷èòü çíà÷åíèå ñ÷¸ò÷èêà âðåìåíè |
659 | Dword kos_GetTime() |
682 | Dword kos_GetTime() |
660 | { |
683 | { |
661 | __asm{ |
684 | __asm{ |
662 | mov eax, 26 |
685 | mov eax, 26 |
663 | mov ebx, 9 |
686 | mov ebx, 9 |
664 | int 0x40 |
687 | int 0x40 |
Line 665... | Line 688... | ||
665 | } |
688 | } |
666 | } |
689 | } |
667 | 690 | ||
668 | // ôóíêöèÿ 37 ïîëó÷åíèå èíôîðìàöèè î ñîñòîÿíèè "ìûøè" |
691 | // function 37 ïîëó÷åíèå èíôîðìàöèè î ñîñòîÿíèè "ìûøè" |
669 | void kos_GetMouseState( Dword & buttons, int & cursorX, int & cursorY ) |
692 | void kos_GetMouseState( Dword & buttons, int & cursorX, int & cursorY ) |
670 | { |
693 | { |
Line 692... | Line 715... | ||
692 | buttons = mB; |
715 | buttons = mB; |
693 | cursorX = curX - sPI.processInfo.x_start; |
716 | cursorX = curX - sPI.processInfo.x_start; |
694 | cursorY = curY - sPI.processInfo.y_start; |
717 | cursorY = curY - sPI.processInfo.y_start; |
695 | } |
718 | } |
Line 696... | Line 719... | ||
696 | 719 | ||
697 | // ôóíêöèÿ 37.1 ïîëó÷åíèå êîîðäèíàò "ìûøè" îòíîñèòåëüíî îêíà |
720 | // function 37.1 ïîëó÷åíèå êîîðäèíàò "ìûøè" îòíîñèòåëüíî îêíà |
698 | void kos_GetMouseWindowXY( int & cursorX, int & cursorY ) |
721 | void kos_GetMouseWindowXY( int & cursorX, int & cursorY ) |
699 | { |
722 | { |
700 | Word curX; |
723 | Word curX; |
Line 715... | Line 738... | ||
715 | 738 | ||
716 | cursorX = curX; |
739 | cursorX = curX; |
717 | cursorY = curY; |
740 | cursorY = curY; |
Line 718... | Line 741... | ||
718 | } |
741 | } |
719 | 742 | ||
720 | // ôóíêöèÿ 37.2 ïîëó÷åíèå èíôîðìàöèè î íàæàòûõ êíîïêè "ìûøè" |
743 | // function 37.2 ïîëó÷åíèå èíôîðìàöèè î íàæàòûõ êíîïêè "ìûøè" |
721 | void kos_GetMouseButtonsState( Dword & buttons ) |
744 | void kos_GetMouseButtonsState( Dword & buttons ) |
Line 722... | Line 745... | ||
722 | { |
745 | { |
Line 730... | Line 753... | ||
730 | } |
753 | } |
Line 731... | Line 754... | ||
731 | 754 | ||
732 | buttons = mB; |
755 | buttons = mB; |
Line 733... | Line 756... | ||
733 | } |
756 | } |
734 | 757 | ||
735 | // ôóíêöèÿ 37.4 çàãðóçêà êóðñîðà "ìûøè" |
758 | // function 37.4 çàãðóçêà êóðñîðà "ìûøè" |
736 | Dword * kos_LoadMouseCursor( Dword * cursor, Dword loadstate ) |
759 | Dword * kos_LoadMouseCursor( Dword * cursor, Dword loadstate ) |
737 | { |
760 | { |
738 | //Dword handle; |
761 | //Dword handle; |
Line 745... | Line 768... | ||
745 | //mov handle, eax |
768 | //mov handle, eax |
746 | } |
769 | } |
747 | //return handle; |
770 | //return handle; |
748 | } |
771 | } |
Line 749... | Line 772... | ||
749 | 772 | ||
750 | // ôóíêöèÿ 37.5 óñòàíîâêà êóðñîðà "ìûøè" |
773 | // function 37.5 óñòàíîâêà êóðñîðà "ìûøè" |
751 | Dword * kos_SetMouseCursor( Dword * handle ) |
774 | Dword * kos_SetMouseCursor( Dword * handle ) |
752 | { |
775 | { |
753 | //Dword handle; |
776 | //Dword handle; |
754 | __asm{ |
777 | __asm{ |
Line 759... | Line 782... | ||
759 | //mov handle, eax |
782 | //mov handle, eax |
760 | } |
783 | } |
761 | //return handle; |
784 | //return handle; |
762 | } |
785 | } |
Line 763... | Line 786... | ||
763 | 786 | ||
764 | // ôóíêöèÿ 37.6 óäàëåíèå êóðñîðà "ìûøè" |
787 | // function 37.6 óäàëåíèå êóðñîðà "ìûøè" |
765 | void kos_DeleteMouseCursor( Dword * handle ) |
788 | void kos_DeleteMouseCursor( Dword * handle ) |
766 | { |
789 | { |
767 | __asm{ |
790 | __asm{ |
768 | mov eax, 37 |
791 | mov eax, 37 |
769 | mov ebx, 6 |
792 | mov ebx, 6 |
770 | mov ecx, handle |
793 | mov ecx, handle |
771 | int 0x40 |
794 | int 0x40 |
772 | } |
795 | } |
Line 773... | Line 796... | ||
773 | } |
796 | } |
774 | 797 | ||
775 | // ôóíêöèÿ 38 íàðèñîâàòü ïîëîñó |
798 | // function 38 |
776 | void kos_DrawLine( Word x1, Word y1, Word x2, Word y2, Dword colour ) |
799 | void kos_DrawLine( Word x1, Word y1, Word x2, Word y2, Dword colour ) |
Line 777... | Line 800... | ||
777 | { |
800 | { |
Line 789... | Line 812... | ||
789 | int 0x40 |
812 | int 0x40 |
790 | } |
813 | } |
791 | } |
814 | } |
Line 792... | Line 815... | ||
792 | 815 | ||
793 | 816 | ||
794 | // ôóíêöèÿ 40 óñòàíîâèòü ìàñêó ñîáûòèé |
817 | // function 40 |
795 | void kos_SetMaskForEvents( Dword mask ) |
818 | void kos_SetMaskForEvents( Dword mask ) |
796 | { |
819 | { |
797 | // |
820 | // |
Line 801... | Line 824... | ||
801 | int 0x40 |
824 | int 0x40 |
802 | } |
825 | } |
803 | } |
826 | } |
Line 804... | Line 827... | ||
804 | 827 | ||
805 | 828 | ||
806 | // ôóíêöèÿ 47 âûâåñòè â îêíî ïðèëîæåíèÿ ÷èñëî |
829 | // function 47 âûâåñòè â îêíî ïðèëîæåíèÿ ÷èñëî |
807 | void kos_DisplayNumberToWindow( |
830 | void kos_DisplayNumberToWindow( |
808 | Dword value, |
831 | Dword value, |
809 | Dword digitsNum, |
832 | Dword digitsNum, |
Line 830... | Line 853... | ||
830 | mov esi, colour |
853 | mov esi, colour |
831 | int 0x40 |
854 | int 0x40 |
832 | } |
855 | } |
833 | } |
856 | } |
Line 834... | Line 857... | ||
834 | 857 | ||
835 | // ôóíêöèÿ 47 âûâåñòè â îêíî ïðèëîæåíèÿ ÷èñëî c ôîíîì |
858 | // function 47 âûâåñòè â îêíî ïðèëîæåíèÿ ÷èñëî c ôîíîì |
836 | void kos_DisplayNumberToWindowBg( |
859 | void kos_DisplayNumberToWindowBg( |
837 | Dword value, |
860 | Dword value, |
838 | Dword digitsNum, |
861 | Dword digitsNum, |
839 | Word x, |
862 | Word x, |
Line 872... | Line 895... | ||
872 | mov ebx, 4 |
895 | mov ebx, 4 |
873 | int 0x40 |
896 | int 0x40 |
874 | } |
897 | } |
875 | } |
898 | } |
Line 876... | Line 899... | ||
876 | 899 | ||
877 | // ôóíêöèÿ 70 äîñòóï ê ôàéëîâîé ñèñòåìå |
900 | // function 70 äîñòóï ê ôàéëîâîé ñèñòåìå |
878 | Dword kos_FileSystemAccess( kosFileInfo *fileInfo ) |
901 | Dword kos_FileSystemAccess( kosFileInfo *fileInfo ) |
879 | { |
902 | { |
Line 880... | Line 903... | ||
880 | // Dword result; |
903 | // Dword result; |
Line 889... | Line 912... | ||
889 | // |
912 | // |
890 | // return result; |
913 | // return result; |
891 | } |
914 | } |
Line 892... | Line 915... | ||
892 | 915 | ||
893 | 916 | ||
894 | // ôóíêöèÿ 63 âûâîä ñèìâîëÿ â îêíî îòëàäêè |
917 | // function 63 âûâîä ñèìâîëÿ â îêíî îòëàäêè |
895 | void kos_DebugOutChar( char ccc ) |
918 | void kos_DebugOutChar( char ccc ) |
896 | { |
919 | { |
897 | // |
920 | // |
Line 902... | Line 925... | ||
902 | int 0x40 |
925 | int 0x40 |
903 | } |
926 | } |
904 | } |
927 | } |
Line 905... | Line 928... | ||
905 | 928 | ||
906 | 929 | ||
907 | // ôóíêöèÿ 66 ðåæèì ïîëó÷åíèÿ äàííûõ îò êëàâèàòóðû |
930 | // function 66 ðåæèì ïîëó÷åíèÿ äàííûõ îò êëàâèàòóðû |
908 | void kos_SetKeyboardDataMode( Dword mode ) |
931 | void kos_SetKeyboardDataMode( Dword mode ) |
909 | { |
932 | { |
910 | // |
933 | // |
Line 928... | Line 951... | ||
928 | // |
951 | // |
929 | kos_DebugOutChar( 13 ); |
952 | kos_DebugOutChar( 13 ); |
930 | kos_DebugOutChar( 10 ); |
953 | kos_DebugOutChar( 10 ); |
931 | } |
954 | } |
Line -... | Line 955... | ||
- | 955 | ||
- | 956 | void kos_DebugNumber(signed int n) |
|
- | 957 | { |
|
- | 958 | if (n<0) { |
|
- | 959 | kos_DebugOutChar('-'); |
|
- | 960 | n = -n; |
|
- | 961 | } |
|
- | 962 | while (n>10) { |
|
- | 963 | kos_DebugOutChar(n%10 + '0'); |
|
- | 964 | n /= 10; |
|
- | 965 | } |
|
- | 966 | kos_DebugOutChar(n + '0'); |
|
- | 967 | kos_DebugOutChar('\n'); |
|
Line 932... | Line 968... | ||
932 | 968 | } |
|
933 | 969 | ||
934 | // ôóíêöèÿ 64 èçìåíåíèå êîëè÷åñòâà ïàìÿòè, âûäåëåííîé äëÿ ïðîãðàììû |
970 | // function 64 èçìåíåíèå êîëè÷åñòâà ïàìÿòè, âûäåëåííîé äëÿ ïðîãðàììû |
935 | bool kos_ApplicationMemoryResize( Dword targetSize ) |
971 | bool kos_ApplicationMemoryResize( Dword targetSize ) |
Line 936... | Line 972... | ||
936 | { |
972 | { |
Line 947... | Line 983... | ||
947 | // |
983 | // |
948 | return result == 0; |
984 | return result == 0; |
949 | } |
985 | } |
Line 950... | Line 986... | ||
950 | 986 | ||
- | 987 | ||
951 | 988 | // function 67 change window size and position, |
|
952 | // ôóíêöèÿ 67 èçìåíèòü ïàðàìåòðû îêíà, ïàðàìåòð == -1 íå ìåíÿåòñÿ |
989 | // if param == -1 then value does not change |
953 | void kos_ChangeWindow( Dword x, Dword y, Dword sizeX, Dword sizeY ) |
990 | void kos_ChangeWindow( Dword x, Dword y, Dword sizeX, Dword sizeY ) |
954 | { |
991 | { |
955 | // |
992 | // |