Category : System Diagnostics for your computer
Archive   : ROM_DATE.ZIP
Filename : ROM_DATE.C

 
Output of file : ROM_DATE.C contained in archive : ROM_DATE.ZIP

/******************************************************************************\
** Program : ROM_DATE.C >>> 04/05/90 <<< Creation Date: 03/16/1988 **
** Author : Richard P. Hendricks Last Modified: 03/29/1988 **
** Address : 22 Maplewood Road **
** : Tewksbury, Ma 01876 Home: 617-851-8447 Work: 617-594-9692 **
** Compiler : Turbo C, Version 2.0 **
** Turbo C : Small Library Model **
** : Required Switches: -i32 ; setting used during development **
** : **
** Tech Notes: There are no nested comments in the code. **
** : **
** Function : - Retrieve the Machine ID or Signature from the ROM **
** : - Retrieve the ROM Release Date **
** : **
** Use Debug : DEBUG **
** : -D F000:FFF5 L 8 ; Display ROM Date **
** : -D F000:FFFE L 1 ; Display Machine ID **
** : -q ; quit debug **
** : **
\******************************************************************************/
#include
#include
#include
#include


/* Source of Information: PC Tech Journal, August, 1987, page 126. */
/* Article: Models 50 and 60: The New Generation ATs, by Jim Shields, */
/* pages 110-135. */

/* Source of Information: PC Tech Journal, April, 1988, page 71-72. */
/* Article: Model 80 Flagship, by Kent Quirk, pages 62-73. */

/* Source of Information: PC Magazine, September 29, 1987, Volume 6 Number 16 */
/* Article: First Looks, PS/2 Model 25 Looks Like a Mac, Runs Like a Model 30 */
/* Author : Gus Venditto, pages 33-34. */

/* Note: If Sub Model and Revision contains -1, then these were not used to */
/* distinquish changes in the ROM's. INT 15h/AH=C0h is also not */
/* supported on these chips. */

/* Source of Information: PS/2 Model 50, ROM Release Date -- Experence */


main( void )
{
unsigned int i;
unsigned int seg;
unsigned int off;
int peek_mach_id;
char peek_rom_date[ 8+1 ];

peek_mach_id = ( peekb( 0xF000, 0xFFFE ) ) & 0xFF; /* Machine ID Code */
for( i=0, seg=0xF000, off=0xFFF5; i<8; ++i, ++off ) /* ROM Release Date */
{
peek_rom_date[ i ] = peekb( seg, off );
}
peek_rom_date[ i ] = '\0';

printf( "PEEKB() Calls --\n" );
printf( "ROM ID : %X\n", peek_mach_id );
printf( "ROM Date : %s\n", peek_rom_date );
} /* main() */