Go Back   EcoModder Forum > EcoModding > Instrumentation
Register
Now


Reply
 
Submit Tools LinkBack Thread Tools
Old 10-09-2008, 09:12 PM   #1 (permalink)
EcoModding Lurker
 
Join Date: Sep 2008
Location: Spain
Posts: 55

'El Misil' - '91 Calibra 2.0i
Last 3: 29.02 mpg (US)
How to get instant fuel consumption from Megasquirt

This works for MS1-Extra/MSnS-E, combat proven. Most probably will also work for MS2. No vehicle speed input is required .


Data we must know beforehand:

- 5th gear ratio
- Differential ratio
- Tractive wheel perimeter in centimeters
- Injector flow in cc


For instance in a Miata NA 1.6 the data are:

- 0.814
- 4.300
- 181.4583917 cm
- 205 cc


Then input the data into this formula:

RPM = ((((100*100000)/60)/wheel perimeter)*(5th gear ratio*differential ratio))

For the Miata:

RPM = ((((100*100000)/60)/181.4583917)*(0.814*4.300)) = 3215 (this will be the magic number)


Now open with notepad the msns-extra.ini file, the path is C:\Program files\MegaSquirt\your-project-car-name\msns-extra.ini . Then choose your way ...





OPTION ONE: FOR LITRES/100KM DISPLAY

Look for this paragraph towards the end of the file:


Code:
;****************************************************************************
;  CHANGE THESE TO SUIT YOUR CAR TO GET MPG, MPH, ETC. THIS WILL ONLY WORK WITH A SUITABLE
;  VEHICLE SPEED SENSOR CONNECTED TO MSnS-EXTRA CODE.

   Speed = { 70 }    ; Change this to your actual speed @ 2.5V from VSS circuit
   fuelCC = { 2168 } ; Enter the total flow for all your injectors here in cc/Min

;****************************************************************************
   squirtmul = { divider1 < 2 ? 2 : divider1 < 3 ? 1 : divider1 < 5 ? 0.5 : divider1 < 9 ? 0.25 : divider1 < 17 ? 0.125 : 1 }
   squirts   = { alternate1 > 0 ? rpm100 / 0.6 * squirtmul : rpm100 * 2 * squirtmul / 0.6                                  } ; How many squirts per Sec
   OpenWidth = { injOpen1 * 0.1 }                                            ; Pulse width for injector opening time
   CCpHr     = { pulseWidth < 1 ? 1 : (fuelCC/60) * ((pulseWidth - OpenWidth)/1000) * squirts * 3600                                      } ; cc / hr
   mphTemp   = { fuelADC < 1 ? 0 : (fuelADC * Speed) /127.5               }  ; MPH
   mph       = { mphTemp < 1 ? 0 : mphTemp                                }  ; Ensure we get 0 mph
   USgph     = {  CCpHr / 3785                                            }  ; US Gallons / Hr
   USmpg     = { fuelADC < 1 ? 0 : mph < 1 ? 0 : mph / USgph              }  ; US Miles / Gallon
   gph       = {  CCpHr / 4546                                            }  ; Real Gallons / Hr
   mpg       = { fuelADC < 1 ? 0 : mph < 1 ? 0 : mph / gph                }  ; Real Miles / Gallon

;*****************************************************************************

In 'fuelCC' we must enter the injector flow, times number of injectors (if simultaneous injection). Or injector flow, times number of injectors, divided by 2 (if batch injection). For this particular Miata it is (205*4)/2 = 410 :

Code:
;****************************************************************************
;  CHANGE THESE TO SUIT YOUR CAR TO GET MPG, MPH, ETC. THIS WILL ONLY WORK WITH A SUITABLE
;  VEHICLE SPEED SENSOR CONNECTED TO MSnS-EXTRA CODE.

   Speed = { 70 }    ; Change this to your actual speed @ 2.5V from VSS circuit
   fuelCC = { 410 } ; Enter the total flow for all your injectors here in cc/Min

;****************************************************************************
   squirtmul = { divider1 < 2 ? 2 : divider1 < 3 ? 1 : divider1 < 5 ? 0.5 : divider1 < 9 ? 0.25 : divider1 < 17 ? 0.125 : 1 }
   squirts   = { alternate1 > 0 ? rpm100 / 0.6 * squirtmul : rpm100 * 2 * squirtmul / 0.6                                  } ; How many squirts per Sec
   OpenWidth = { injOpen1 * 0.1 }                                            ; Pulse width for injector opening time
   CCpHr     = { pulseWidth < 1 ? 1 : (fuelCC/60) * ((pulseWidth - OpenWidth)/1000) * squirts * 3600                                      } ; cc / hr
   mphTemp   = { fuelADC < 1 ? 0 : (fuelADC * Speed) /127.5               }  ; MPH
   mph       = { mphTemp < 1 ? 0 : mphTemp                                }  ; Ensure we get 0 mph
   USgph     = {  CCpHr / 3785                                            }  ; US Gallons / Hr
   USmpg     = { fuelADC < 1 ? 0 : mph < 1 ? 0 : mph / USgph              }  ; US Miles / Gallon
   gph       = {  CCpHr / 4546                                            }  ; Real Gallons / Hr
   mpg       = { fuelADC < 1 ? 0 : mph < 1 ? 0 : mph / gph                }  ; Real Miles / Gallon

;*****************************************************************************

Now we add an user defined variable with its formula:

Code:
;****************************************************************************
;  CHANGE THESE TO SUIT YOUR CAR TO GET MPG, MPH, ETC. THIS WILL ONLY WORK WITH A SUITABLE
;  VEHICLE SPEED SENSOR CONNECTED TO MSnS-EXTRA CODE.

   Speed = { 70 }    ; Change this to your actual speed @ 2.5V from VSS circuit
   fuelCC = { 410 } ; Enter the total flow for all your injectors here in cc/Min

;****************************************************************************
   squirtmul = { divider1 < 2 ? 2 : divider1 < 3 ? 1 : divider1 < 5 ? 0.5 : divider1 < 9 ? 0.25 : divider1 < 17 ? 0.125 : 1 }
   squirts   = { alternate1 > 0 ? rpm100 / 0.6 * squirtmul : rpm100 * 2 * squirtmul / 0.6                                  } ; How many squirts per Sec
   OpenWidth = { injOpen1 * 0.1 }                                            ; Pulse width for injector opening time
   CCpHr     = { pulseWidth < 1 ? 1 : (fuelCC/60) * ((pulseWidth - OpenWidth)/1000) * squirts * 3600                                      } ; cc / hr
   mphTemp   = { fuelADC < 1 ? 0 : (fuelADC * Speed) /127.5               }  ; MPH
   mph       = { mphTemp < 1 ? 0 : mphTemp                                }  ; Ensure we get 0 mph
   USgph     = {  CCpHr / 3785                                            }  ; US Gallons / Hr
   USmpg     = { fuelADC < 1 ? 0 : mph < 1 ? 0 : mph / USgph              }  ; US Miles / Gallon
   gph       = {  CCpHr / 4546                                            }  ; Real Gallons / Hr
   mpg       = { fuelADC < 1 ? 0 : mph < 1 ? 0 : mph / gph                }  ; Real Miles / Gallon

   L100in5th = {  (CCpHr/1000)*(3215/RpmHiRes)                            }  ; Litres/100 in 5th gear

;*****************************************************************************

Now we look for the paragraph ' [GaugeConfigurations] ' :

Code:
[GaugeConfigurations]

...
...

; Extra Stuff

...
...

 mpgGauge          = mpg,               "MPG",                    "MPG",    0, 100, -1, -1, 100, 100, 1
 YGForceGauge      = YForce,            "Y G-Force",              "G",      -3, 3, 0, 0, 2, 3, 3
 XGForceGauge      = XForce,            "X G-Force",              "G",      -3, 3, 0, 0, 2, 3, 3
 MAFGauge          = MAFVolts,         "Volts",                  "V",      0, 5, 0, 0, 5, 5, 2
 bcDCGauge         = bcDC,             "Boost Control DC",       "%",      0, 100, -1, -1 999, 999, 0, 0
 idleDCGauge       = idleDC,           "Idle DC",                "%",      0, 100, -1, -1 999, 999, 0, 0
 RealDutyGauge1    = dutyCy1Real,       "Fuel Delivery 1",       "Flow",       0,   75,     -1,    -1,   75,   75, 1, 1
 RealDutyGauge2    = dutyCy2Real,       "Fuel Delivery 2",       "Flow",       0,   75,     -1,    -1,   75,   75, 1, 1 

;-------------------------------------------------------------------------------

And we add this line at the end of the paragraph:

Code:
[GaugeConfigurations]

...
...

; Extra Stuff

...
...

 mpgGauge          = mpg,               "MPG",                    "MPG",    0, 100, -1, -1, 100, 100, 1
 YGForceGauge      = YForce,            "Y G-Force",              "G",      -3, 3, 0, 0, 2, 3, 3
 XGForceGauge      = XForce,            "X G-Force",              "G",      -3, 3, 0, 0, 2, 3, 3
 MAFGauge          = MAFVolts,         "Volts",                  "V",      0, 5, 0, 0, 5, 5, 2
 bcDCGauge         = bcDC,             "Boost Control DC",       "%",      0, 100, -1, -1 999, 999, 0, 0
 idleDCGauge       = idleDC,           "Idle DC",                "%",      0, 100, -1, -1 999, 999, 0, 0
 RealDutyGauge1    = dutyCy1Real,       "Fuel Delivery 1",       "Flow",       0,   75,     -1,    -1,   75,   75, 1, 1
 RealDutyGauge2    = dutyCy2Real,       "Fuel Delivery 2",       "Flow",       0,   75,     -1,    -1,   75,   75, 1, 1 

 L100in5thGauge    = L100in5th,         "F.Cons. in 5th",        "l./100", 0, 30, 0, 0, 10, 20, 1

;-------------------------------------------------------------------------------

Lastly we look for the ' [FrontPage] ' paragraph:

Code:
[FrontPage]

#if NARROW_BAND_EGO
   egoLEDs         = 0.0, 1.0, 0.5 ; NB settings.
#else
   ; If you reverse these range values as you see below, then the LED
   ; bar will work as you expect, high on the right, low on the left.
   egoLEDs         = 4.0, 1.0, 2.5 ; WB settings.
#endif

   ; Gauges are numbered left to right, top to bottom.
   ;
   ;    1  2  3  4
   ;    5  6  7  8

;Gauge Setup 0

    gauge1 = RpmHiResGauge
    gauge2 = cltGauge
    gauge3 = pulseWidth1Gauge
    gauge4 = dutyCycle1Gauge
    gauge5 = mapGauge
    gauge6 = matGauge
    gauge7 = afrGauge
    gauge8 = advanceGauge

And do this change:

Code:
[FrontPage]

#if NARROW_BAND_EGO
   egoLEDs         = 0.0, 1.0, 0.5 ; NB settings.
#else
   ; If you reverse these range values as you see below, then the LED
   ; bar will work as you expect, high on the right, low on the left.
   egoLEDs         = 4.0, 1.0, 2.5 ; WB settings.
#endif

   ; Gauges are numbered left to right, top to bottom.
   ;
   ;    1  2  3  4
   ;    5  6  7  8

;Gauge Setup 0

    gauge1 = RpmHiResGauge
    gauge2 = cltGauge
    gauge3 = pulseWidth1Gauge
;    gauge4 = dutyCycle1Gauge
    gauge4 = L100in5thGauge
    gauge5 = mapGauge
    gauge6 = matGauge
    gauge7 = afrGauge
    gauge8 = advanceGauge

Job done. Save the msns-extra.ini file. Next time you open Megatune you'll see a new virtual gauge showing instant fuel consumption in litres/100 km, something like this (increase brightness if necessary):



It will only be valid for the 5th gear, but it's precise and free.





OPTION TWO: FOR USMPG DISPLAY

Look for this paragraph towards the end of the file:


Code:
;****************************************************************************
;  CHANGE THESE TO SUIT YOUR CAR TO GET MPG, MPH, ETC. THIS WILL ONLY WORK WITH A SUITABLE
;  VEHICLE SPEED SENSOR CONNECTED TO MSnS-EXTRA CODE.

   Speed = { 70 }    ; Change this to your actual speed @ 2.5V from VSS circuit
   fuelCC = { 2168 } ; Enter the total flow for all your injectors here in cc/Min

;****************************************************************************
   squirtmul = { divider1 < 2 ? 2 : divider1 < 3 ? 1 : divider1 < 5 ? 0.5 : divider1 < 9 ? 0.25 : divider1 < 17 ? 0.125 : 1 }
   squirts   = { alternate1 > 0 ? rpm100 / 0.6 * squirtmul : rpm100 * 2 * squirtmul / 0.6                                  } ; How many squirts per Sec
   OpenWidth = { injOpen1 * 0.1 }                                            ; Pulse width for injector opening time
   CCpHr     = { pulseWidth < 1 ? 1 : (fuelCC/60) * ((pulseWidth - OpenWidth)/1000) * squirts * 3600                                      } ; cc / hr
   mphTemp   = { fuelADC < 1 ? 0 : (fuelADC * Speed) /127.5               }  ; MPH
   mph       = { mphTemp < 1 ? 0 : mphTemp                                }  ; Ensure we get 0 mph
   USgph     = {  CCpHr / 3785                                            }  ; US Gallons / Hr
   USmpg     = { fuelADC < 1 ? 0 : mph < 1 ? 0 : mph / USgph              }  ; US Miles / Gallon
   gph       = {  CCpHr / 4546                                            }  ; Real Gallons / Hr
   mpg       = { fuelADC < 1 ? 0 : mph < 1 ? 0 : mph / gph                }  ; Real Miles / Gallon

;*****************************************************************************

In 'fuelCC' we must enter the injector flow, times number of injectors (if simultaneous injection). Or injector flow, times number of injectors, divided by 2 (if batch injection). For this Miata it is (205*4)/2 = 410 :

Code:
;****************************************************************************
;  CHANGE THESE TO SUIT YOUR CAR TO GET MPG, MPH, ETC. THIS WILL ONLY WORK WITH A SUITABLE
;  VEHICLE SPEED SENSOR CONNECTED TO MSnS-EXTRA CODE.

   Speed = { 70 }    ; Change this to your actual speed @ 2.5V from VSS circuit
   fuelCC = { 410 } ; Enter the total flow for all your injectors here in cc/Min

;****************************************************************************
   squirtmul = { divider1 < 2 ? 2 : divider1 < 3 ? 1 : divider1 < 5 ? 0.5 : divider1 < 9 ? 0.25 : divider1 < 17 ? 0.125 : 1 }
   squirts   = { alternate1 > 0 ? rpm100 / 0.6 * squirtmul : rpm100 * 2 * squirtmul / 0.6                                  } ; How many squirts per Sec
   OpenWidth = { injOpen1 * 0.1 }                                            ; Pulse width for injector opening time
   CCpHr     = { pulseWidth < 1 ? 1 : (fuelCC/60) * ((pulseWidth - OpenWidth)/1000) * squirts * 3600                                      } ; cc / hr
   mphTemp   = { fuelADC < 1 ? 0 : (fuelADC * Speed) /127.5               }  ; MPH
   mph       = { mphTemp < 1 ? 0 : mphTemp                                }  ; Ensure we get 0 mph
   USgph     = {  CCpHr / 3785                                            }  ; US Gallons / Hr
   USmpg     = { fuelADC < 1 ? 0 : mph < 1 ? 0 : mph / USgph              }  ; US Miles / Gallon
   gph       = {  CCpHr / 4546                                            }  ; Real Gallons / Hr
   mpg       = { fuelADC < 1 ? 0 : mph < 1 ? 0 : mph / gph                }  ; Real Miles / Gallon

;*****************************************************************************

Now we add an user defined variable with its formula:

Code:
;****************************************************************************
;  CHANGE THESE TO SUIT YOUR CAR TO GET MPG, MPH, ETC. THIS WILL ONLY WORK WITH A SUITABLE
;  VEHICLE SPEED SENSOR CONNECTED TO MSnS-EXTRA CODE.

   Speed = { 70 }    ; Change this to your actual speed @ 2.5V from VSS circuit
   fuelCC = { 410 } ; Enter the total flow for all your injectors here in cc/Min

;****************************************************************************
   squirtmul = { divider1 < 2 ? 2 : divider1 < 3 ? 1 : divider1 < 5 ? 0.5 : divider1 < 9 ? 0.25 : divider1 < 17 ? 0.125 : 1 }
   squirts   = { alternate1 > 0 ? rpm100 / 0.6 * squirtmul : rpm100 * 2 * squirtmul / 0.6                                  } ; How many squirts per Sec
   OpenWidth = { injOpen1 * 0.1 }                                            ; Pulse width for injector opening time
   CCpHr     = { pulseWidth < 1 ? 1 : (fuelCC/60) * ((pulseWidth - OpenWidth)/1000) * squirts * 3600                                      } ; cc / hr
   mphTemp   = { fuelADC < 1 ? 0 : (fuelADC * Speed) /127.5               }  ; MPH
   mph       = { mphTemp < 1 ? 0 : mphTemp                                }  ; Ensure we get 0 mph
   USgph     = {  CCpHr / 3785                                            }  ; US Gallons / Hr
   USmpg     = { fuelADC < 1 ? 0 : mph < 1 ? 0 : mph / USgph              }  ; US Miles / Gallon
   gph       = {  CCpHr / 4546                                            }  ; Real Gallons / Hr
   mpg       = { fuelADC < 1 ? 0 : mph < 1 ? 0 : mph / gph                }  ; Real Miles / Gallon

   USMPG5th  = {  235.2/((CCpHr/1000)*(3215/RpmHiRes))                    }  ; USMPG in 5th gear

;*****************************************************************************

Now we look for the paragraph ' [GaugeConfigurations] ' :

Code:
[GaugeConfigurations]

...
...

; Extra Stuff

...
...

 mpgGauge          = mpg,               "MPG",                    "MPG",    0, 100, -1, -1, 100, 100, 1
 YGForceGauge      = YForce,            "Y G-Force",              "G",      -3, 3, 0, 0, 2, 3, 3
 XGForceGauge      = XForce,            "X G-Force",              "G",      -3, 3, 0, 0, 2, 3, 3
 MAFGauge          = MAFVolts,         "Volts",                  "V",      0, 5, 0, 0, 5, 5, 2
 bcDCGauge         = bcDC,             "Boost Control DC",       "%",      0, 100, -1, -1 999, 999, 0, 0
 idleDCGauge       = idleDC,           "Idle DC",                "%",      0, 100, -1, -1 999, 999, 0, 0
 RealDutyGauge1    = dutyCy1Real,       "Fuel Delivery 1",       "Flow",       0,   75,     -1,    -1,   75,   75, 1, 1
 RealDutyGauge2    = dutyCy2Real,       "Fuel Delivery 2",       "Flow",       0,   75,     -1,    -1,   75,   75, 1, 1 

;-------------------------------------------------------------------------------

And we add this line at the end of the paragraph:

Code:
[GaugeConfigurations]

...
...

; Extra Stuff

...
...

 mpgGauge          = mpg,               "MPG",                    "MPG",    0, 100, -1, -1, 100, 100, 1
 YGForceGauge      = YForce,            "Y G-Force",              "G",      -3, 3, 0, 0, 2, 3, 3
 XGForceGauge      = XForce,            "X G-Force",              "G",      -3, 3, 0, 0, 2, 3, 3
 MAFGauge          = MAFVolts,         "Volts",                  "V",      0, 5, 0, 0, 5, 5, 2
 bcDCGauge         = bcDC,             "Boost Control DC",       "%",      0, 100, -1, -1 999, 999, 0, 0
 idleDCGauge       = idleDC,           "Idle DC",                "%",      0, 100, -1, -1 999, 999, 0, 0
 RealDutyGauge1    = dutyCy1Real,       "Fuel Delivery 1",       "Flow",       0,   75,     -1,    -1,   75,   75, 1, 1
 RealDutyGauge2    = dutyCy2Real,       "Fuel Delivery 2",       "Flow",       0,   75,     -1,    -1,   75,   75, 1, 1 

 USMPG5thGauge     = USMPG5th,          "USMPG in 5th",          "USMPG", 0, 30, 0, 0, 10, 20, 1

;-------------------------------------------------------------------------------

Lastly we look for the ' [FrontPage] ' paragraph:

Code:
[FrontPage]

#if NARROW_BAND_EGO
   egoLEDs         = 0.0, 1.0, 0.5 ; NB settings.
#else
   ; If you reverse these range values as you see below, then the LED
   ; bar will work as you expect, high on the right, low on the left.
   egoLEDs         = 4.0, 1.0, 2.5 ; WB settings.
#endif

   ; Gauges are numbered left to right, top to bottom.
   ;
   ;    1  2  3  4
   ;    5  6  7  8

;Gauge Setup 0

    gauge1 = RpmHiResGauge
    gauge2 = cltGauge
    gauge3 = pulseWidth1Gauge
    gauge4 = dutyCycle1Gauge
    gauge5 = mapGauge
    gauge6 = matGauge
    gauge7 = afrGauge
    gauge8 = advanceGauge

And do this change:

Code:
[FrontPage]

#if NARROW_BAND_EGO
   egoLEDs         = 0.0, 1.0, 0.5 ; NB settings.
#else
   ; If you reverse these range values as you see below, then the LED
   ; bar will work as you expect, high on the right, low on the left.
   egoLEDs         = 4.0, 1.0, 2.5 ; WB settings.
#endif

   ; Gauges are numbered left to right, top to bottom.
   ;
   ;    1  2  3  4
   ;    5  6  7  8

;Gauge Setup 0

    gauge1 = RpmHiResGauge
    gauge2 = cltGauge
    gauge3 = pulseWidth1Gauge
;    gauge4 = dutyCycle1Gauge
    gauge4 = USMPG5thGauge
    gauge5 = mapGauge
    gauge6 = matGauge
    gauge7 = afrGauge
    gauge8 = advanceGauge

Jod done. Save the msns-extra.ini file. Next time you open Megatune you'll see a new virtual gauge showing instant fuel consumption in USMPG, something like this (increase brightness if necessary):



It will only be valid for the 5th gear, but it's precise and free.


(Support Ecomodder.com & get rid of these annoying ads!)      
 
__________________

Last edited by TELVM; 10-09-2008 at 09:19 PM.
  Reply With Quote
Old 10-09-2008, 10:56 PM   #2 (permalink)
Dartmouth 2010
 
SVOboy's Avatar
 
Join Date: Nov 2007
Location: Hanover, NH
Posts: 3,795

Vegan Powa! - '91 CRX DX
90 day: 57.2 mpg (US)
Send a message via AIM to SVOboy Send a message via MSN to SVOboy Send a message via Yahoo to SVOboy Send a message via Skype™ to SVOboy
Wow, this is neat stuff. I wonder if there's anyway to program it to detect the other gearing so that you could use it all the time, but I think that would require speed sensor input to compare against the rpms...

Thanks for all the great info!
__________________



------------------------------EcoModder Gear------------------------------

  Reply With Quote
Old 10-10-2008, 06:56 AM   #3 (permalink)
EcoModding Lurker
 
Join Date: Sep 2008
Location: Spain
Posts: 55

'El Misil' - '91 Calibra 2.0i
Last 3: 29.02 mpg (US)
Quote:
Originally Posted by SVOboy View Post
I wonder if there's anyway to program it to detect the other gearing so that you could use it all the time, but I think that would require speed sensor input to compare against the rpms...
By defect, Megasquirt lacks VSS and is physically unable to detect which gear is engaged, so the only way would be a virtual gauge for each gear (five or six total). As above but doing calculations and adding code for every gear.

The result would be something like this:




You'd have to watch the gauge corresponding with the gear engaged at every moment. V.g. when in 3rd gear only the 'USMPG in 3rd gear' gauge would be true, the other four would lie.
__________________
  Reply With Quote
Old 10-29-2008, 01:58 AM   #4 (permalink)
EcoModding Lurker
 
Join Date: Oct 2008
Location: USA
Posts: 1
How, convenient, I have a 1.6 Miata . Thanks for the info!
  Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Hydrogen Generator Experiment willy57 DIY / How-to 254 11-24-2008 09:09 AM
ElmScan + Customized Scantool Software = data logging! cfg83 Instrumentation 17 10-16-2008 09:06 PM
mileage computer for a carbureted engine diesel_john Instrumentation 106 10-10-2008 02:04 PM
Aerodynamic Heavy-Duty Truck Trailer Cuts Fuel Consumption and Emissions By Up to 15% SVOboy Aerodynamics 8 04-18-2008 07:23 PM
Illustrated: fuel consumption at higher speeds MetroMPG Hypermiling / EcoDriver's Ed 1 11-28-2007 07:58 PM




Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0 RC5
All content copyright EcoModder.com