Subversion Repositories Kolibri OS

Rev

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