!**************************************************************************
!*
!* Boot-ROM-Code to load an operating system across a TCP/IP network.
!*
!* Module:  syscfg.inc
!* Purpose: Definitions for determining the system configuration
!* Entries: None
!*
!**************************************************************************
!*
!* Copyright (C) 1998-2003 Gero Kuhlmann <gero@gkminix.han.de>
!*
!*  This program is free software; you can redistribute it and/or modify
!*  it under the terms of the GNU General Public License as published by
!*  the Free Software Foundation; either version 2 of the License, or
!*  any later version.
!*
!*  This program is distributed in the hope that it will be useful,
!*  but WITHOUT ANY WARRANTY; without even the implied warranty of
!*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
!*  GNU General Public License for more details.
!*
!*  You should have received a copy of the GNU General Public License
!*  along with this program; if not, write to the Free Software
!*  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
!*
!* $Id: syscfg.inc,v 1.4 2003/01/25 23:29:40 gkminix Exp $
!*

#ifndef _HW_SYSCFG_INC
#define _HW_SYSCFG_INC


!
!**************************************************************************
!
! Place where a standard PC system stores the model ID in the BIOS ROM:
!
BIOS_SEG	equ	$F000		! BIOS ROM segment
BIOS_MODEL	equ	$FFFE		! BIOS model ID

MODEL_PC	equ	$FF		! original IBM PC
MODEL_XT	equ	$FE		! original IBM PC/XT
MODEL_JR	equ	$FD		! original IBM PC/Jr
MODEL_AT	equ	$FC		! 286+ processor system
MODEL_86	equ	$FB		! other 8-/16-bit PC systems
MODEL_OLDPS2	equ	$FA		! original IBM PS/2 86+
MODEL_CONV	equ	$F9		! original IBM Convertible
MODEL_PS2	equ	$F8		! original IBM PS/2 286+


!
!**************************************************************************
!
! Layout of the structure BIOS interrupt $15, function $C0 returns:
!
ROMCFG_SIZE	equ	$0000		! offset to table size
ROMCFG_MODEL	equ	$0002		! offset to model byte
ROMCFG_SUBMODEL	equ	$0003		! offset to submodel byte
ROMCFG_REV	equ	$0004		! offset to revision byte
ROMCFG_FB1	equ	$0005		! offset to feature byte 1
ROMCFG_FB2	equ	$0006		! offset to feature byte 2
ROMCFG_FB3	equ	$0007		! offset to feature byte 3

ROMCFG_MINLEN	equ	$0006		! min struct size required


! Definition of feature bytes 1 and 2:

FB1_DUALBUS	equ	%00000001	! system has dual bus (ISA + MCA)
FB1_MCA		equ	%00000010	! system has MCA bus
FB1_EBDA	equ	%00000100	! extended BIOS data area assigned
FB1_RTC		equ	%00100000	! real-time clock installed
FB1_SLAVE	equ	%01000000	! slave PIC installed
FB1_DMA3	equ	%10000000	! DMA channel 3 used by hard disk BIOS
FB2_KBD		equ	%00000100	! non-8042 keyboard controller


!
!**************************************************************************
!
#endif



syntax highlighted by Code2HTML, v. 0.9.1