Newsgroup: it.comp.lang.visual-basic
Titolo: Modificare il BIOS.... è possibile ???

E' possibile modificare le impostazioni del BIOS attraverso Visual Basic ?

> E' possibile modificare le impostazioni del BIOS attraverso Visual Basic ?
No

 E' possibile modificare le impostazioni del BIOS attraverso Visual Basic ?
mmmh... so come si modificano... da DOS.
Ma cosa vuoi cambiare? Ormai chredo che nel BIOS sia rimasto ben poco di
standard, con tutte le impostazioni personalizzate che hanno le diverse
mobo.
Con l'assembler comunque è facile elggere e scrivere il bios. Il fatto è che
non saprei come farlo da VB.
La cosa più semplice è che crei 2 programmini con un prog da dos (che so,
pascal, c, od anche direttamente in assembler) che scrivono il bios i un
file, e lo rileggono dal file e lo mettono nel bios, così tu modifichi il
file da VB, e poi chiami i programmini per leggere/scrivere il bios.
Se serve posso trovare le info per leggere/scrivere il bios da assembler
(anni fà avevo fatto un prog che faceva qualcosa del genere)
Ciao, Max

Anzi, adesso che ci penso avevo trovato un programmino che faceva già la
lettura/scrittura da/in file del bios. prova a fare qualche ricerca su
internet, qualche utility del genere esiste di sicuro.
Max

 non saprei come farlo da VB.
quali sono le istruzioni assembler per leggere e modificare il BIOS ?
Ugo

 ha scritto nel messaggio
news:q9YZ6.7086$6x.3...@news.infostrada.it...


"Delta Hug" <xx@xx.x> ha scritto nel messaggio
news:xiZZ6.132$7N2....@news1.tin.it...

In riassumendo:
MOV AL,15h     ;imposto il byte della CMOS che voglio leggere/scrivere
OUT 70h,AL      ;lo spedisco al controller
ora devo leggere/scrivere il byte che ho indicato
per scrivere 57h nel byte 15h della CMOS devo fare:
MOV AL,57h
OUT 71h,AL
per leggere dalla CMOS e mettere in AL il contenuto del byte 15H della CMOS
devo fare:
IN     AL,71h
Questo qui sotto è un altro po di documentazione utile che ho trovato in
rete:
Onestamente non so quanto ci sia oggi nella CMOS di compatibile tra pc
diversi...
Ciao, Max
=======================================================================
To read or write CMOS RAM or Real time clock:
Out to port 70h the byte number to be accessed.
In or Out to port 71h to read or write the actual byte.
 The AT keeps its configuration settings in a Motorola MC146818 chip along
with the real-time clock. It has no 8255 chip as such, although the same
port
addresses are used to control the timer chip and receive data from the
keyboard. The chip has 64 registers numbered 00h-3Fh. To read a register,
first send its number to port address 70h and then read it from 71h.
            CMOS RAM map, PC/AT:
             offset          contents
               00h         Seconds
               01h         Second Alarm
               02h         Minutes
               03h         Minute Alarm
               04h         Hours
               05h         Hour Alarm
               06h         Day of the Week
               07h         Day of the Month
               08h         Month
               09h         Year
               0Ah         Status Register A
               0Bh         Status Register B
               0Ch         Status Register C
               0Dh         Status Register D
               0Eh         Diagnostic Status Byte
               0Fh         Shutdown Status Byte
               10h         Disk Drive Type for Drives A: and B:
                           The drive-type bytes use bits 0:3 for the first
                           drive and 4:7 for the other
                           Disk drive types:
                           00h         no drive present
                           01h         double sided 360k
                           02h         high capacity (1.2 meg)
                           03h-0Fh     reserved
               11h         (AT):Reserved    (PS/2):drive type for hard disk
C:
               12h         (PS/2):drive type for hard disk D:
                           (AT, XT/286):hard disk type for drives C: and D:
                           Format of drive-type entry for AT, XT/286:
                           0       number of cyls in drive (0-1023 allowed)
                           2       number of heads per drive (0-15 allowed)
                           3       starting reduced write compensation (not
                                   used on AT)
                           5       starting cylinder for write compensation
                           7       max. ECC data burst length, XT only
                           8       control byte
                                   Bit
                                   7    disable disk-access retries
                                   6    disable ECC retries
                                   5-4  reserved, set to zero
                                   3    more than 8 heads
                                   2-0  drive option on XT (not used by AT)
                           9       timeout value for XT (not used by AT)
                          12       landing zone cylinder number
                          14       number of sectors per track (default 17,
                                   0-17 allowed)
               13h         Reserved
               14h         Equipment Byte (corresponds to sw. 1 on PC and
XT)
               15h-16h     Base Memory Size      (low,high)
               17h-18h     Expansion Memory Size (low,high)
               19h-20h     Reserved
                           (PS/2) POS information Model 50 (60 and 80 use a
2k
                           CMOS RAM that is not accessible through software)
               21h-2Dh     Reserved (not checksummed)
               2Eh-2Fh     Checksum of bytes 10 through 20  (low,high)
               30h-31h     Exp. Memory Size as Determined by POST (low,high)
               32h         Date Century Byte
               33h         Information Flags (set during power-on)
               34h-3Fh     Reserved
            3) The alarm function is used to drive the BIOS WAIT function
               (int 15h function 90h).
           4) To access the configuration RAM write the byte address
(00-3Fh)
               you need to access to I/O port 70h, then access the data via
               I/O port 71h.
            5) CMOS RAM chip is a Motorola 146818.
            6) The equipment byte is used to determine the configuration for
               the POST power-on diagnostics.
            7) Bytes 00-0Dh are defined by the chip for timing functions,
               bytes 0Eh-3Fh are defined by IBM.
            8) Compaq 386 uses came CMOS chip as IBM AT. Extra functions:
               byte 45 (2Dh) stores aditional info not maintained by AT.
               bit 0   indicates is Compaq dual-mode monitor installed
                   1   indicates whether keyclick is enabled
                   2   not used
                   3   if non-Compaq graphics adapter installed

 ha scritto nel messaggio
news:3F_Z6.360$7N2....@news1.tin.it...
