{"id":1,"date":"2008-08-17T12:44:07","date_gmt":"2008-08-17T02:44:07","guid":{"rendered":"http:\/\/x37v.com\/x37v\/?p=1"},"modified":"2014-07-28T13:42:10","modified_gmt":"2014-07-28T03:42:10","slug":"mad-catz-gametrak-mod-for-maxmsp","status":"publish","type":"post","link":"https:\/\/x37v.com\/x37v\/writing\/mad-catz-gametrak-mod-for-maxmsp\/","title":{"rendered":"Mad Catz Gametrak Mod for Max\/MSP"},"content":{"rendered":"<p>So it seems that the Gametrak controller that is designed for use with the PS2 doesn&#8217;t want to work with\u00a0<a href=\"http:\/\/www.cycling74.com\/\">Max<\/a>.\u00a0<\/p>\n<p>A number of people have tried removing the board inside the unit, replacing it with a\u00a0<a href=\"http:\/\/cnmat.berkeley.edu\/resource\/madcatz_gametrak_position_sensing_controller_1\">Bitwacker<\/a>\u00a0or Arduino, but after looking at the board in the Gametrak, I found that there is an interesting &#8216;feature&#8217; built into the existing boards.<\/p>\n<p>This easter egg is probably designed so that one unit can be manufactured to be used across a variety of hardware platforms, from PS2 to PC to Xbox.<\/p>\n<p>Here&#8217;s what I did to get it working:<\/p>\n<p style=\"text-align: center;\"><a class=\"fresco\" data-fresco-caption=\"Open the case by removing the screws marked.\" href=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-1-769676.jpg\" data-fresco-group=\"gametrak\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-1-769676-620x465.jpg\" alt=\"Open the case by removing the screws marked.\" width=\"400\" height=\"300\" \/><\/a>Open the case by removing the screws marked (I pierced the &#8216;feet&#8217; with the screwdriver so that I didn&#8217;t have to re-stick them later).<\/p>\n<p style=\"text-align: center;\"><a class=\"fresco\" data-fresco-caption=\"Remove the board by unscrewing the screws marked.\" href=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-2-769727.jpg\" data-fresco-group=\"gametrak\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-2-769727-620x465.jpg\" alt=\"Remove the board by unscrewing the screws marked.\" width=\"400\" height=\"300\" \/><\/a>Remove the board by unscrewing the screws marked.<\/p>\n<p style=\"text-align: center;\"><a class=\"fresco\" data-fresco-caption=\"Flip it over to reveal the underside.\" href=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-3-707388.jpg\" data-fresco-group=\"gametrak\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-3-707388-620x465.jpg\" alt=\"Flip it over to reveal the underside.\" width=\"400\" height=\"300\" \/><\/a>Flip it over to reveal the underside.<\/p>\n<p style=\"text-align: center;\"><a class=\"fresco\" data-fresco-caption=\"Rotate the entire Gametrak, so that the board is oriented like this.\" href=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-4-707503.jpg\" data-fresco-group=\"gametrak\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-4-707503-620x465.jpg\" alt=\"Rotate the entire Gametrak, so that the board is oriented like this.\" width=\"400\" height=\"300\" \/><\/a>Rotate the entire Gametrak, so that the board is oriented like this.<\/p>\n<p style=\"text-align: center;\"><a class=\"fresco\" data-fresco-caption=\"This is the cool bit.  Notice the PC label above?\" href=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-5-734520.jpg\" data-fresco-group=\"gametrak\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-5-734520-620x465.jpg\" alt=\"This is the cool bit.  Notice the PC label above?\" width=\"400\" height=\"300\" \/><\/a>This is the cool bit. \u00a0Notice the PC label above?<br \/>\n(There&#8217;s also an Xbox label to the right).<\/p>\n<p>I shorted this connection with a knife while it was plugged in to Max, and a burst of numbers came out of the &#8216;hi&#8217; object. \u00a0To make this connection permanent*,\u00a0I put a bit of solder to make a bridge between the two contact points, and now it outputs 12-bit integers on six discrete axes (left hand x, y &amp; z; and right hand x, y, z). \u00a0The foot switch works too.<\/p>\n<p style=\"text-align: center;\"><a class=\"fresco\" data-fresco-caption=\"Simple Max interface for the Gametrak.\" href=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-Max-742928.png\" data-fresco-group=\"gametrak\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-Max-742858.png\" alt=\"Simple Max interface for the Gametrak.\" width=\"400\" height=\"142\" \/><\/a>Simple Max 5 interface for the Gametrak (<a href=\"http:\/\/x37v.com\/x37v\/wp-content\/uploads\/2008\/08\/gametrak-interface.maxpat\">Download<\/a>)<\/p>\n<p>Note: the first gen Gametrak from In2Games doesn&#8217;t seem to have this &#8216;feature&#8217;.<\/p>\n<p>* There&#8217;s a tiny layer of lacquer on these contact points that I scratched with a knife so the solder would take to the metal.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So it seems that the Gametrak controller that is designed for use with the PS2 doesn&#8217;t want to work with\u00a0Max.\u00a0 A number of people have tried removing the board inside the unit, replacing it with a\u00a0Bitwacker\u00a0or Arduino, but after looking at the board in the Gametrak, I found that there is an interesting &#8216;feature&#8217; built [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[1],"tags":[8,9,3,10],"class_list":["post-1","post","type-post","status-publish","format-standard","hentry","category-writing","tag-hardware","tag-interfaces","tag-maxmsp","tag-sensors"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4SgL0-1","_links":{"self":[{"href":"https:\/\/x37v.com\/x37v\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/x37v.com\/x37v\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/x37v.com\/x37v\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/x37v.com\/x37v\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/x37v.com\/x37v\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":33,"href":"https:\/\/x37v.com\/x37v\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":438,"href":"https:\/\/x37v.com\/x37v\/wp-json\/wp\/v2\/posts\/1\/revisions\/438"}],"wp:attachment":[{"href":"https:\/\/x37v.com\/x37v\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/x37v.com\/x37v\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/x37v.com\/x37v\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}