diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index d7d35d240028971aa99e48381f62f2eb26ca636e..5bad2d583a7621e9fc6fcc20de35dbd13757646a 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -49,7 +49,11 @@
 #define MOTHERBOARD 7
 #endif
 
+//// The following define selects which power supply you have. Please choose the one that matches your setup
+// 1 = ATX
+// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
 
+#define POWER_SUPPLY 1
 
 //===========================================================================
 //=============================Thermal Settings  ============================
diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h
index f9dce1483ddf5e01250e1b362b5fb00120c51529..b718640c1ccdf0e08dae710400ef87ca4b1dcf7b 100644
--- a/Marlin/Configuration_adv.h
+++ b/Marlin/Configuration_adv.h
@@ -243,6 +243,23 @@ const unsigned int dropsegments=5; //everything with less than this number of st
 #ifdef ULTIPANEL
  #undef SDCARDDETECTINVERTED
 #endif
+
+// Power Signal Control Definitions
+// By default use ATX definition
+#ifndef POWER_SUPPLY
+  #define POWER_SUPPLY 1
+#endif
+// 1 = ATX
+#if (POWER_SUPPLY == 1) 
+  #define PS_ON_AWAKE  LOW
+  #define PS_ON_ASLEEP HIGH
+#endif
+// 2 = X-Box 360 203W
+#if (POWER_SUPPLY == 2) 
+  #define PS_ON_AWAKE  HIGH
+  #define PS_ON_ASLEEP LOW
+#endif
+
 //===========================================================================
 //=============================Buffers           ============================
 //===========================================================================
diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index bd811caed9bf59a240b849e1edb3220374342234..b212aa5b4f816826993f60588b0abe3530b2b3e8 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -295,6 +295,10 @@ void setup_powerhold()
       WRITE(SUICIDE_PIN, HIGH);
    #endif
  #endif
+ #if (PS_ON_PIN > -1)
+   SET_OUTPUT(PS_ON_PIN);
+   WRITE(PS_ON_PIN, PS_ON_AWAKE);
+ #endif
 }
 
 void suicide()
@@ -1137,7 +1141,7 @@ void process_commands()
     #if (PS_ON_PIN > -1)
       case 80: // M80 - ATX Power On
         SET_OUTPUT(PS_ON_PIN); //GND
-        WRITE(PS_ON_PIN, LOW);
+        WRITE(PS_ON_PIN, PS_ON_AWAKE);
         break;
       #endif
       
@@ -1148,7 +1152,7 @@ void process_commands()
         suicide();
       #elif (PS_ON_PIN > -1)
         SET_OUTPUT(PS_ON_PIN); 
-        WRITE(PS_ON_PIN, HIGH);
+        WRITE(PS_ON_PIN, PS_ON_ASLEEP);
       #endif
 		break;