Rev 665 | Rev 681 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 665 | Rev 671 | ||
---|---|---|---|
Line 53... | Line 53... | ||
53 | ;; |
53 | ;; |
54 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
54 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 55... | Line 55... | ||
55 | 55 | ||
Line 56... | Line 56... | ||
56 | include 'macros.inc' |
56 | include 'macros.inc' |
Line 57... | Line 57... | ||
57 | 57 | ||
Line 58... | Line 58... | ||
58 | $Revision: 665 $ |
58 | $Revision: 671 $ |
Line 1032... | Line 1032... | ||
1032 | mov [irq_owner+4*6], 1 ; floppy diskette |
1032 | mov [irq_owner+4*6], 1 ; floppy diskette |
1033 | mov [irq_owner+4*13], 1 ; math co-pros |
1033 | mov [irq_owner+4*13], 1 ; math co-pros |
1034 | mov [irq_owner+4*14], 1 ; ide I |
1034 | mov [irq_owner+4*14], 1 ; ide I |
1035 | mov [irq_owner+4*15], 1 ; ide II |
1035 | mov [irq_owner+4*15], 1 ; ide II |
Line 1036... | Line -... | ||
1036 | - | ||
1037 | ; movzx eax,byte [0xf604] ; mouse irq |
- | |
1038 | ; dec eax |
- | |
1039 | ; add eax,mouseirqtable |
- | |
1040 | ; movzx eax,byte [eax] |
- | |
1041 | ; shl eax,2 |
- | |
1042 | ; mov [irq_owner+eax],byte 1 |
- | |
1043 | - | ||
1044 | 1036 | ||
1045 | ; RESERVE PORTS |
1037 | ; RESERVE PORTS |
1046 | mov edi,1 ; 0x00-0x2d |
1038 | mov edi,1 ; 0x00-0x2d |
1047 | mov [RESERVED_PORTS],edi |
1039 | mov [RESERVED_PORTS],edi |
1048 | shl edi,4 |
1040 | shl edi,4 |
Line 1069... | Line 1061... | ||
1069 | shl edi,4 |
1061 | shl edi,4 |
1070 | mov [RESERVED_PORTS+edi+0],dword 1 |
1062 | mov [RESERVED_PORTS+edi+0],dword 1 |
1071 | mov [RESERVED_PORTS+edi+4],dword 0xe5 |
1063 | mov [RESERVED_PORTS+edi+4],dword 0xe5 |
1072 | mov [RESERVED_PORTS+edi+8],dword 0xff |
1064 | mov [RESERVED_PORTS+edi+8],dword 0xff |
Line 1073... | Line -... | ||
1073 | - | ||
1074 | - | ||
1075 | ; cmp [0xf604],byte 2 ; com1 mouse -> 0x3f0-0x3ff |
- | |
1076 | ; jne ripl1 |
- | |
1077 | ; inc dword [0x2d0000] |
- | |
1078 | ; mov edi,[0x2d0000] |
- | |
1079 | ; shl edi,4 |
- | |
1080 | ; mov [0x2d0000+edi+0],dword 1 |
- | |
1081 | ; mov [0x2d0000+edi+4],dword 0x3f0 |
- | |
1082 | ; mov [0x2d0000+edi+8],dword 0x3ff |
- | |
1083 | ; ripl1: |
- | |
1084 | ; cmp [0xf604],byte 3 ; com2 mouse -> 0x2f0-0x2ff |
- | |
1085 | ; jne ripl2 |
- | |
1086 | ; inc dword [0x2d0000] |
- | |
1087 | ; mov edi,[0x2d0000] |
- | |
1088 | ; shl edi,4 |
- | |
1089 | ; mov [0x2d0000+edi+0],dword 1 |
- | |
1090 | ; mov [0x2d0000+edi+4],dword 0x2f0 |
- | |
1091 | ; mov [0x2d0000+edi+8],dword 0x2ff |
- | |
1092 | ; ripl2: |
- | |
1093 | 1065 | ||
1094 | popad |
1066 | popad |
Line 1095... | Line 1067... | ||
1095 | ret |
1067 | ret |
1096 | 1068 | ||
Line 1470... | Line 1442... | ||
1470 | pop eax |
1442 | pop eax |
1471 | .continue: |
1443 | .continue: |
1472 | ret |
1444 | ret |
Line 1473... | Line 1445... | ||
1473 | 1445 | ||
1474 | draw_num_text: |
- | |
1475 | - | ||
1476 | ; dtext |
- | |
1477 | ; |
- | |
1478 | ; eax x & y |
- | |
1479 | ; ebx color |
- | |
1480 | ; ecx start of text |
- | |
1481 | ; edx length |
- | |
1482 | ; edi 1 force |
- | |
1483 | - | ||
1484 | ; mov edi,[CURRENT_TASK] |
- | |
1485 | ; shl edi,8 |
- | |
1486 | ; add ax,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.top] |
- | |
1487 | ; rol eax,16 |
- | |
1488 | ; add ax,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.left] |
- | |
1489 | ; rol eax,16 |
- | |
1490 | 1446 | draw_num_text: |
|
1491 | mov edx,eax |
1447 | mov edx,eax |
1492 | mov ecx,64+4 |
1448 | mov ecx,64+4 |
1493 | sub ecx,eax |
1449 | sub ecx,eax |
1494 | add ecx,esp |
1450 | add ecx,esp |
Line 1510... | Line 1466... | ||
1510 | and ebx, not 0x80000000 ; force counted string |
1466 | and ebx, not 0x80000000 ; force counted string |
1511 | mov esi, [esp+64+4+4] |
1467 | mov esi, [esp+64+4+4] |
1512 | mov edi, [esp+64+4] |
1468 | mov edi, [esp+64+4] |
1513 | jmp dtext |
1469 | jmp dtext |
Line 1514... | Line -... | ||
1514 | - | ||
1515 | read_string: |
- | |
1516 | - | ||
1517 | ; eax read_area |
- | |
1518 | ; ebx color of letter |
- | |
1519 | ; ecx color of background |
- | |
1520 | ; edx number of letters to read |
- | |
1521 | ; esi [x start]*65536 + [y_start] |
- | |
1522 | - | ||
1523 | ret |
- | |
1524 | - | ||
1525 | 1470 | ||
Line 1526... | Line 1471... | ||
1526 | align 4 |
1471 | align 4 |
Line 1527... | Line 1472... | ||
1527 | 1472 | ||
Line 2406... | Line 2351... | ||
2406 | UID_NONE=0 |
2351 | UID_NONE=0 |
2407 | UID_MENUETOS=1 ;official |
2352 | UID_MENUETOS=1 ;official |
2408 | UID_KOLIBRI=2 ;russian |
2353 | UID_KOLIBRI=2 ;russian |
Line 2409... | Line 2354... | ||
2409 | 2354 | ||
2410 | sys_cachetodiskette: |
- | |
2411 | ; pushad |
- | |
2412 | ; cmp eax,1 |
- | |
2413 | ; jne no_write_all_of_ramdisk |
- | |
2414 | ; call fdc_writeramdisk |
- | |
2415 | ; popad |
- | |
2416 | ; ret |
- | |
2417 | ; no_write_all_of_ramdisk: |
- | |
2418 | ; cmp eax,2 |
- | |
2419 | ; jne no_write_part_of_ramdisk |
- | |
2420 | ; call fdc_commitflush |
- | |
2421 | ; popad |
- | |
2422 | ; ret |
- | |
2423 | ; no_write_part_of_ramdisk: |
- | |
2424 | ; cmp eax,3 |
- | |
2425 | ; jne no_set_fdc |
- | |
2426 | ; call fdc_set |
- | |
2427 | ; popad |
- | |
2428 | ; ret |
- | |
2429 | ; no_set_fdc: |
- | |
2430 | ; cmp eax,4 |
- | |
2431 | ; jne no_get_fdc |
- | |
2432 | ; popad |
- | |
2433 | ; call fdc_get |
- | |
2434 | ; mov [esp+36],ecx |
- | |
2435 | ; ret |
- | |
2436 | ; no_get_fdc: |
- | |
2437 | ; popad |
- | |
2438 | ; ret |
2355 | sys_cachetodiskette: |
2439 | cmp eax,1 |
2356 | cmp ebx, 1 |
2440 | jne no_floppy_a_save |
2357 | jne .no_floppy_a_save |
2441 | mov [flp_number],1 |
2358 | mov [flp_number], 1 |
2442 | jmp save_image_on_floppy |
2359 | jmp .save_image_on_floppy |
2443 | no_floppy_a_save: |
2360 | .no_floppy_a_save: |
2444 | cmp eax,2 |
2361 | cmp ebx, 2 |
2445 | jne no_floppy_b_save |
2362 | jne .no_floppy_b_save |
2446 | mov [flp_number],2 |
2363 | mov [flp_number], 2 |
2447 | save_image_on_floppy: |
2364 | .save_image_on_floppy: |
2448 | call save_image |
2365 | call save_image |
2449 | mov [esp+36],dword 0 |
2366 | mov [esp + 32], dword 0 |
2450 | cmp [FDC_Status],0 |
2367 | cmp [FDC_Status], 0 |
2451 | je yes_floppy_save |
2368 | je .yes_floppy_save |
2452 | no_floppy_b_save: |
2369 | .no_floppy_b_save: |
2453 | mov [esp+36],dword 1 |
2370 | mov [esp + 32], dword 1 |
2454 | yes_floppy_save: |
2371 | .yes_floppy_save: |
Line 2455... | Line 2372... | ||
2455 | ret |
2372 | ret |
2456 | 2373 | ||
2457 | uglobal |
2374 | uglobal |
Line 2682... | Line 2599... | ||
2682 | 2599 | ||
Line 2683... | Line 2600... | ||
2683 | 2600 | ||
2684 | align 4 |
2601 | align 4 |
2685 | 2602 | ||
2686 | sys_getkey: |
2603 | sys_getkey: |
2687 | mov [esp+36],dword 1 |
2604 | mov [esp + 32],dword 1 |
2688 | ; test main buffer |
2605 | ; test main buffer |
2689 | mov ebx, [CURRENT_TASK] ; TOP OF WINDOW STACK |
2606 | mov ebx, [CURRENT_TASK] ; TOP OF WINDOW STACK |
Line 2698... | Line 2615... | ||
2698 | push eax |
2615 | push eax |
2699 | dec byte [KEY_COUNT] |
2616 | dec byte [KEY_COUNT] |
2700 | and byte [KEY_COUNT],127 |
2617 | and byte [KEY_COUNT], 127 |
2701 | movzx ecx,byte [KEY_COUNT] |
2618 | movzx ecx, byte [KEY_COUNT] |
2702 | add ecx,2 |
2619 | add ecx, 2 |
2703 | ; mov esi,0xf402 |
- | |
2704 | ; mov edi,0xf401 |
- | |
2705 | ; cld |
- | |
2706 | ; rep movsb |
- | |
2707 | mov eax, KEY_BUFF+1 |
2620 | mov eax, KEY_BUFF + 1 |
2708 | mov ebx, KEY_BUFF |
2621 | mov ebx, KEY_BUFF |
2709 | call memmove |
2622 | call memmove |
2710 | pop eax |
2623 | pop eax |
2711 | .ret_eax: |
2624 | .ret_eax: |
2712 | mov [esp+36],eax |
2625 | mov [esp + 32], eax |
2713 | ret |
2626 | ret |
2714 | .finish: |
2627 | .finish: |
2715 | ; test hotkeys buffer |
2628 | ; test hotkeys buffer |
2716 | mov ecx, hotkey_buffer |
2629 | mov ecx, hotkey_buffer |
2717 | @@: |
2630 | @@: |
Line 2733... | Line 2646... | ||
2733 | align 4 |
2646 | align 4 |
Line 2734... | Line 2647... | ||
2734 | 2647 | ||
Line 2735... | Line 2648... | ||
2735 | sys_getbutton: |
2648 | sys_getbutton: |
2736 | 2649 | ||
2737 | mov ebx, [CURRENT_TASK] ; TOP OF WINDOW STACK |
2650 | mov ebx, [CURRENT_TASK] ; TOP OF WINDOW STACK |
2738 | mov [esp+36],dword 1 |
2651 | mov [esp + 32], dword 1 |
2739 | movzx ecx, word [WIN_STACK + ebx * 2] |
2652 | movzx ecx, word [WIN_STACK + ebx * 2] |
2740 | mov edx, [TASK_COUNT] ; less than 256 processes |
2653 | mov edx, [TASK_COUNT] ; less than 256 processes |
2741 | cmp ecx,edx |
2654 | cmp ecx, edx |
2742 | jne .exit |
2655 | jne .exit |
2743 | movzx eax,byte [BTN_COUNT] |
2656 | movzx eax, byte [BTN_COUNT] |
2744 | test eax,eax |
2657 | test eax, eax |
2745 | jz .exit |
2658 | jz .exit |
2746 | mov eax,[BTN_BUFF] |
2659 | mov eax, [BTN_BUFF] |
2747 | shl eax,8 |
2660 | shl eax, 8 |
2748 | mov [BTN_COUNT],byte 0 |
2661 | mov [BTN_COUNT], byte 0 |
2749 | mov [esp+36],eax |
2662 | mov [esp + 32], eax |
Line 2750... | Line 2663... | ||
2750 | .exit: |
2663 | .exit: |
Line 2904... | Line 2817... | ||
2904 | in al,0x71 |
2817 | in al,0x71 |
2905 | add ecx,edx |
2818 | add ecx,edx |
2906 | movzx edx,al |
2819 | movzx edx,al |
2907 | add ecx,edx |
2820 | add ecx,edx |
2908 | sti |
2821 | sti |
2909 | mov [esp+36],ecx |
2822 | mov [esp + 32], ecx |
2910 | ret |
2823 | ret |
Line 2911... | Line 2824... | ||
2911 | 2824 | ||
Line 2912... | Line 2825... | ||
2912 | 2825 | ||
Line 2913... | Line 2826... | ||
2913 | align 4 |
2826 | align 4 |
2914 | - | ||
2915 | sys_date: |
2827 | |
2916 | 2828 | sys_date: |
|
2917 | cli |
2829 | |
2918 | 2830 | cli |
|
2919 | @@: mov al, 10 |
2831 | @@: mov al, 10 |
Line 2939... | Line 2851... | ||
2939 | mov al,9 ; year |
2851 | mov al,9 ; year |
2940 | out 0x70,al |
2852 | out 0x70,al |
2941 | in al,0x71 |
2853 | in al,0x71 |
2942 | mov cl,al |
2854 | mov cl,al |
2943 | sti |
2855 | sti |
2944 | mov [esp+36],ecx |
2856 | mov [esp+32], ecx |
2945 | ret |
2857 | ret |
Line 2946... | Line 2858... | ||
2946 | 2858 | ||
Line 2947... | Line 2859... | ||
2947 | 2859 | ||
2948 | ; redraw status |
- | |
2949 | 2860 | ; redraw status |
|
2950 | sys_redrawstat: |
2861 | |
2951 | - | ||
2952 | cmp eax,1 |
2862 | sys_redrawstat: |
2953 | jne no_widgets_away |
- | |
2954 | 2863 | cmp ebx, 1 |
|
2955 | ; buttons away |
- | |
2956 | 2864 | jne no_widgets_away |
|
2957 | mov ecx,[CURRENT_TASK] |
- | |
2958 | 2865 | ; buttons away |
|
2959 | sys_newba2: |
2866 | mov ecx,[CURRENT_TASK] |
2960 | 2867 | sys_newba2: |
|
2961 | mov edi,[BTN_ADDR] |
- | |
2962 | cmp [edi],dword 0 ; empty button list ? |
2868 | mov edi,[BTN_ADDR] |
2963 | je end_of_buttons_away |
2869 | cmp [edi], dword 0 ; empty button list ? |
2964 | - | ||
2965 | movzx ebx,word [edi] |
2870 | je end_of_buttons_away |
2966 | inc ebx |
- | |
2967 | 2871 | movzx ebx, word [edi] |
|
2968 | mov eax,edi |
- | |
2969 | 2872 | inc ebx |
|
2970 | sys_newba: |
2873 | mov eax,edi |
Line 2971... | Line 2874... | ||
2971 | 2874 | sys_newba: |
|
2972 | dec ebx |
2875 | dec ebx |
Line 2992... | Line 2895... | ||
2992 | 2895 | ||
Line 2993... | Line 2896... | ||
2993 | ret |
2896 | ret |
Line 2994... | Line 2897... | ||
2994 | 2897 | ||
2995 | no_widgets_away: |
2898 | no_widgets_away: |
Line 2996... | Line 2899... | ||
2996 | 2899 | ||
2997 | cmp eax,2 |
2900 | cmp ebx, 2 |
2998 | jnz srl1 |
2901 | jnz srl1 |
Line 3006... | Line 2909... | ||
3006 | mov eax,[ScreenHeight] |
2909 | mov eax, [ScreenHeight] |
3007 | mov [edx+RECT.bottom],eax |
2910 | mov [edx + RECT.bottom], eax |
Line 3008... | Line 2911... | ||
3008 | 2911 | ||
3009 | mov edi,[TASK_BASE] |
2912 | mov edi, [TASK_BASE] |
3010 | or [edi-twdw+WDATA.fl_wdrawn], 1 ; no new position & buttons from app |
- | |
3011 | 2913 | or [edi - twdw + WDATA.fl_wdrawn], 1 ; no new position & buttons from app |
|
3012 | call sys_window_mouse |
- | |
3013 | 2914 | call sys_window_mouse |
|
Line 3014... | Line 2915... | ||
3014 | ret |
2915 | ret |
3015 | - | ||
3016 | srl1: |
2916 | |
Line 3017... | Line 2917... | ||
3017 | 2917 | srl1: |
|
Line 3886... | Line 3786... | ||
3886 | 3786 | ||
Line 3887... | Line 3787... | ||
3887 | ret |
3787 | ret |
3888 | - | ||
3889 | - | ||
3890 | set_app_param: |
3788 | |
3891 | push edi |
3789 | |
3892 | - | ||
3893 | mov edi,[TASK_BASE] |
- | |
3894 | mov [edi+TASKDATA.event_mask],eax |
3790 | set_app_param: |
Line 3895... | Line 3791... | ||
3895 | 3791 | mov edi, [TASK_BASE] |
|
Line 4328... | Line 4224... | ||
4328 | ret |
4224 | ret |
Line 4329... | Line 4225... | ||
4329 | 4225 | ||
Line 4330... | Line 4226... | ||
4330 | align 4 |
4226 | align 4 |
4331 | - | ||
4332 | syscall_putimage: ; PutImage |
- | |
4333 | - | ||
4334 | mov edx,ecx |
- | |
4335 | mov ecx,ebx |
- | |
4336 | mov ebx, eax |
4227 | |
4337 | 4228 | syscall_putimage: ; PutImage |
|
4338 | sys_putimage: |
4229 | sys_putimage: |
4339 | test ecx,0x80008000 |
4230 | test ecx,0x80008000 |
4340 | jnz .exit |
4231 | jnz .exit |
Line 4771... | Line 4662... | ||
4771 | ; eax=1 : write : bl byte to write |
4662 | ; eax=1 : write : bl byte to write |
4772 | ; eax=2 : read : ebx=0 -> no data, ebx=1 -> data in al |
4663 | ; eax=2 : read : ebx=0 -> no data, ebx=1 -> data in al |
Line 4773... | Line 4664... | ||
4773 | 4664 | ||
4774 | mov ecx,[msg_board_count] |
4665 | mov ecx, [msg_board_count] |
4775 | cmp eax, 1 |
4666 | cmp eax, 1 |
Line 4776... | Line 4667... | ||
4776 | jne smbl1 |
4667 | jne .smbl1 |
4777 | 4668 | ||
4778 | 4669 | ||
4779 | mov [msg_board_data+ecx],bl |
4670 | mov [msg_board_data+ecx],bl |
4780 | inc ecx |
4671 | inc ecx |
4781 | and ecx, 4095 |
4672 | and ecx, 4095 |
4782 | mov [msg_board_count], ecx |
4673 | mov [msg_board_count], ecx |
4783 | mov [check_idle_semaphore], 5 |
- | |
4784 | ret |
4674 | mov [check_idle_semaphore], 5 |
4785 | smbl1: |
4675 | ret |
4786 | 4676 | .smbl1: |
|
4787 | cmp eax, 2 |
4677 | cmp eax, 2 |
4788 | jne smbl2 |
- | |
4789 | test ecx, ecx |
- | |
4790 | jz smbl21 |
- | |
4791 | ; mov edi, msg_board_data |
4678 | jne .smbl2 |
4792 | ; mov esi, msg_board_data+1 |
4679 | test ecx, ecx |
4793 | ; movzx eax, byte [edi] |
4680 | jz .smbl21 |
4794 | mov eax, msg_board_data+1 |
4681 | mov eax, msg_board_data+1 |
4795 | mov ebx, msg_board_data |
- | |
4796 | movzx edx, byte [ebx] |
- | |
4797 | call memmove |
- | |
4798 | ; push ecx |
- | |
4799 | ; shr ecx, 2 |
- | |
4800 | ; cld |
- | |
4801 | ; rep movsd |
- | |
4802 | ; pop ecx |
4682 | mov ebx, msg_board_data |
4803 | ; and ecx, 3 |
4683 | movzx edx, byte [ebx] |
4804 | ; rep movsb |
4684 | call memmove |
4805 | dec [msg_board_count] |
4685 | dec [msg_board_count] |
4806 | mov [esp+36], edx ;eax |
4686 | mov [esp + 36], edx ;eax |
4807 | mov [esp+24], dword 1 |
4687 | mov [esp + 24], dword 1 |
4808 | ret |
4688 | ret |
4809 | smbl21: |
- | |
4810 | mov [esp+36], ecx |
4689 | .smbl21: |
4811 | mov [esp+24], ecx |
4690 | mov [esp+36], ecx |
Line 4812... | Line 4691... | ||
4812 | 4691 | mov [esp+24], ecx |
|
Line 5022... | Line 4901... | ||
5022 | 4901 | ||
Line 5023... | Line 4902... | ||
5023 | align 4 |
4902 | align 4 |
Line 5024... | Line 4903... | ||
5024 | 4903 | ||
5025 | syscall_drawrect: ; DrawRect |
4904 | syscall_drawrect: ; DrawRect |
5026 | 4905 | ||
5027 | mov edi,ecx |
4906 | mov edi, edx ; color + gradient |
5028 | and edi,0x80FFFFFF |
4907 | and edi, 0x80FFFFFF |
5029 | test ax,ax |
4908 | test bx, bx ; x.size |
- | 4909 | je .drectr |
|
- | 4910 | test cx, cx ; y.size |
|
5030 | je drectr |
4911 | je .drectr |
- | 4912 | ||
- | 4913 | mov eax, ebx ; bad idea |
|
5031 | test bx,bx |
4914 | mov ebx, ecx |
5032 | je drectr |
4915 | |
5033 | movzx ecx,ax |
4916 | movzx ecx, ax ; ecx - x.size |
5034 | shr eax,16 |
4917 | shr eax, 16 ; eax - x.coord |
- | 4918 | movzx edx, bx ; edx - y.size |
|
5035 | movzx edx,bx |
4919 | shr ebx, 16 ; ebx - y.coord |
5036 | shr ebx,16 |
4920 | mov esi, [current_slot] |
5037 | mov esi,[current_slot] |
4921 | |
5038 | add eax,[esi+APPDATA.wnd_clientbox.left] |
4922 | add eax, [esi + APPDATA.wnd_clientbox.left] |
5039 | add ebx,[esi+APPDATA.wnd_clientbox.top] |
4923 | add ebx, [esi + APPDATA.wnd_clientbox.top] |
5040 | add ecx,eax |
4924 | add ecx, eax |
5041 | add edx,ebx |
4925 | add edx, ebx |
Line 5042... | Line 4926... | ||
5042 | jmp [drawbar] |
4926 | jmp [drawbar] |
5043 | drectr: |
- | |
5044 | ret |
4927 | .drectr: |
5045 | - | ||
5046 | align 4 |
4928 | ret |
5047 | 4929 | ||
5048 | syscall_getscreensize: ; GetScreenSize |
4930 | align 4 |
5049 | 4931 | syscall_getscreensize: ; GetScreenSize |
|
5050 | movzx eax,word[ScreenWidth] |
4932 | mov ax, [ScreenWidth] |
Line 5051... | Line 4933... | ||
5051 | shl eax,16 |
4933 | shl eax, 16 |
Line 5052... | Line 4934... | ||
5052 | mov ax,[ScreenHeight] |
4934 | mov ax, [ScreenHeight] |
Line 5138... | Line 5020... | ||
5138 | 5020 | ||
5139 | syscall_getpixel: ; GetPixel |
5021 | syscall_getpixel: ; GetPixel |
5140 | mov ecx,[ScreenWidth] |
5022 | mov ecx, [ScreenWidth] |
5141 | inc ecx |
5023 | inc ecx |
- | 5024 | xor edx, edx |
|
5142 | xor edx,edx |
5025 | mov eax, ebx |
5143 | div ecx |
5026 | div ecx |
5144 | mov ebx,edx |
5027 | mov ebx, edx |
5145 | xchg eax,ebx |
5028 | xchg eax, ebx |
5146 | call dword [GETPIXEL] |
5029 | call dword [GETPIXEL] ; eax - x, ebx - y |
5147 | mov [esp+36],ecx |
5030 | mov [esp + 32], ecx |
Line 5148... | Line -... | ||
5148 | ret |
- | |
5149 | - | ||
5150 | align 4 |
- | |
5151 | - | ||
5152 | syscall_readstring: ; ReadString |
- | |
5153 | - | ||
5154 | mov edi,[TASK_BASE] |
- | |
5155 | add edi,TASKDATA.mem_start |
- | |
5156 | add eax,[edi] |
- | |
5157 | call read_string |
- | |
Line 5158... | Line 5031... | ||
5158 | mov [esp+36],eax |
5031 | ret |
Line 5159... | Line 5032... | ||
5159 | ret |
5032 | |
Line 5235... | Line 5108... | ||
5235 | mov [esp+24],ebx |
5108 | mov [esp+24],ebx |
5236 | ret |
5109 | ret |
Line 5237... | Line 5110... | ||
5237 | 5110 | ||
Line 5238... | Line -... | ||
5238 | align 4 |
- | |
5239 | - | ||
5240 | user_events: ; User event times |
- | |
5241 | - | ||
5242 | mov eax,0x12345678 |
- | |
5243 | mov [esp+36],eax |
- | |
5244 | - | ||
5245 | ret |
- | |
5246 | - | ||
5247 | align 4 |
5111 | align 4 |
Line 5248... | Line 5112... | ||
5248 | 5112 | ||
5249 | read_from_hd: ; Read from hd - fn not in use |
5113 | read_from_hd: ; Read from hd - fn not in use |
5250 | 5114 | ||
Line 5319... | Line 5183... | ||
5319 | ; ----------------------------------------- |
5183 | ; ----------------------------------------- |
Line 5320... | Line 5184... | ||
5320 | 5184 | ||
Line 5321... | Line 5185... | ||
5321 | align 4 |
5185 | align 4 |
5322 | - | ||
5323 | undefined_syscall: ; Undefined system call |
5186 | |
5324 | 5187 | undefined_syscall: ; Undefined system call |
|
Line 5325... | Line 5188... | ||
5325 | mov [esp+36],dword -1 |
5188 | mov [esp + 32], dword -1 |
5326 | ret |
5189 | ret |