• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 265
  • Last Modified:

Identify BIOS in MS-DOS PASCAL 7.0 ?

Dear friends:

How do I identify which BIOS data i have ...

Thank you.
0
erickaguirre
Asked:
erickaguirre
  • 5
  • 4
  • 4
  • +2
1 Solution
 
erickaguirreAuthor Commented:
Edited text of question.
0
 
erickaguirreAuthor Commented:
MANUFACTURER OF THE BIOS
BIOS DATE
CHIPSET ID
BIOS ID (IDENTIFICATION)
0
 
erickaguirreAuthor Commented:
Edited text of question.
0
2018 Annual Membership Survey

Here at Experts Exchange, we strive to give members the best experience. Help us improve the site by taking this survey today! (Bonus: Be entered to win a great tech prize for participating!)

 
vikiingCommented:
If you go into segment $F000, you're directly addressing BIOS data.

BIOS date is at FFF0:FFF5  :

Var
     BIOSDate: array [1..8] of char absolute $F000:$FFF5;
     i: integer;

Begin
     For i:=1 to 8 do Write(BIOSDate[i]);
end.


That will show you the date BIOS was edited.


But I'm not sure if you have chipset ID info available there. You can determine the type of processor (386, 486, P5, Celeron, MMX, etc.), but using special algorithms.

If you're trying to get a fingerprint of a machine, you're going in the right direction, dude. You can pick-up a 512-byte fingerprint from those addresses, and you can be sure that id won't be repeted at no other machine. But prepare up a way to update your software package when user changes/upgrades his machine without needing you must travel to his place.

0
 
graham_kCommented:
go to http://www.gdsoft.com/ and download SWAG. This has hundreds of Pascal code snippets, including 14 dealing with teh BIOS, so you may find that teh code which you want has already been wrutten.
0
 
erickaguirreAuthor Commented:
Thank you and happry year 2000.
0
 
graham_kCommented:
don't thank me yet. Wait until you've checked it out (then you can thank me by inviting me to post an answer <g>).
0
 
roaknogCommented:
     {$N+}
      uses dos;

      function bio:byte;
      var
      rbdate:ARRAY[0..7] OF CHAR;
      counter:integer;
      BEGIN
      ASM
            mov AX, 0FFFFh;      {SEGMENT OFFSET OF ROM BIOS DATE IN ES:BX}
            mov ES, AX;      
            mov BX, 5;
            mov AL, ES:[BX+0];      
            mov BYTE PTR rbdate[0], AL;      
            mov AL, ES:[BX+1]            
            mov BYTE PTR rbdate[1], AL      
            mov AL, ES:[BX+2]      
            mov BYTE PTR rbdate[2], AL      
            mov AL, ES:[BX+3]      
            mov BYTE PTR rbdate[3], AL            
            mov AL, ES:[BX+4]      
            mov BYTE PTR rbdate[4], AL      
            mov AL, ES:[BX+5]      
            mov BYTE PTR rbdate[5], AL      
            mov AL, ES:[BX+6]      
            mov BYTE PTR rbdate[6], AL      
            mov AL, ES:[BX+7]      
            mov BYTE PTR rbdate[7], AL            
      END;
      WriteLn(' ');
      Write('     The bios date of your computer is: ');
      for counter:=0 to 7 do
            BEGIN
                  Write(rbdate[counter]);
            END;
      Write('.');
      WriteLn(' ');
      END;

      BEGIN
      bio;
WriteLn(' ');
      WriteLn('     ROAK NOG''S ROM BIOS DATE PROGRAM IS TERMINATED!');
      WriteLn('     (c)2000 INNIEA PUBLISHING COMPANY!');
      END.
0
 
vikiingCommented:
It's much easier to access directly BIOS memory than to do all that stuff, ¿don't you agree?
0
 
roaknogCommented:
There are many ways to do the same thing.  What is easy is not always easily understood.
0
 
vikiingCommented:
Well; please, tell me where your code is more clear and more understandable than mine's one.

If you know that BIOS date is at FFF0:FFF5 , ¿what another thing you need than go to see what is there, isntead of a sequence of MOV's, byte by byte?

0
 
roaknogCommented:
I did not say my code was clear.  I hope it is possible to provide a complete program for a comment.
0
 
graham_kCommented:
was any of the SWAG stuff of any help?
0
 
graham_kCommented:
over a week ago you thanked me for my comment. Am I to presume that it was what you wanted?
0
 
vikiingCommented:
Knock knock... ¿does anyone there?
0
 
sumant032199Commented:
If you are willing to know more about bios functions and data then let me have a chance to answer it. I will be offering you complete list.
0
 
vikiingCommented:
Don't waste your time; it seems Erick has decided not to come around these lands... :(
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 5
  • 4
  • 4
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now