![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить тип корпуса - АТ или АТХ?
Булат © (2003-06-24 10:18:00)
Подскажите, пожалуйста!
Булат (2003-06-25 12:24:00) [1]
Спасибо всем помогавшим!
DVM (2003-06-25 12:19:00) [2]
Вот тип корпуса никак не определить! А тип материнской платы можно. В ATX корпус можно поставить и не ATX материнскую плату.
Для материнской платы же уже написали.
Джо (2003-06-25 11:49:00) [3]
;
; Turn CPU off...
;
; D. Lindauer, July 11 1997
;
; This program is public domain
;
.model tiny
.code
org 100h
start:
jmp go
ver dw 0
banner db "Power Management utility V1.0 (LADSOFT) ",10,13,10,13,"$"
nopm db "No power management functionality",10,13,"$"
errmsg db "Power management error",10,13,"$"
wrongver db "Need APM version 1.1 or better",10,13,"$"
;
; Display routine
;
print:
mov ah,9
int 21h
ret
;
; Entry point
;
go:
mov dx,offset banner ; Display banner
call print
mov ax,5300h ; See if APM available
mov bx,0 ; device = BIOS
int 15h ;;/// Вот тут собственно и проверка!!!
mov dx,offset nopm
jc error
cmp ax,101h ; See if version 1.1 or greater
mov dx,offset wrongver
jc error
mov [ver],ax
mov ax,5301h ; Do a real mode connection
mov bx,0 ; device = BIOS
int 15h
jnc noconerr
cmp ah,2 ; Pass if already connected
mov dx,offset errmsg ; else error
jnz error
noconerr:
mov ax,530eh ; Enable latest version of APM
mov bx,0 ; device = BIOS
mov cx,[ver] ; version
int 15h
mov dx,offset errmsg
jc error
mov ax,530dh ; Now engage and enable CPU management
mov bx,1 ; device = all
mov cx,1 ; enable
int 15h
mov dx,offset errmsg
jc error
mov ax,530fh
mov bx,1 ; device = ALL
mov cx,1 ; enable
int 15h
mov dx,offset errmsg
jc error
mov ax,5307h ; Do the power down
mov bx,1 ; device = ALL
mov cx,3 ; mode = OFF
int 15h ; shutdown CPU
mov dx,offset errmsg
error:
call print
mov ax,4c01h
int 21h
int 3
end start
Вот тебе один пример выключения ATX корпуса на Assembler"e!!!
Игорь Шевченко (2003-06-25 11:43:00) [4]
RTFM: APM, ACPI
Джо (2003-06-25 11:35:00) [5]
Я не знаю можно ли писать Драйвера на Delphi. Я не пробывал и пробывать не хочу. Дело в том что Windows заприщает обычним Win32 пользователям доступ к Int 13h, Int 15h и т.д. потому что ты могбы повредить систему(Отформатировать HDD, Отклучить блок питания на прямую и т.д.). Твая здача написать Driver каторый узнаёт поддерживает ли твой BIOS ATX, если да то сам понимаешь что у тебя ATX порпус...
Булат (2003-06-25 09:07:00) [6]
2 Джо: Если Вам не трудно, нельзя ли поподробнее?
Джо (2003-06-24 21:00:00) [7]
Для этого нужно будет писать драйвер. Что бы узнать потдерживает ли он ATX-выключение. Помню что это делается через Int 15h
Dimka Maslov (2003-06-24 16:16:00) [8]
Также как определить ATX или AT