Rev 8985 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8985 | Rev 8986 | ||
---|---|---|---|
Line 75... | Line 75... | ||
75 | format binary as "mnt" |
75 | format binary as "mnt" |
Line 76... | Line 76... | ||
76 | 76 | ||
77 | include 'macros.inc' |
77 | include 'macros.inc' |
Line 78... | Line 78... | ||
78 | include 'struct.inc' |
78 | include 'struct.inc' |
Line 79... | Line 79... | ||
79 | 79 | ||
80 | $Revision: 8962 $ |
80 | $Revision: 8986 $ |
Line 1355... | Line 1355... | ||
1355 | pop eax |
1355 | pop eax |
1356 | ret |
1356 | ret |
Line 1357... | Line 1357... | ||
1357 | 1357 | ||
1358 | align 4 |
1358 | align 4 |
1359 | ;input eax=43,bl-byte of output, ecx - number of port |
1359 | ;input eax=43,bl-byte of output, ecx - number of port |
Line 1360... | Line 1360... | ||
1360 | sys_outport: |
1360 | syscall_outport: |
1361 | 1361 | ||
Line 1362... | Line 1362... | ||
1362 | mov edi, ecx ; separate flag for read / write |
1362 | mov edi, ecx ; separate flag for read / write |
Line 1412... | Line 1412... | ||
1412 | and eax, 0xff |
1412 | and eax, 0xff |
1413 | and [esp+32], dword 0 |
1413 | and [esp+32], dword 0 |
1414 | mov [esp+20], eax |
1414 | mov [esp+20], eax |
1415 | ret |
1415 | ret |
Line 1416... | Line 1416... | ||
1416 | 1416 | ||
1417 | display_number: |
1417 | syscall_putnumber: |
1418 | ; add check pointers |
1418 | ; add check pointers |
1419 | test bl, bl |
1419 | test bl, bl |
1420 | jz @f |
1420 | jz @f |
1421 | stdcall is_region_userspace, ecx, 1 |
1421 | stdcall is_region_userspace, ecx, 1 |
Line 1622... | Line 1622... | ||
1622 | iglobal |
1622 | iglobal |
1623 | midi_base dw 0 |
1623 | midi_base dw 0 |
1624 | endg |
1624 | endg |
1625 | ;----------------------------------------------------------------------------- |
1625 | ;----------------------------------------------------------------------------- |
1626 | align 4 |
1626 | align 4 |
1627 | sys_setup: |
1627 | syscall_setup: |
1628 | ; 1 = roland mpu midi base , base io address |
1628 | ; 1 = roland mpu midi base , base io address |
1629 | ; 2 = keyboard 1, base kaybap 2, shift keymap, 9 country 1eng 2fi 3ger 4rus |
1629 | ; 2 = keyboard 1, base kaybap 2, shift keymap, 9 country 1eng 2fi 3ger 4rus |
1630 | ; 3 = not used |
1630 | ; 3 = not used |
1631 | ; 4 = not used |
1631 | ; 4 = not used |
1632 | ; 5 = system language, 1eng 2fi 3ger 4rus |
1632 | ; 5 = system language, 1eng 2fi 3ger 4rus |
Line 1729... | Line 1729... | ||
1729 | .error: |
1729 | .error: |
1730 | or [esp+32], dword -1 |
1730 | or [esp+32], dword -1 |
1731 | ret |
1731 | ret |
1732 | ;----------------------------------------------------------------------------- |
1732 | ;----------------------------------------------------------------------------- |
1733 | align 4 |
1733 | align 4 |
1734 | sys_getsetup: |
1734 | syscall_getsetup: |
1735 | ; 1 = roland mpu midi base , base io address |
1735 | ; 1 = roland mpu midi base , base io address |
1736 | ; 2 = keyboard 1, base kaybap 2, shift keymap, 9 country 1eng 2fi 3ger 4rus |
1736 | ; 2 = keyboard 1, base kaybap 2, shift keymap, 9 country 1eng 2fi 3ger 4rus |
1737 | ; 3 = not used |
1737 | ; 3 = not used |
1738 | ; 4 = not used |
1738 | ; 4 = not used |
1739 | ; 5 = system language, 1eng 2fi 3ger 4rus |
1739 | ; 5 = system language, 1eng 2fi 3ger 4rus |
Line 1865... | Line 1865... | ||
1865 | ;----------------------------------------------------------------------------- |
1865 | ;----------------------------------------------------------------------------- |
1866 | get_timer_ticks: |
1866 | get_timer_ticks: |
1867 | mov eax, [timer_ticks] |
1867 | mov eax, [timer_ticks] |
1868 | ret |
1868 | ret |
1869 | ;----------------------------------------------------------------------------- |
1869 | ;----------------------------------------------------------------------------- |
1870 | readmousepos: |
1870 | syscall_get_mouse_pos: |
1871 | ; eax=0 screen relative |
1871 | ; eax=0 screen relative |
1872 | ; eax=1 window relative |
1872 | ; eax=1 window relative |
1873 | ; eax=2 buttons pressed |
1873 | ; eax=2 buttons pressed |
1874 | ; eax=3 buttons pressed ext |
1874 | ; eax=3 buttons pressed ext |
1875 | ; eax=4 load cursor |
1875 | ; eax=4 load cursor |
Line 2019... | Line 2019... | ||
2019 | 2019 | ||
Line 2020... | Line 2020... | ||
2020 | 2020 | ||
2021 | 2021 | ||
2022 | align 4 |
2022 | align 4 |
2023 | 2023 | ||
2024 | sys_midi: |
2024 | syscall_midi: |
2025 | cmp [mididp], 0 |
2025 | cmp [mididp], 0 |
Line 2077... | Line 2077... | ||
2077 | ;include 'detect/dev_hdcd.inc' |
2077 | ;include 'detect/dev_hdcd.inc' |
2078 | ;include 'detect/sear_par.inc' |
2078 | ;include 'detect/sear_par.inc' |
2079 | ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
2079 | ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
2080 | ret |
2080 | ret |
Line 2081... | Line 2081... | ||
2081 | 2081 | ||
2082 | sys_end: |
2082 | syscall_end: |
2083 | ;-------------------------------------- |
2083 | ;-------------------------------------- |
2084 | cmp [_display.select_cursor], 0 |
2084 | cmp [_display.select_cursor], 0 |
2085 | je @f |
2085 | je @f |
2086 | ; restore default cursor before killing |
2086 | ; restore default cursor before killing |
Line 2172... | Line 2172... | ||
2172 | 2172 | ||
2173 | dd sysfn_zmodif ; 25 = get/set window z modifier ;Fantomer |
2173 | dd sysfn_zmodif ; 25 = get/set window z modifier ;Fantomer |
2174 | sysfn_num = ($ - sys_system_table)/4 |
2174 | sysfn_num = ($ - sys_system_table)/4 |
2175 | endg |
2175 | endg |
2176 | ;------------------------------------------------------------------------------ |
2176 | ;------------------------------------------------------------------------------ |
2177 | sys_system: |
2177 | syscall_system: |
2178 | dec ebx |
2178 | dec ebx |
2179 | cmp ebx, sysfn_num |
2179 | cmp ebx, sysfn_num |
2180 | jae @f |
2180 | jae @f |
2181 | jmp dword [sys_system_table + ebx*4] |
2181 | jmp dword [sys_system_table + ebx*4] |
Line 2301... | Line 2301... | ||
2301 | shl edi, 5 |
2301 | shl edi, 5 |
2302 | add edi, window_data |
2302 | add edi, window_data |
2303 | movzx esi, word [WIN_STACK + ecx * 2] |
2303 | movzx esi, word [WIN_STACK + ecx * 2] |
2304 | lea esi, [WIN_POS + esi * 2] |
2304 | lea esi, [WIN_POS + esi * 2] |
2305 | call window._.window_deactivate |
2305 | call window._.window_deactivate |
2306 | call syscall_display_settings.calculateScreen |
2306 | call syscall_window_styles.calculateScreen |
2307 | call syscall_display_settings.redrawScreen |
2307 | call syscall_window_styles.redrawScreen |
2308 | .nowindowdeactivate: |
2308 | .nowindowdeactivate: |
2309 | ret |
2309 | ret |
2310 | ;------------------------------------------------------------------------------ |
2310 | ;------------------------------------------------------------------------------ |
2311 | sysfn_activate: ; 18.3 = ACTIVATE WINDOW |
2311 | sysfn_activate: ; 18.3 = ACTIVATE WINDOW |
2312 | cmp ecx, 2 |
2312 | cmp ecx, 2 |
Line 2670... | Line 2670... | ||
2670 | .rev dd __REV__ |
2670 | .rev dd __REV__ |
2671 | version_end: |
2671 | version_end: |
2672 | endg |
2672 | endg |
2673 | ;------------------------------------------------------------------------------ |
2673 | ;------------------------------------------------------------------------------ |
2674 | align 4 |
2674 | align 4 |
2675 | sys_cachetodiskette: |
2675 | syscall_cachetodiskette: |
2676 | cmp ebx, 1 |
2676 | cmp ebx, 1 |
2677 | jb .no_floppy_save |
2677 | jb .no_floppy_save |
2678 | cmp ebx, 2 |
2678 | cmp ebx, 2 |
2679 | ja .no_floppy_save |
2679 | ja .no_floppy_save |
2680 | call save_image |
2680 | call save_image |
Line 2690... | Line 2690... | ||
2690 | bgrlockpid dd 0 |
2690 | bgrlockpid dd 0 |
2691 | bgrlock db 0 |
2691 | bgrlock db 0 |
2692 | endg |
2692 | endg |
2693 | ;------------------------------------------------------------------------------ |
2693 | ;------------------------------------------------------------------------------ |
2694 | align 4 |
2694 | align 4 |
2695 | sys_background: |
2695 | syscall_background: |
2696 | cmp ebx, 1 ; BACKGROUND SIZE |
2696 | cmp ebx, 1 ; BACKGROUND SIZE |
2697 | jnz nosb1 |
2697 | jnz nosb1 |
2698 | test ecx, ecx |
2698 | test ecx, ecx |
2699 | jz sbgrr |
2699 | jz sbgrr |
Line 3043... | Line 3043... | ||
3043 | inc [REDRAW_BACKGROUND] |
3043 | inc [REDRAW_BACKGROUND] |
3044 | call wakeup_osloop |
3044 | call wakeup_osloop |
3045 | ret |
3045 | ret |
3046 | ;------------------------------------------------------------------------------ |
3046 | ;------------------------------------------------------------------------------ |
3047 | align 4 |
3047 | align 4 |
3048 | sys_getbackground: |
3048 | syscall_getbackground: |
3049 | ; cmp eax,1 ; SIZE |
3049 | ; cmp eax,1 ; SIZE |
3050 | dec ebx |
3050 | dec ebx |
3051 | jnz nogb1 |
3051 | jnz nogb1 |
3052 | mov eax, [BgrDataWidth] |
3052 | mov eax, [BgrDataWidth] |
3053 | shl eax, 16 |
3053 | shl eax, 16 |
Line 3098... | Line 3098... | ||
3098 | nogb4: |
3098 | nogb4: |
3099 | mov [esp+32], eax |
3099 | mov [esp+32], eax |
3100 | ret |
3100 | ret |
3101 | ;------------------------------------------------------------------------------ |
3101 | ;------------------------------------------------------------------------------ |
3102 | align 4 |
3102 | align 4 |
3103 | sys_getkey: |
3103 | syscall_getkey: |
3104 | mov [esp + 32], dword 1 |
3104 | mov [esp + 32], dword 1 |
3105 | ; test main buffer |
3105 | ; test main buffer |
3106 | mov ebx, [current_slot_idx] ; TOP OF WINDOW STACK |
3106 | mov ebx, [current_slot_idx] ; TOP OF WINDOW STACK |
3107 | movzx ecx, word [WIN_STACK + ebx * 2] |
3107 | movzx ecx, word [WIN_STACK + ebx * 2] |
3108 | mov edx, [thread_count] |
3108 | mov edx, [thread_count] |
Line 3155... | Line 3155... | ||
3155 | and dword [ecx + 4], 0 |
3155 | and dword [ecx + 4], 0 |
3156 | and dword [ecx], 0 |
3156 | and dword [ecx], 0 |
3157 | jmp .ret_eax |
3157 | jmp .ret_eax |
3158 | ;------------------------------------------------------------------------------ |
3158 | ;------------------------------------------------------------------------------ |
3159 | align 4 |
3159 | align 4 |
3160 | sys_getbutton: |
3160 | syscall_getbutton: |
3161 | mov ebx, [current_slot_idx] ; TOP OF WINDOW STACK |
3161 | mov ebx, [current_slot_idx] ; TOP OF WINDOW STACK |
3162 | mov [esp + 32], dword 1 |
3162 | mov [esp + 32], dword 1 |
3163 | movzx ecx, word [WIN_STACK + ebx * 2] |
3163 | movzx ecx, word [WIN_STACK + ebx * 2] |
3164 | mov edx, [thread_count] ; less than 256 processes |
3164 | mov edx, [thread_count] ; less than 256 processes |
3165 | cmp ecx, edx |
3165 | cmp ecx, edx |
Line 3175... | Line 3175... | ||
3175 | align 4 |
3175 | align 4 |
3176 | .exit: |
3176 | .exit: |
3177 | ret |
3177 | ret |
3178 | ;------------------------------------------------------------------------------ |
3178 | ;------------------------------------------------------------------------------ |
3179 | align 4 |
3179 | align 4 |
3180 | sys_cpuusage: |
3180 | syscall_thread_info: |
Line 3181... | Line 3181... | ||
3181 | 3181 | ||
3182 | ; RETURN: |
3182 | ; RETURN: |
3183 | ; |
3183 | ; |
3184 | ; +00 dword process cpu usage |
3184 | ; +00 dword process cpu usage |
Line 3285... | Line 3285... | ||
3285 | .addr_error: ; if given memory address is illegal |
3285 | .addr_error: ; if given memory address is illegal |
3286 | mov dword [esp+32], -1 |
3286 | mov dword [esp+32], -1 |
3287 | ret |
3287 | ret |
Line 3288... | Line 3288... | ||
3288 | 3288 | ||
3289 | align 4 |
3289 | align 4 |
3290 | sys_clock: |
3290 | syscall_clock: |
3291 | cli |
3291 | cli |
3292 | ; Mikhail Lisovin xx Jan 2005 |
3292 | ; Mikhail Lisovin xx Jan 2005 |
3293 | @@: |
3293 | @@: |
3294 | mov al, 10 |
3294 | mov al, 10 |
Line 3323... | Line 3323... | ||
3323 | ret |
3323 | ret |
Line 3324... | Line 3324... | ||
3324 | 3324 | ||
Line 3325... | Line 3325... | ||
3325 | 3325 | ||
Line 3326... | Line 3326... | ||
3326 | align 4 |
3326 | align 4 |
3327 | 3327 | ||
3328 | sys_date: |
3328 | syscall_date: |
3329 | 3329 | ||
Line 3358... | Line 3358... | ||
3358 | ret |
3358 | ret |
Line 3359... | Line 3359... | ||
3359 | 3359 | ||
Line 3360... | Line 3360... | ||
3360 | 3360 | ||
3361 | ; redraw status |
3361 | ; redraw status |
3362 | 3362 | ||
3363 | sys_redrawstat: |
3363 | syscall_redrawstat: |
3364 | cmp ebx, 1 |
3364 | cmp ebx, 1 |
3365 | jne no_widgets_away |
3365 | jne no_widgets_away |
Line 3774... | Line 3774... | ||
3774 | 3774 | ||
3775 | pushad |
3775 | pushad |
Line 3776... | Line 3776... | ||
3776 | push eax |
3776 | push eax |
3777 | 3777 | ||
Line 3778... | Line 3778... | ||
3778 | ;;; mov ebx,2 |
3778 | ;;; mov ebx,2 |
3779 | ;;; call delay_hs |
3779 | ;;; call sys_delay_hs |
3780 | 3780 | ||
3781 | ;mov ecx,0 ; redraw flags for apps |
3781 | ;mov ecx,0 ; redraw flags for apps |
Line 4046... | Line 4046... | ||
4046 | .done: |
4046 | .done: |
4047 | popad |
4047 | popad |
4048 | ret |
4048 | ret |
4049 | ;----------------------------------------------------------------------------- |
4049 | ;----------------------------------------------------------------------------- |
4050 | align 4 |
4050 | align 4 |
4051 | set_app_param: |
4051 | syscall_set_eventmask: |
4052 | mov edi, [TASK_BASE] |
4052 | mov edi, [TASK_BASE] |
4053 | mov eax, ebx |
4053 | mov eax, ebx |
4054 | xchg eax, [edi + TASKDATA.event_mask] ; set new event mask |
4054 | xchg eax, [edi + TASKDATA.event_mask] ; set new event mask |
4055 | mov [esp+32], eax ; return old mask value |
4055 | mov [esp+32], eax ; return old mask value |
4056 | ret |
4056 | ret |
4057 | ;----------------------------------------------------------------------------- |
4057 | ;----------------------------------------------------------------------------- |
Line 4058... | Line 4058... | ||
4058 | 4058 | ||
4059 | ; this is for syscall |
4059 | ; this is for syscall |
4060 | proc delay_hs_unprotected |
4060 | proc syscall_delay_hs_unprotected |
4061 | call unprotect_from_terminate |
4061 | call unprotect_from_terminate |
4062 | call delay_hs |
4062 | call sys_delay_hs |
4063 | call protect_from_terminate |
4063 | call protect_from_terminate |
4064 | ret |
4064 | ret |
Line 4065... | Line 4065... | ||
4065 | endp |
4065 | endp |
4066 | 4066 | ||
4067 | if 1 |
4067 | if 1 |
4068 | align 4 |
4068 | align 4 |
Line 4069... | Line 4069... | ||
4069 | delay_hs: ; delay in 1/100 secs |
4069 | sys_delay_hs: ; delay in 1/100 secs |
4070 | ; ebx = delay time |
4070 | ; ebx = delay time |
4071 | 4071 | ||
Line 4091... | Line 4091... | ||
4091 | ret |
4091 | ret |
Line 4092... | Line 4092... | ||
4092 | 4092 | ||
Line 4093... | Line 4093... | ||
4093 | else |
4093 | else |
4094 | 4094 | ||
4095 | align 4 |
4095 | align 4 |
4096 | delay_hs: ; delay in 1/100 secs |
4096 | sys_delay_hs: ; delay in 1/100 secs |
4097 | ; ebx = delay time |
4097 | ; ebx = delay time |
Line 4098... | Line 4098... | ||
4098 | push ecx |
4098 | push ecx |
Line 4435... | Line 4435... | ||
4435 | pop ebp esi ebp |
4435 | pop ebp esi ebp |
4436 | ret |
4436 | ret |
4437 | ; jmp [draw_pointer] |
4437 | ; jmp [draw_pointer] |
4438 | ;----------------------------------------------------------------------------- |
4438 | ;----------------------------------------------------------------------------- |
4439 | align 4 |
4439 | align 4 |
4440 | sys_putimage_palette: |
4440 | syscall_putimage_palette: |
4441 | ; ebx = pointer to image |
4441 | ; ebx = pointer to image |
4442 | ; ecx = [xsize]*65536 + [ysize] |
4442 | ; ecx = [xsize]*65536 + [ysize] |
4443 | ; edx = [xstart]*65536 + [ystart] |
4443 | ; edx = [xstart]*65536 + [ystart] |
4444 | ; esi = number of bits per pixel, must be 8, 24 or 32 |
4444 | ; esi = number of bits per pixel, must be 8, 24 or 32 |
4445 | ; edi = pointer to palette |
4445 | ; edi = pointer to palette |
Line 4840... | Line 4840... | ||
4840 | @@: |
4840 | @@: |
4841 | cmp [esi], byte 0 |
4841 | cmp [esi], byte 0 |
4842 | je @f |
4842 | je @f |
4843 | mov ebx, 1 |
4843 | mov ebx, 1 |
4844 | movzx ecx, byte [esi] |
4844 | movzx ecx, byte [esi] |
4845 | call sys_msg_board |
4845 | call syscall_msg_board |
4846 | inc esi |
4846 | inc esi |
4847 | jmp @b |
4847 | jmp @b |
4848 | @@: |
4848 | @@: |
4849 | popad |
4849 | popad |
4850 | ret |
4850 | ret |
Line 4882... | Line 4882... | ||
4882 | sbb al, 69h |
4882 | sbb al, 69h |
4883 | das |
4883 | das |
4884 | mov cl, al |
4884 | mov cl, al |
4885 | xor ebx, ebx |
4885 | xor ebx, ebx |
4886 | inc ebx |
4886 | inc ebx |
4887 | call sys_msg_board |
4887 | call syscall_msg_board |
4888 | pop eax |
4888 | pop eax |
4889 | pop ecx |
4889 | pop ecx |
4890 | loop @b |
4890 | loop @b |
4891 | popad |
4891 | popad |
4892 | ret |
4892 | ret |
Line 4900... | Line 4900... | ||
4900 | 4900 | ||
4901 | iglobal |
4901 | iglobal |
4902 | msg_board_pos dd 42*6*65536+10 ; for printing debug output on the screen |
4902 | msg_board_pos dd 42*6*65536+10 ; for printing debug output on the screen |
Line 4903... | Line 4903... | ||
4903 | endg |
4903 | endg |
4904 | 4904 | ||
4905 | sys_msg_board: |
4905 | syscall_msg_board: |
4906 | ; ebx=1 -> write, cl = byte to write |
4906 | ; ebx=1 -> write, cl = byte to write |
4907 | ; ebx=2 -> read, ecx=0 -> no data, ecx=1 -> data in al |
4907 | ; ebx=2 -> read, ecx=0 -> no data, ecx=1 -> data in al |
4908 | push eax ebx |
4908 | push eax ebx |
Line 4998... | Line 4998... | ||
4998 | ;; out eax ;; |
4998 | ;; out eax ;; |
4999 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
4999 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
5000 | iglobal |
5000 | iglobal |
5001 | align 4 |
5001 | align 4 |
5002 | f66call: |
5002 | f66call: |
5003 | dd sys_process_def.1 ; 1 = set keyboard mode |
5003 | dd syscall_process_def.1 ; 1 = set keyboard mode |
5004 | dd sys_process_def.2 ; 2 = get keyboard mode |
5004 | dd syscall_process_def.2 ; 2 = get keyboard mode |
5005 | dd sys_process_def.3 ; 3 = get keyboard ctrl, alt, shift |
5005 | dd syscall_process_def.3 ; 3 = get keyboard ctrl, alt, shift |
5006 | dd sys_process_def.4 ; 4 = set system-wide hotkey |
5006 | dd syscall_process_def.4 ; 4 = set system-wide hotkey |
5007 | dd sys_process_def.5 ; 5 = delete installed hotkey |
5007 | dd syscall_process_def.5 ; 5 = delete installed hotkey |
5008 | dd sys_process_def.6 ; 6 = disable input, work only hotkeys |
5008 | dd syscall_process_def.6 ; 6 = disable input, work only hotkeys |
5009 | dd sys_process_def.7 ; 7 = enable input, opposition to f.66.6 |
5009 | dd syscall_process_def.7 ; 7 = enable input, opposition to f.66.6 |
5010 | endg |
5010 | endg |
5011 | ;----------------------------------------------------------------------------- |
5011 | ;----------------------------------------------------------------------------- |
5012 | align 4 |
5012 | align 4 |
5013 | sys_process_def: |
5013 | syscall_process_def: |
5014 | dec ebx |
5014 | dec ebx |
5015 | cmp ebx, 7 |
5015 | cmp ebx, 7 |
5016 | jae .not_support ;if >=8 then or eax,-1 |
5016 | jae .not_support ;if >=8 then or eax,-1 |
Line 5017... | Line 5017... | ||
5017 | 5017 | ||
Line 5148... | Line 5148... | ||
5148 | ;; out eax ;; |
5148 | ;; out eax ;; |
5149 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
5149 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
5150 | iglobal |
5150 | iglobal |
5151 | align 4 |
5151 | align 4 |
5152 | f61call: |
5152 | f61call: |
5153 | dd sys_gs.1 ; resolution |
5153 | dd syscall_dga.1 ; resolution |
5154 | dd sys_gs.2 ; bits per pixel |
5154 | dd syscall_dga.2 ; bits per pixel |
5155 | dd sys_gs.3 ; bytes per scanline |
5155 | dd syscall_dga.3 ; bytes per scanline |
5156 | endg |
5156 | endg |
Line 5157... | Line 5157... | ||
5157 | 5157 | ||
Line 5158... | Line 5158... | ||
5158 | 5158 | ||
5159 | align 4 |
5159 | align 4 |
5160 | 5160 | ||
5161 | sys_gs: ; direct screen access |
5161 | syscall_dga: ; direct screen access |
5162 | dec ebx |
5162 | dec ebx |
5163 | cmp ebx, 2 |
5163 | cmp ebx, 2 |
Line 5689... | Line 5689... | ||
5689 | apm_entry dp 0 |
5689 | apm_entry dp 0 |
5690 | apm_vf dd 0 |
5690 | apm_vf dd 0 |
5691 | endg |
5691 | endg |
Line 5692... | Line 5692... | ||
5692 | 5692 | ||
5693 | align 4 |
5693 | align 4 |
5694 | sys_apm: |
5694 | syscall_apm: |
5695 | xor eax, eax |
5695 | xor eax, eax |
5696 | cmp word [apm_vf], ax ; Check APM BIOS enable |
5696 | cmp word [apm_vf], ax ; Check APM BIOS enable |
5697 | jne @f |
5697 | jne @f |
5698 | inc eax |
5698 | inc eax |
Line 5741... | Line 5741... | ||
5741 | or [esp + 44], al |
5741 | or [esp + 44], al |
5742 | ret |
5742 | ret |
5743 | ; ----------------------------------------- |
5743 | ; ----------------------------------------- |
Line 5744... | Line 5744... | ||
5744 | 5744 | ||
5745 | align 4 |
5745 | align 4 |
5746 | undefined_syscall: ; Undefined system call |
5746 | syscall_undefined: ; Undefined system call |
5747 | mov [esp + 32], dword -1 |
5747 | mov [esp + 32], dword -1 |
Line 5748... | Line 5748... | ||
5748 | ret |
5748 | ret |
5749 | 5749 |