📄 cmos.lst
字号:
VAR
I : BYTE;
C : CHAR;
S : STRING[8];
BEGIN
I := 0;
WHILE PasswordValue <> 0 DO
BEGIN
Inc( I );
IF $263 > PasswordValue THEN
BEGIN
IF $80 > PasswordValue THEN
S[I] := CHAR( PasswordValue )
ELSE IF $B0 > PasswordValue THEN
S[I] := CHAR( PasswordValue AND $77 )
ELSE IF $11D > PasswordValue THEN
S[I] := CHAR( $30 OR ( PasswordValue AND $0F ) )
ELSE IF $114 > PasswordValue THEN
BEGIN
S[I] := CHAR( $64 OR ( PasswordValue AND $0F ) );
IF '0' > S[I] THEN
S[I] := CHAR( BYTE( S[I] ) + 8 );
END ELSE IF $1C2 > PasswordValue THEN
S[I] := CHAR( $70 OR ( PasswordValue AND $03 ) )
ELSE IF $1E4 > PasswordValue THEN
S[I] := CHAR( $30 OR ( PasswordValue AND $03 ) )
ELSE
BEGIN
S[I] := CHAR( $70 OR ( PasswordValue AND $0F ) );
IF 'z' < S[I] THEN
S[I] := CHAR( BYTE( S[I] ) - 8 );
END;
END ELSE
S[I] := CHAR( $30 OR ( PasswordValue AND $3 ) );
PasswordValue := ( PasswordValue - BYTE( S[I] ) ) SHR 2;
END;
S[0] := CHAR( I );
PasswordValue := I SHR 1;
WHILE PasswordValue < I DO
BEGIN {this is to do because award starts calculating with the last letter}
C := S[BYTE( S[0] ) - I + 1];
S[BYTE( S[0] ) - I + 1] := S[I];
S[I] := C;
Dec( I );
END;
CalcPossiblePassword := S;
END;
"Okay, the algorithms based on the knowlege, that the award-bios' 4.50 and 4.51
but not (seems to) with earlier versions stores only the last 2 bit of every
character typed in..."
int CalcPasswordCRC( char pw[8] ): word
{
register int i = 8;
register unsigned w = 0;
while( i-- )
w |= ( unsigned( pw[i] ) & 0x3 ) << ( i * 2 );
return w;
}
----------R11--------------------------------
CMOS 11h - Quadtel HT12 BIOS 03.05.03 - CONFIGURATION BITS
Bitfields for Quadtel HT12 configuration bits:
Bit(s) Description (Table C0013)
7 640K RAM present
6 extension type (=CPU's Machine Status Word)
3-2 NumLock state at boot time
00 Auto
01 NumLock on
10 Numlock off
0 384K RAM relocated to top of memory
----------R12--------------------------------
CMOS 12h - IBM - HARD DISK DATA
Notes: A PC with a single type 2 (20 Mb ST-225) hard disk will have 20h in
byte 12h
some PCs utilizing external disk controller ROMs will use type 0 to
disable ROM BIOS (e.g. Zenith 248 with Plus HardCard).
Bitfields for IBM hard disk data:
Bit(s) Description (Table C0014)
7-4 First Hard Disk Drive
00 No drive
01-0Eh Hard drive Type 1-14
0Fh Hard Disk Type 16-255
(actual Hard Drive Type is in CMOS RAM 19h)
3-0 Second Hard Disk Drive Type
(same as first except extrnded type will be found in 1Ah).
----------R12--------------------------------
CMOS 12h - IBM PS/2 - SECOND FIXED DISK DRIVE TYPE (00-FFh)
SeeAlso: CMOS 11h"IBM PS/2"
----------R13--------------------------------
CMOS 13h - AMI Hi-Flex BIOS - ADVANCED SETUP OPTIONS
SeeAlso: CMOS 11h"WinBIOS"
Bitfields for AMI Hi-Flex BIOS advanced setup options:
Bit(s) Description (Table C0015)
7 Mouse Enabled (1 = On)
6 Test Memory above 1 MB (1 = On)
5 Memory Test Tick Sound (1 = On)
4 Memory Parity Error Check (1 = On)
3 Press <Esc> to Disable Memory Test (1 = On)
2 User-Defined Hard Disk (1 = Type 47 data area at address 0:300h)
1 Wait for <F1> Message if Error (1 = On)
0 Turn Num Lock On at boot (1 = On)
----------R13--------------------------------
CMOS 13h - AMI WinBIOS - PERIPHERAL OPTIONS
Bitfields for AMI WinBIOS peripheral options:
Bit(s) Description (Table C0016)
7-5 typematic rate
000-111 = 6,8,10,12,15,20,24,30 cps
4 numeric processor test enabled
----------R13--------------------------------
CMOS 13h - PS/2 MCA - INTERNAL POST OPERATIONS
Bitfields for PS/2 MCA internal POST operations:
Bit(s) Description (Table C0017)
7 POST sets VGA pel information
6 RTC battery OK
5 invoke ROM BASIC from POST
4 POST sets typematic to 30cps/250ms delay instead of 10.9cps/500ms
3-2 unused or unknown
1 network password installed
0 power-on password installed
----------R13--------------------------------
CMOS 13h - AWARD - Configuration Bits
Bitfields for AWARD configuration bits:
Bit(s) Description (Table C0018)
7 set keyboard typematic rate
4-6 keyboard repeat rate
000 = 6 cps
001 = 8 cps
010 = 10 cps
011 = 12 cps
100 = 15 cps
101 = 20 cps
110 = 24 cps
111 = 30 cps
2-3 keyboard typematic delay
00 = 250 Msec
01 = 500 Msec
10 = 750 Msec
11 = 1000 Msec
1 ???
0 boot up floppy seek
----------R14--------------------------------
CMOS 14h - IBM - EQUIPMENT BYTE
Bitfields for IBM equipment byte:
Bit(s) Description (Table C0019)
7-6 number of floppy drives (system must have at least one)
00b 1 Drive
01b 2 Drives
10b ??? 3 Drives
11b ??? 4 Drives
5-4 monitor type
00b Not CGA or MDA (observed for EGA & VGA)
01b 40x25 CGA
10b 80x25 CGA
11b MDA (Monochrome)
3 display enabled (turned off to enable boot of rackmount)
2 keyboard enabled (turn off to enable boot of rackmount)
1 math coprocessor installed
0 floppy drive installed (turned off for rackmount boot)
----------R14--------------------------------
CMOS 14h - AMSTRAD - BYTE user RAM checksum
Desc: LSB of sum of all user bytes should be AAh
----------R15--------------------------------
CMOS 15h - IBM - BASE MEMORY IN KB (low byte)
----------R1516------------------------------
CMOS 15h-16h - AMSTRAD - Enter key scancode/ASCII code
Size: WORD
Desc: specify the BIOS keycode for keyboard scancode 74h
Note: default: 1C0Dh - emulates Return key
SeeAlso: INT 09,CMOS 17h"AMSTRAD"
----------R16--------------------------------
CMOS 16h - IBM - BASE MEMORY IN KB (high byte)
Note: The value in 15h-16h should be the same as in 0:413h and that
returned by INT 12h. A PC having 640k (280h) of conventional
memory will return 80h in byte 15h and 02h in byte 16h.
----------R17--------------------------------
CMOS 17h - IBM - EXTENDED MEMORY IN KB (low byte)
----------R1718------------------------------
CMOS 17h-18h - AMSTRAD - Forward delete key scancode/ASCII code
Size: WORD
Desc: specify the BIOS keycode for keyboard scancode 70h
Note: default: 2207h - emulates ^G (bell/beep)
SeeAlso: INT 09,CMOS 15h"AMSTRAD",CMOS 19h"AMSTRAD"
----------R18--------------------------------
CMOS 18h - IBM - EXTENDED MEMORY IN KB (high byte)
Notes: some systems will only accommodate 15 MB extended (16 MB total)
Format is the same as in 15h-16h
----------R19--------------------------------
CMOS 19h - IBM - FIRST EXTENDED HARD DISK DRIVE TYPE
Note: not in original AT specification but now nearly universally used
except for PS/2.
(Table C0020)
Values for extended hard disk drive type:
00-0Fh unused (would not require extension. Note: this has the effect of
making type 0Fh (15d) unavailable.
10h-FFh First Extended Hard Drive Type 16d-255d
Note: For most manufacturers the last drive type (typically either 47d or 49d)
is "user defined" and parameters are stored elsewhere in the CMOS.
----------R19--------------------------------
CMOS 19h - MCA - SLOT 0 ADAPTER CARD ID
----------R19--------------------------------
CMOS 19h - AMI - ???
Bitfields for AMI location 19h:
Bit(s) Description (Table C0021)
3-0 ???
7-4 ???
----------R191A------------------------------
CMOS 19h-1Ah - AMSTRAD - Joystick fire button 1 scancode/ASCII code
Size: WORD
Desc: specify the BIOS keycode for keyboard scancode 77h
Note: default: FFFFh - (no translation)
SeeAlso: INT 09,CMOS 17h"AMSTRAD",CMOS 1Bh"AMSTRAD"
----------R1A--------------------------------
CMOS 1Ah - SECOND EXTENDED HARD DISK DRIVE TYPE
SeeAlso: CMOS 19h"IBM",#C0020
----------R1A--------------------------------
CMOS 1Ah - MCA - SLOT 0 ADAPTER CARD ID
----------R1B--------------------------------
CMOS 1Bh - MCA - SLOT 1 ADAPTER CARD ID
----------R1B--------------------------------
CMOS 1Bh - AMI - First Hard Disk (type 47) user defined: # of Cylinders, LSB
----------R1B1C------------------------------
CMOS 1Bh-1Ch - AMSTRAD - Joystick fire button 2 scancode/ASCII code
Size: WORD
Desc: specify the BIOS keycode for keyboard scancode 78h
Note: default: FFFFh - (no translation)
SeeAlso: INT 09,CMOS 19h"AMSTRAD",CMOS 1Dh"AMSTRAD"
----------R1B--------------------------------
CMOS 1Bh - PHOENIX - LSB of Word to 82335 RC1 roll compare register
----------R1B--------------------------------
CMOS 1Bh - AWARD - CONFIGURATION BITS
Bitfields for AWARD shadow RAM configuration bits:
Bit(s) Description (Table C0022)
7-4 ???
3 Shadow ROM BIOS at DC00-DFFF
2 shadow " " " D800-DBFF
1 shadow " " " D400-D7FF
0 shadow " " " D000-D3FF
----------R1C--------------------------------
CMOS 1Ch - MCA - SLOT 1 ADAPTER CARD ID
----------R1C--------------------------------
CMOS 1Ch - AMI - First Hard Disk user defined: # of Cylinders, High Byte
----------R1C--------------------------------
CMOS 1Ch - PHOENIX - MSB of Word to 82335 RC1 roll compare register
--------y-R1C--------------------------------
CMOS 1Ch,1Dh - AWARD - Password
Note: Stored as a checksum using the following algorithm:
initialize 16-bit checksum to zero
for each ASCII character between 32 (space) and 127 (DEL) in the
password, add character to checksum, then rotate left two bits
store low byte of result in 1Ch and high byte in 1Dh (for user
password, use locations 4Dh and 4Eh instead)
SeeAlso: CMOS 4Dh"AWARD"
----------R1D--------------------------------
CMOS 1Dh - MCA - SLOT 2 ADAPTER CARD ID
----------R1D--------------------------------
CMOS 1Dh - AMI - First Hard Disk user defined: Number of Heads
----------R1D--------------------------------
CMOS 1Dh - AMSTRAD - mouse button 1 scancode/ASCII code
Size: WORD
Desc: specify the BIOS keycode for keyboard scancode 7Dh
Note: default: FFFFh - (no translation)
SeeAlso: INT 09,CMOS 1Bh"AMSTRAD",CMOS 1Fh"AMSTRAD"
----------R1D--------------------------------
CMOS 1Dh - Zenith Z-200 monitor - BOOT DRIVE SELECTION
Bitfields for Zenith Z-200 boot drive selection:
Bit(s) Description (Table C0023)
6-5 (0xx0 0000)
00 - MFM Monitor
01 - First floppy drive (A:)
10 - First fixed disk (C:)
11 - First floppy drive (A:). If not there then First fixed disk (C:)
(this is the default).
----------R1D--------------------------------
CMOS 1Dh - PHOENIX - LSB of Word to 82335 RC2 roll compare register
--------y-R1D--------------------------------
CMOS 1Dh - AWARD - MSB of password checksum (see byte 1Ch)
----------R1D--------------------------------
CMOS 1Dh - Quadtel HT 12 BIOS - first user def. drive: # of cylinders low byte
----------R1E--------------------------------
CMOS 1Eh - MCA - SLOT 2 ADAPTER CARD ID
----------R1E--------------------------------
CMOS 1Eh - AMI - First Hard Disk user defined: WPC-low
Desc: Write Precompensation Cylinder, Low Byte, for first user-defined hard
disk
----------R1E--------------------------------
CMOS 1Eh - PHOENIX - MSB of Word to 82335 RC2 roll compare register
----------R1E--------------------------------
CMOS 1Eh - AWARD - 2nd Hard Disk user defined: # of Cylinders Low Byte
----------R1E--------------------------------
CMOS 1Eh - Quadtel HT 12 BIOS - FIRST USER DEFINED DRIVE
Bitfields for Quadtel HT-12 user-defined drive heads/cylinders:
Bit(s) Description (Table C0024)
7-4 number of heads
3-0 number of cylinders (MSB)
----------R1F--------------------------------
CMOS 1Fh - MCA - SLOT 3 ADAPTER CARD ID
----------R1F--------------------------------
CMOS 1Fh - AMI - First Hard Disk user defined: WPC-high
Desc: Write Precompensation Cylinder, high byte, for first user-defined
hard disk
----------R1F20------------------------------
CMOS 1Fh-20h - AMSTRAD - mouse button 2 scancode/ASCII code
Size: WORD
Desc: specify the BIOS keycode for keyboard scancode 7Eh
Note: default: FFFFh - (no translation)
SeeAlso: INT 09,CMOS 1Dh"AMSTRAD"
----------R1F--------------------------------
CMOS 1Fh - AWARD - 2nd Hard Disk user defined (type 48): # of Cylinders High
----------R1F--------------------------------
CMOS 1Fh - Quadtel HT 12 BIOS - first user def. drive: WPC-low
Desc: Write Precompensation Cylinder, low byte, for first user-defined
hard disk
----------R20--------------------------------
CMOS 20h - MCA - SLOT 3 ADAPTER CARD ID
----------R20--------------------------------
CMOS 20h - AMI - First Hard Disk user defined: Control Byte
Bitfields for AMI user-defined hard disk control byte:
Bit(s) Description (Table C0025)
7-6 no retries (1)
5 bad sector map at last cylinder+1
4 unused (0)
3 more than 8 heads
2-0 unused (0)
----------R20--------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -