Modding XBox Controller

aduy

Senior Member
clean the flux off using rubbing alcohol. you may have damaged the via. try attaching a wire to ground and touch that with the via. otherwise i honestly don't know. you only needed to cut the trace not destroy it.

when you get it working read this next part

are you familiar with tri-state logic? the matrix controller uses tri state logic for the triggers. by sending a signal like this: low pause high impedance pause, and so on the trigger would be rapid fired. by making pin2 an output you can simulate tri state logic. the three states are high low and infinite impedance. make pin2 an input(making it infinite impedance) and then switch it to an output(making it low) that would work. im going to post a program too in a little bit
 

D396

Senior Member
thanks Ill clean it off. Most off the controllers I am doing are the cg kind so if those are easier we do not have to get the matrix one working.
 

aduy

Senior Member
well thank god i hate matrix controllers. if u want u can do that one mod where you link the led to a switch and that switch to the trigger.
 

D396

Senior Member
What's with all the resistors in that tut. I will just do the button mod on the matrix one I know how to do that. But now that I am using the other controllers where do I start I looked and there is no via next to right trigger.
 

D396

Senior Member
Well anyway I think I got it to work: :D :D :D :D
I attached the middle pin of the trigger directly to pin1 of the 08M with a .01 uf capacitor connected to ground and had my code switch from input to output on pin1 and pulse it when it read an input. The oscilloscope looks perfect. I will get back to you once I test on an Xbox.
here is the code:
Code:
main:

if pin1 = 0 then goto main
goto burst

burst:
dirs = 4
high 1
	pause 166
low 1
	pause 166
high 1
	pause 166
low 1
	pause 166
high 1
	pause 166
low 1
	pause 166
	DIRS	= 0

goto main
I will post pictures of it later.
 

Attachments

aduy

Senior Member
actually what you did should work. Im not that great at the programming so it took me a minute to figure out what was going on. what type of scope do you have?
 

aduy

Senior Member
ok good then you did incorporate the one burst per pull into the program. if u have xbox live my gt is aduy you can add me. i might get on tonight.
 

aduy

Senior Member
wow so actually if u can do that you could do a whole bunch of different mods using the 08m like dual jitter which would take 4 outputs and one or two inputs. nice job on the programming.
 

D396

Senior Member
I actually don't even have an Xbox this is for one of my friends. I just play on PC.That program actually is full auto although I do have another burst program. I also added a switch so you can choose between regular and full auto. Will post code if you want. My custom PCB's will be hear next week $6 for 9 of them. did you like that scope?
 

D396

Senior Member
Thanks I actually found the idea for switching between input and output in an arduino program for another Xbox controller mod
 

D396

Senior Member
Schematic and code
full auto code with switch selecting full auto or regular
Code:
main:
if pin2= 1 then
if pin1 = 1 then 
dirs = 2
high 1
	pause 166
low 1
	pause 166
high 1
	pause 166
low 1
	pause 166
high 1
	pause 166
low 1
	pause 166
	DIRS	= 0
	endif
	
else if pin2= 0 then
 if pin1 = 1 then 
dirs = 2
high 1
DIRS	= 0
endif
endif
goto main
 

Attachments

D396

Senior Member
I couldn't really get mine to work because of my circuit and sound card but I think some of them are good
 

aduy

Senior Member
well i have this app on my phone its a signal generator and i can change the frequency and wave type and it accurately reads the voltage and the frequency
 

D396

Senior Member
What app is that. Surprisingly that code works. I have a switch hooked up so in mode A it is rapid fire but in mode B it is like you are just pressing the trigger. I still have to test it on an Xbox though maybe Monday or Tuesday. Ill post the results.
 

aduy

Senior Member
i have a trs to rca adapter and thats connected to an rca cable which was left and right sound. then i stripped the other ends of the rca cable and those are now the probes. but the only problem is that the phone has a capacitor in the line so it does wierd stuff to the square waves. anyways i figured out that they did not mod block the fal in black ops. i was just running my mod at double the speed iot should have been.
 

aduy

Senior Member
for my 14m at 8mhz the pause between high and low was 125 so for your setup at 4mhz it should be like 62 or 63
 

aduy

Senior Member
ok well i did a burst too for one of my modes. for a button to change modes you could use the sync button because it will only sync if you hold it for two seconds, but if u just hit it briefly it wont do anything so you could attach the sync button to an input pin of your picaxe.
 

D396

Senior Member
How does this soldering look. Have you tested the code in wich I switch between input and output. If you havent maybe could you. I dont have an Xbox to actively test every change. Here is the code. The circuit is just Pin1 connected to the middle pin of the trigger.
Code:
main:
if pin1 = 1 then 
dirs = 2
high 1
	pause 166
low 1
	pause 166
high 1
	pause 166
low 1
	pause 166
high 1
	pause 166
low 1
	pause 166
	DIRS	= 0
	endif
	goto main
 

Attachments

D396

Senior Member
Ok do you know if it works. Also how would you have the picaxe change modes if it detects a button press? thanks for all the help.
 

D396

Senior Member
Here is code I wrote to change code if sync button is pressed. It works but not reliably. It does not switch mode every time I press it. I tried setting an interrupt but that would not work. Do you spot anything wrong with it.

Code:
symbol mode = b0
mode = 0

main:
if pin2 = 0 then 
	if mode = 0 then
		mode = 1
	
	else if mode = 1 then 
		mode =0
	endif 
endif

if pin1 = 1 then 'trigger is being pressed
select mode
case 0
dirs = 2
high 1
	pause 125
low 1
	pause 125
high 1
	pause 125
low 1
	pause 125
high 1
	pause 125
low 1
	pause 125
high 1
	pause 125
low 1
	pause 125
	DIRS	= 0
case 1
dirs = 2
high 1
dirs = 0
endselect
endif
	goto main
 

aduy

Senior Member
ok this is what i have for my mod right now.

Code:
setfreq m8

mode_1:
	if pin4 = 1 then rapid_fire
	if pin3 = 1 then switch_1
	goto mode_1

rapid_fire:
	high 1
	pause 123
	low 1
	pause 123
	if pin4 = 1 then rapid_fire
	goto mode_1

switch_1:
	if pin3 = 0 then mode_2
	goto switch_1
	
mode_2:
	if pin4 = 1 then rapid_fire_burst
	if pin3 = 1 then switch_2
	goto mode_2
	
rapid_fire_burst:
	high 1
	pause 123
	low 1
	pause 123
	high 1
	pause 123
	low 1
	pause 123
	high 1
	pause 123
	low 1
	pause 123
	if pin4 = 1 then rapid_fire_burst_wait
	goto mode_2
	
rapid_fire_burst_wait:
	if pin4 = 0 then goto mode_2
	goto rapid_fire_burst_wait

switch_2:
	if pin3 = 0 then mode_3
	goto switch_2

mode_3:
	low 1
	if pin4 = 1 then regular
	if pin3 = 1 then switch_3
	goto mode_3
	
regular:
	high 1
	if pin4 = 1 then regular
	pause 2
	low 1
	goto mode_3

switch_3:
	if pin3 = 0 then mode_1
	goto switch_3
pin 4 is the like your trigger pin3 would be like the sync button to change modes. output 1 is rt if u put it into the editor and then simulate it as a 14m then you can see how it works and adapt it for your code. do you know what the sync button switches between when it is pressed?
 
Top