summaryrefslogtreecommitdiff
path: root/Core/EM/CSM/BiosData.h
diff options
context:
space:
mode:
Diffstat (limited to 'Core/EM/CSM/BiosData.h')
-rw-r--r--Core/EM/CSM/BiosData.h179
1 files changed, 179 insertions, 0 deletions
diff --git a/Core/EM/CSM/BiosData.h b/Core/EM/CSM/BiosData.h
new file mode 100644
index 0000000..dfb8e71
--- /dev/null
+++ b/Core/EM/CSM/BiosData.h
@@ -0,0 +1,179 @@
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2010, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
+
+//****************************************************************************
+// $Header: /Alaska/SOURCE/Modules/CSM/Generic/Core/biosdata.h 7 1/12/10 11:46a Olegi $
+//
+// $Revision: 7 $
+//
+// $Date: 1/12/10 11:46a $
+//
+//****************************************************************************
+// Revision History
+// ----------------
+// $Log: /Alaska/SOURCE/Modules/CSM/Generic/Core/biosdata.h $
+//
+// 7 1/12/10 11:46a Olegi
+// Copyright message updated.
+//
+// 6 4/27/07 5:13p Olegi
+// CSM.CHM file preparation.
+//
+// 5 5/16/06 1:57p Olegi
+//
+// 4 8/02/05 11:27a Olegi
+//
+// 3 3/04/05 1:51p Mandal
+//
+//**********************************************************************
+//----------------------------------------------------------------------------
+// BIOSDATA.H -- BIOS Global Data Area and EBDA
+//----------------------------------------------------------------------------
+#ifndef __BIOS_DATA_AREA__
+#define __BIOS_DATA_AREA__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#pragma pack (1)
+
+typedef struct _BDA_DATA {
+
+UINT16 rs_232_address[4]; // 00 - RS232 adapters addresses
+UINT16 printer_address[3]; // 08 - Printer addresses
+UINT16 ext_bios_data_seg; // 0E - Segment pointer to EBDA
+UINT16 machine_config; // 10 - Hardware Equipment Status
+UINT8 test_scratch; // 12 - Scratch byte during init
+UINT16 system_memory; // 13 - System Memory in KBytes
+UINT8 sys_info; // 15 - miscellaneous system info
+UINT8 dummy_byte_1; // 16
+UINT8 kb_stat_flag; // 17 - Keyboard Status Flag
+UINT8 kb_hold_flag; // 18 - Toggle key's hold flag
+UINT8 kb_alt_char; // 19 - Alt_character byte
+UINT16 kb_buf_head_ptr; // 1A - Keyboard buffer head pointer
+UINT16 kb_buf_tail_ptr; // 1C - Keyboard buffer tail pointer
+UINT16 kb_buffer[16]; // 1E - Keyboard buffer (15 char max)
+UINT8 recal_int_flag; // 3E - Status for recalibration
+UINT8 motor_status_flag; // 3F - Status for drive motors
+UINT8 motor_time_count; // 40 - Turn off time for motor
+UINT8 floppy_io_status; // 41 - Return code status byte
+UINT8 task_file[7]; // 42 - A.K.A. fdc_8272_status
+UINT8 mode_of_vdo; // 49 - Current Video Mode (set by user)
+UINT16 columns_of_vdo; // 4A - Number of columns per row
+UINT16 page_length; // 4C - Number of bytes per Video Page
+UINT16 page_start; // 4E - Start address of Active Video Page
+UINT16 position_of_cursor[8]; // 50 - Cursor position for each Video Page
+UINT16 mode_of_cursor; // 60 - Current cursor mode setting
+UINT8 active_page_no; // 62 - Current display page no
+UINT16 address_of_6845; // 63 - Address of 6845 index reg
+UINT8 current_mode_set; // 65 - Mode set in 6845 control port
+UINT8 current_palette; // 66 - Current palette set
+//---------------------------------------
+// POST DATA STORAGES
+//---------------------------------------
+UINT16 offset_shutdown; // 67 - Offset of shutdown routine
+UINT16 segment_shutdown; // 69 - Segment of shutdown routine
+UINT8 interrupt_flag; // 6B - Interrupt flag
+//----------------------------------------------------------------------------
+// TIMER DATA STORAGES
+//----------------------------------------------------------------------------
+//UINT16 timer_low_count; // 6C - Low Word of timer count
+//UINT16 timer_high_count; // 6E - High Word of timer count
+UINT32 timer_count; // 6C - timer count
+UINT8 timer_count_rolled; // 70 - Timer Rolled Over
+//----------------------------------------------------------------------------
+// BIOS DATA STORAGES EXTENDED
+//----------------------------------------------------------------------------
+UINT8 break_flag; // 71 - Flag for CTRL-BREAK key key
+UINT16 dummy_word; // 72 - Unused data word
+//----------------------------------------------------------------------------
+// WINCHESTER DATA STORAGES
+//----------------------------------------------------------------------------
+UINT8 winch_status; // 74 - Status of Hard Disk operation
+UINT8 winch_number; // 75 - Number of Hard Disk drives
+UINT8 winch_control_byte; // 76
+UINT8 dummy_byte_2; // 77
+//----------------------------------------------------------------------------
+// PRINTER & RS232 DATA STORAGES
+//----------------------------------------------------------------------------
+UINT8 print_time_max[4]; // 78 - Maximum time for printing
+UINT8 rs_232_time_max[4]; // 7C - Maximum transmission time for COM ports
+//----------------------------------------------------------------------------
+// KEYBOARD DATA STORAGES EXTENDED
+//----------------------------------------------------------------------------
+UINT16 kb_buff_begin; // 80 - Start address of Keyboard Buffer
+UINT16 kb_buff_end; // 82 - End address of Keyboard Buffer
+UINT8 rows_of_vdo[7]; // 84 - EGA/VGA control state
+//----------------------------------------------------------------------------
+// FLOPPY DATA STORAGES EXTENDED
+//----------------------------------------------------------------------------
+UINT8 last_xfer_rate; // 8B - Last data transfer rate (Floppy)
+//----------------------------------------------------------------------------
+// WINCHESTER DATA STORAGES EXTENDED
+//----------------------------------------------------------------------------
+UINT8 winch_stat_reg; // 8C - Hard Disk status register
+UINT8 winch_error_reg; // 8D - Hard Disk error register, a.k.a. iraid_int_flag
+UINT8 winch_int_flag; // 8E - Hard Disk interrupt status
+//----------------------------------------------------------------------------
+// FLOPPY DATA STORAGES EXTENDED
+//----------------------------------------------------------------------------
+UINT8 duel_card; // 8F - Availability of 1.2M Floppy Drive
+UINT8 current_floppy_media[2]; // 90 - Type of floppy drive/media
+UINT8 run_scratch1; // 92 - Runtime Scratch data byte 1
+UINT8 run_scratch2; // 93 - Runtime Scratch data byte 1
+UINT8 current_cylinder[2];// 94 - Cylinder position of Floppy Disk
+//----------------------------------------------------------------------------
+// KEYBOARD DATA STORAGES EXTENDED
+//----------------------------------------------------------------------------
+UINT8 dummy_byte_3; // 96 - Keyboard Type byte
+UINT8 kb_leds_flag; // 97 - Keyboard LED's status byte
+//----------------------------------------------------------------------------
+// REAL TIME CLOCK DATA STORAGES
+//----------------------------------------------------------------------------
+UINT16 user_flag_offset; // 98 - Offset of user defined flag
+UINT16 user_flag_segment; // 9A - Segment of user defined flag
+UINT16 user_wait_low; // 9C - Low WORD of user defined time
+UINT16 user_wait_high; // 9E - High WORD of user defined time
+UINT8 user_wait_flag[23]; // A0 - User defined time active flag, Video data area
+//----------------------------------------------------------------------------
+// APM HANDLING BIOS DATA AREA USED FOR GREEN PC/NOTE BOOK
+//----------------------------------------------------------------------------
+UINT8 apm_data[73]; // B7
+UINT8 prtsc_status_flag; // 100 - Print Screen status byte
+
+} BDA_DATA;
+
+#pragma pack ()
+
+/****** DO NOT WRITE BELOW THIS LINE *******/
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2010, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************