Rev 1085 | Rev 1106 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1085 | Rev 1097 | ||
---|---|---|---|
Line 54... | Line 54... | ||
54 | ;; |
54 | ;; |
55 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
55 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 56... | Line 56... | ||
56 | 56 | ||
Line 57... | Line 57... | ||
57 | include 'macros.inc' |
57 | include 'macros.inc' |
Line 58... | Line 58... | ||
58 | 58 | ||
Line 59... | Line 59... | ||
59 | $Revision: 1085 $ |
59 | $Revision: 1097 $ |
Line 5363... | Line 5363... | ||
5363 | apm_vf dd 0 |
5363 | apm_vf dd 0 |
5364 | align 4 |
5364 | align 4 |
5365 | sys_apm: |
5365 | sys_apm: |
5366 | cmp word [apm_vf], 0 ; Check APM BIOS enable |
5366 | cmp word [apm_vf], 0 ; Check APM BIOS enable |
5367 | jne @f |
5367 | jne @f |
5368 | ; or [esp + 56], byte 1 ; error |
5368 | or [esp + 48], byte 1 ; error |
5369 | mov [esp + 36], dword 8 ; 32-bit protected-mode interface not supported |
5369 | mov [esp + 36], dword 8 ; 32-bit protected-mode interface not supported |
5370 | ret |
5370 | ret |
Line 5371... | Line 5371... | ||
5371 | 5371 | ||
5372 | @@: |
5372 | @@: |
5373 | xchg eax, ecx |
5373 | xchg eax, ecx |
Line 5374... | Line 5374... | ||
5374 | xchg ebx, ecx |
5374 | xchg ebx, ecx |
5375 | 5375 | ||
5376 | cmp al, 3 |
5376 | cmp al, 3 |
5377 | ja @f |
5377 | ja @f |
5378 | ;and [esp + 56], byte 0xfe ; emulate func 0..3 as func 0 ; bad idea modify EFLAGS... |
5378 | and [esp + 48], byte 0xfe ; emulate func 0..3 as func 0 |
5379 | mov eax, [apm_vf] |
5379 | mov eax, [apm_vf] |
5380 | mov [esp + 36], eax |
5380 | mov [esp + 36], eax |
5381 | shr eax, 16 |
5381 | shr eax, 16 |
Line 5402... | Line 5402... | ||
5402 | mov [esp + 12], esi |
5402 | mov [esp + 12], esi |
5403 | mov [esp + 24], ebx |
5403 | mov [esp + 24], ebx |
5404 | mov [esp + 28], edx |
5404 | mov [esp + 28], edx |
5405 | mov [esp + 32], ecx |
5405 | mov [esp + 32], ecx |
5406 | mov [esp + 36], eax |
5406 | mov [esp + 36], eax |
5407 | ; setc al |
5407 | setc al |
5408 | ; and [esp + 56], byte 0xfe |
5408 | and [esp + 48], byte 0xfe |
5409 | ; or [esp + 56], al |
5409 | or [esp + 48], al |
Line 5410... | Line 5410... | ||
5410 | 5410 | ||
5411 | 5411 |