Game-Trak V1.3 hi device not working

chrisbob12's icon

I've recently acquired a USB GameTrak and have plugged it into Max. The hi object recognises and can focus on GameTrak V1.3, and identifies 19 elements, but I'm not seeing any numbers come out.

I've checked over MadCatz blog showing how to change it from Xbox to PC, but my PCB doesn't have the same option pads, and the legend doesn't show PC or Xbox. Has anyone had experience of getting these working? My test patch shown below.

Regards, Chris.

{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 5,
"minor" : 1,
"revision" : 9
}
,
"rect" : [ 29.0, 245.0, 1161.0, 480.0 ],
"bglocked" : 0,
"defrect" : [ 29.0, 245.0, 1161.0, 480.0 ],
"openrect" : [ 0.0, 0.0, 0.0, 0.0 ],
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 0,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 0,
"toolbarvisible" : 1,
"boxanimatetime" : 200,
"imprint" : 0,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"boxes" : [ {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-32",
"presentation_rect" : [ 1081.0, 310.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 1054.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-31",
"presentation_rect" : [ 1028.0, 310.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 1003.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-30",
"presentation_rect" : [ 966.0, 311.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 952.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-29",
"presentation_rect" : [ 915.0, 312.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 901.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-28",
"presentation_rect" : [ 864.0, 313.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 850.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-27",
"presentation_rect" : [ 811.0, 311.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 799.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "message",
"text" : "Game-Trak V1.3",
"fontname" : "Arial",
"numinlets" : 2,
"id" : "obj-25",
"numoutlets" : 1,
"fontsize" : 12.0,
"outlettype" : [ "" ],
"patching_rect" : [ 218.0, 88.0, 99.0, 18.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-21",
"presentation_rect" : [ 845.0, 309.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 748.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-20",
"presentation_rect" : [ 788.0, 309.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 697.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-19",
"presentation_rect" : [ 736.0, 307.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 646.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-18",
"presentation_rect" : [ 682.0, 306.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 595.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-17",
"presentation_rect" : [ 523.0, 312.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 442.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-16",
"presentation_rect" : [ 472.0, 312.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 391.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-15",
"presentation_rect" : [ 424.0, 312.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 340.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-14",
"presentation_rect" : [ 324.0, 313.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 238.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-13",
"presentation_rect" : [ 254.0, 271.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 187.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "button",
"numinlets" : 1,
"id" : "obj-12",
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"patching_rect" : [ 102.0, 60.0, 20.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-11",
"presentation_rect" : [ 486.0, 318.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 544.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-10",
"presentation_rect" : [ 411.0, 318.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 493.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-9",
"presentation_rect" : [ 322.0, 320.0, 0.0, 0.0 ],
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 289.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-8",
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 136.0, 314.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "newobj",
"text" : "route 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-7",
"numoutlets" : 20,
"fontsize" : 12.0,
"outlettype" : [ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" ],
"patching_rect" : [ 136.0, 235.0, 988.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"triscale" : 0.9,
"fontname" : "Arial",
"bgcolor" : [ 1.0, 1.0, 1.0, 0.0 ],
"bordercolor" : [ 1.0, 1.0, 1.0, 0.0 ],
"numinlets" : 1,
"id" : "obj-22",
"hbgcolor" : [ 1.0, 1.0, 1.0, 0.0 ],
"numoutlets" : 2,
"fontface" : 1,
"triangle" : 0,
"fontsize" : 11.595187,
"htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ],
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 26.0, 274.0, 35.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "number",
"triscale" : 0.9,
"fontname" : "Arial",
"bgcolor" : [ 1.0, 1.0, 1.0, 0.0 ],
"bordercolor" : [ 1.0, 1.0, 1.0, 0.0 ],
"numinlets" : 1,
"id" : "obj-23",
"hbgcolor" : [ 1.0, 1.0, 1.0, 0.0 ],
"numoutlets" : 2,
"fontface" : 1,
"triangle" : 0,
"fontsize" : 11.595187,
"htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ],
"outlettype" : [ "int", "bang" ],
"patching_rect" : [ 72.0, 273.0, 35.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "newobj",
"text" : "unpack 0 0",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-24",
"numoutlets" : 2,
"fontsize" : 11.595187,
"outlettype" : [ "int", "int" ],
"patching_rect" : [ 26.0, 249.0, 65.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "newobj",
"text" : "print hi",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-26",
"numoutlets" : 0,
"fontsize" : 11.595187,
"patching_rect" : [ 55.0, 200.0, 45.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "panel",
"rounded" : 0,
"bgcolor" : [ 0.713726, 0.74902, 0.286275, 1.0 ],
"bordercolor" : [ 1.0, 1.0, 1.0, 1.0 ],
"numinlets" : 1,
"id" : "obj-33",
"numoutlets" : 0,
"border" : 1,
"patching_rect" : [ 67.0, 274.0, 44.0, 18.0 ]
}

}
, {
"box" : {
"maxclass" : "panel",
"rounded" : 0,
"bgcolor" : [ 0.772549, 0.356863, 0.356863, 1.0 ],
"bordercolor" : [ 1.0, 1.0, 1.0, 1.0 ],
"numinlets" : 1,
"id" : "obj-34",
"numoutlets" : 0,
"border" : 1,
"patching_rect" : [ 22.0, 274.0, 44.0, 18.0 ]
}

}
, {
"box" : {
"maxclass" : "message",
"text" : "poll 10",
"fontname" : "Arial",
"numinlets" : 2,
"id" : "obj-6",
"numoutlets" : 1,
"fontsize" : 12.0,
"outlettype" : [ "" ],
"patching_rect" : [ 137.0, 111.0, 46.0, 18.0 ]
}

}
, {
"box" : {
"maxclass" : "newobj",
"text" : "loadbang",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-5",
"numoutlets" : 1,
"fontsize" : 12.0,
"outlettype" : [ "bang" ],
"patching_rect" : [ 137.0, 80.0, 60.0, 20.0 ]
}

}
, {
"box" : {
"maxclass" : "newobj",
"text" : "hi Game-Trak V1.3",
"fontname" : "Arial",
"numinlets" : 1,
"id" : "obj-3",
"numoutlets" : 2,
"fontsize" : 12.0,
"outlettype" : [ "list", "" ],
"patching_rect" : [ 136.0, 157.0, 111.0, 20.0 ]
}

}
],
"lines" : [ {
"patchline" : {
"source" : [ "obj-12", 0 ],
"destination" : [ "obj-7", 0 ],
"hidden" : 0,
"midpoints" : [ 111.5, 222.0, 145.5, 222.0 ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 18 ],
"destination" : [ "obj-32", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 17 ],
"destination" : [ "obj-31", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 16 ],
"destination" : [ "obj-30", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 15 ],
"destination" : [ "obj-29", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 14 ],
"destination" : [ "obj-28", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 13 ],
"destination" : [ "obj-27", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-25", 0 ],
"destination" : [ "obj-3", 0 ],
"hidden" : 0,
"midpoints" : [ 227.5, 144.0, 145.5, 144.0 ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 12 ],
"destination" : [ "obj-21", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 11 ],
"destination" : [ "obj-20", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 10 ],
"destination" : [ "obj-19", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 9 ],
"destination" : [ "obj-18", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 6 ],
"destination" : [ "obj-17", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 5 ],
"destination" : [ "obj-16", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 4 ],
"destination" : [ "obj-15", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 2 ],
"destination" : [ "obj-14", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 1 ],
"destination" : [ "obj-13", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 8 ],
"destination" : [ "obj-11", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 7 ],
"destination" : [ "obj-10", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 3 ],
"destination" : [ "obj-9", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-7", 0 ],
"destination" : [ "obj-8", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-3", 0 ],
"destination" : [ "obj-7", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-3", 0 ],
"destination" : [ "obj-26", 0 ],
"hidden" : 0,
"midpoints" : [ 145.5, 192.0, 64.5, 192.0 ]
}

}
, {
"patchline" : {
"source" : [ "obj-3", 0 ],
"destination" : [ "obj-24", 0 ],
"hidden" : 0,
"midpoints" : [ 145.5, 222.0, 35.5, 222.0 ]
}

}
, {
"patchline" : {
"source" : [ "obj-24", 1 ],
"destination" : [ "obj-23", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-24", 0 ],
"destination" : [ "obj-22", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-6", 0 ],
"destination" : [ "obj-3", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-5", 0 ],
"destination" : [ "obj-6", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
]
}

}

NNenov's icon

hi, I wanted to direct message you but I don't this this feature is available on these forums..
Did you manage to get this to work?

I've also got the v1.3 and am in the exact situation, no output..
at first in device manager it showed up as a gametrak but with a fault saying it wasn't configured, second time I plugged it in it is just showing as a generic windows hid controller. In both cases it shows up in Max as the gametrak v1.3

Tianyi Wang's icon

Hi all,
I know this post is about 10 years old, and perhaps it will be futile to try to reply here. But I recently got a Gametrak controller and experiencing exactly the same issue with trying to connect to MAX using the "hi" object. The name "GameTrak V1.3" would show up in the "hi" menu, but it won't produce any output. I have also tried to use Grün Glas' Max patch for mapping Gametrak parameters to Ableton Live (https://www.gruenglas.com/ribbon?utm_source=ribbonHelpClicked#overview), but it also did not show any output in the patch.

Then, I tried to modify the PCB following MadCatz's blog (https://x37v.com/x37v/writing/mad-catz-gametrak-mod-for-maxmsp/), but just as @CHRISBOB12 described above, the PCB on my Gametrak doesn't show PC or Xbox, so I was unsure which part to tweak would make it work.

Anyway, I am just wondering if anyone has any ways to connect the Gametrak to MAX 8 in 2022? Any help would greatly be appreciated. Thank you very much.

Source Audio's icon

You need to make sure which board version you have,
and then if you set hi object correctly.
Patch posted above is a perfect example
of user making mistake and then complaining that something does not work.

this is not going to work , unless one encloses
Game-Trak V1.3 into symbol "Game-Trak V1.3"

In case your board is simply faulty or unusable and
if you decide to replace electronic board,
I have ready to use arduino code to act as
GameTrak-joystick, working on both mac and win.

Tianyi Wang's icon

Thank you very much for the reply, @SOURCE AUDIO.
I tried to enclose Game-Trak V1.3 with "" in the MAX patch, but still no avail, but since MAX could recognize the device, I guess my board is incompatible to send out data for some reason?
In that case, I think it would be better to replace the original PCB with a microcontroller, as you suggested. Do you have one that you recommend that would be fit for the sensors on Gametrak, including the pedal? (I attached below the photos of the front and back of the PCB in my Gametrak).
Also, if possible, I would love to see the Arduino code for Gametrak if you would like to share.
Thank you so much again.

Gametrak_PCB_Front

Gametrak_PCB_Back

Source Audio's icon

from what I remember, rev1 - which your board seems to be
will not work with hi object.

You have several options to replace the board,
from simplest arduino-serial with boards like nano ,
then 32u4 based boards like leonardo or promicro - that can be used as
HID joystick, or even esp32 - wireless.

here are 2 variants, serial and HID

GT-variants.zip
application/zip 417.23 KB

joystick one has all included, I modified arduino joystick library
to correctly output 0-4095 axis range on both mac and win.
both include arduino code and max patches

Tianyi Wang's icon

Thank you so much! I will check these out.
Really appreciate your help.

NNenov's icon

hello, I had one of these and did a little video with arduino code and max patch, looks like my dropbox link is still working in the description:
https://www.youtube.com/watch?v=xPWGSIKhtV0

I think I just connected those wires to my arduino pro micro (the one that can register as hid device) I didnt use any of the existing circuit. Think of it as just wiring up potentiometers to an arduino, then you calibrate it by measuring the real life positions and range mapping the analog input values.