Identify BIOS in MS-DOS PASCAL 7.0 ?

Dear friends:

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

Thank you.
erickaguirreAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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
Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Pascal

From novice to tech pro — start learning today.