summaryrefslogtreecommitdiff
path: root/Core/EM/ACPI/game.asl
diff options
context:
space:
mode:
Diffstat (limited to 'Core/EM/ACPI/game.asl')
-rw-r--r--Core/EM/ACPI/game.asl101
1 files changed, 101 insertions, 0 deletions
diff --git a/Core/EM/ACPI/game.asl b/Core/EM/ACPI/game.asl
new file mode 100644
index 0000000..3e7a2e2
--- /dev/null
+++ b/Core/EM/ACPI/game.asl
@@ -0,0 +1,101 @@
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
+// $Header: /Alaska/BIN/Modules/ACPI/Template/Core/game.asl 3 3/26/09 4:53p Oleksiyy $
+//
+// $Revision: 3 $
+//
+// $Date: 3/26/09 4:53p $
+//**********************************************************************;
+// Revision History
+// ----------------
+// $Log: /Alaska/BIN/Modules/ACPI/Template/Core/game.asl $
+//
+// 3 3/26/09 4:53p Oleksiyy
+// New ACPI Core implementation - improves logic, execution time and
+// memory usage of ACPI module.
+//
+// 2 4/03/06 4:05p Felixp
+// New Super I/O infrastructure Support
+//
+// 1 3/24/05 5:01p Sivagarn
+//
+// 1 2/03/05 6:42p Sivagarn
+// 0ABHI001 Check in
+//
+// 1 7/27/04 2:48p Yakovlevs
+//
+// 5 03/04/07 5:39p Chung
+// Modify all I/O beta version
+//
+// 4 9/06/02 10:53a Alexp
+// Add SourceSafe headers to all core asl files
+//
+//
+//**********************************************************************;
+//**********************************************************************;
+// Generic Game Port
+//------------------------------------------------------------------------
+// Category # :0x08
+Device(GAME) {
+ Name(_HID, EISAID("PNPB02F")) // PnP ID for GamePort
+ Method(_STA, 0) { Return(DSTA(8))} // Get status
+ Method(_DIS, 0) { DCNT(8,0) } // Disable
+// GamePort Current Resource template (to be returned by _CRS)
+ Name(GMCR, ResourceTemplate() {
+ IO(Decode16, 0, 0, 8, 8, GIO1)
+ })
+
+ Method(_CRS, 0) {
+ CreateWordField(GMCR, ^GIO1._MIN, IOGL) // Min Base Word
+ CreateWordField(GMCR, ^GIO1._MAX, IOGH) // Max Base Word
+
+ ENFG(CGLD(8)) // Enter Config Mode, Select LDN
+
+// Write Current Settings into Buffer for IO Descriptor
+// IO ports for Game
+ ShiftLeft(IOAH, 8, IOGL) // Get IO Base MSB
+ Or(IOAL, IOGL, IOGL) // Get IO Base LSB
+ Store(IOGL, IOGH) // Set Max Base Word
+
+ EXFG() // Exit Config Mode
+ Return(GMCR) // Return Byte Stream
+ }
+
+ Method(_SRS, 1) {
+ CreateWordField(Arg0, ^GIO1._MIN, IO11) // Range 1 Min Base Word
+ ENFG(CGLD(8)) // Enter Config Mode, Select LDN
+// Set Game Base IO Address
+ And(IO11, 0xff, IOAL) // Set IO Base LSB
+ ShiftRight(IO11, 0x8, IOAH) // Set IO Base MSB
+ DCNT(8, 1) // Enable Device (Routing)
+ EXFG() // Exit Config Mode
+ }
+//------------------------------------------------------------------------
+// GamePort Possible Resources
+//------------------------------------------------------------------------
+//NOTE: _PRS MUST be the NAME not a METHOD object
+//to have GENERICSIO.C working right!
+//-----------------------------------------------------------------------
+
+ Name(_PRS, ResourceTemplate() {
+ StartDependentFn(0,0) {
+ IO(Decode16, 0x201, 0x201, 1, 8)
+ }
+ StartDependentFnNoPri(){
+ IO(Decode16, 0x209, 0x209, 1, 8)
+ }
+ EndDependentFn()
+ })
+
+} // End Of GamePort ////////////////////////////////////////////////////