Following this road trip...

Since I got this G-LOC DX (2007), never been able to fix the motion on that beast... worst, I can't even see the game started anymore, although testing with a lot of boards, spending time (and money) to investigate...
As I said six months ago :
"I'm really out of time... so many projects 'in the pipe''. Not sure If I'll really have time to fix my beloved SEGA G-Loc Deluxe one day..."...and so as a consequence, I opened a topic to sell my G-LOC
...BUT SINCE...A serious study by 'reverse engineering' as started, currently in progress by gc339 on gamoover board, right
here. The purpose of this is to figure out why these G-LOC Motor Driver boards [SEGA 400-5117 & 400-5117Y] broke so often, on which components and possibly how to fix it! He is doing an amazing work on it!

So a new hope for me and many GLOC owners to see that aircraft fighter moving again in a near future!
Regarding my G-LOC sale, fortunately for me now, no one wasn't 'brave' enough to road trip to my place and take monster!

Seriously, it's a pain to sell such big machine! Potential buyers must have free room enough, but also they to think about the transport..but on a personal note : If you
really want something, you can always find a solution...

I didn't ask me so many questions when I had the opportunity to buy my Galaxian Theater for example! What? Not a good example? OK!
...WHILE THIS TIME...I've discovered something really interesting on a french topic on gamoover (
this one)... the existence of a device ...called Arduino!
Arduino is a single-board microcontroller to make using electronics in multidisciplinary projects more accessible. The hardware consists of an open-source hardware board designed around an 8-bit Atmel AVR microcontroller, or a 32-bit Atmel ARM. The software consists of a standard programming language compiler and a boot loader that executes on the microcontroller. (
wiki).
In its tutorial,
lipide512 wrote something verrrrry interesting... that 'Arduino' device can acts like a PS3 joystick!
And I instantly had this idea :
Would it be possible to play the fabulous
SEGA AFTER BURNER *CLIMAX* inside this G-LOC cockpit?
But why the hell would you want to play that game in a G-LOC cockpit?
Because that game is awesome, and by its nature, must be played inside an aircraft fighter cockpit such this G-LOC
Because the PS3 port of the game is similar than the arcade version
Because the G-LOC have all the controls needed to play AB Climax : Flight Stick, Throttle with After Burner button, guided missile & gun buttons, start button...
Because I'm tired to see that non working monster in the middle of my game room
And I want to do this challenge under a unique & unbreakable rule :
this conversion can't be 'intrusive' for the original purpose of this G-Loc cockpit! Let me explain this with order words :
- not a single wire will be cut!
- not a single hole will be drilled!
- not a single hardware modification will be done!All I want to do to switch back from AB Climax to G-LOC (when the original hardware will be repaired of course) is :
to plug or unplug connectors, and exchange PS3 against the original G-LOC boards... and NOTHING ELSE!!! This cockpit will stay 100% from its original condition! This will just be a matter of swapping connectors!
Ok, enough disclaimers!
...Back in August 2013...The idea of this project is nice, but now let's figure out all the aspect of this project :
The controls :
Does the AB Climax game on PS3 can be configured to be played with a joystick, and not only via the standard PS3 game pad?
Does the Arduino will handle all the G-LOC dedicated controls and translate them to the PS3?
Does the Arduino will handle all the axes needed for AB Climax : X,Y & Throttle ?
Does the G-Loc potentiometers will work with the Arduino
...and in a general way :will I be able to program that Arduino to transform it onto a PS3 joystick controller? Because the arduino comes 'empty', with no code!
The video :
Because I WANT a non intrusive conversion, I need to use the current G-LOC RGB 15Khz arcade monitor...Does my PS3 can output the game on that resolution?
Most of modern games use 16/9 ration. Does this AB Climax PS3 version can be played in 4/3 ratio (arcade version can do it)?
The motion :
LOL, of course not 'possible'... because my G-LOC driver board is HS and so cannot drives the motor anymore, but also because the PS3 version doesn't send motion signals... and even it the PS3 would have such signals, that would require a serious engineering work to setup this... so ... no motion for the cockpit!
The sound :
The G-Loc cockpit has 4 independent speakers (front stereo, rear stereo). AB Climax uses 5 channels because outputting Dobly Digital sound.
Let's experiment...For this first display test, I've setup my PS3 on a 4/3 ratio and I'm using an original PS3 to SCART adapter, connected to a TV.
Unfortunately, when playing AB Climax on that setup, the PS3 adds two little black bars on top & left of the picture.
But fortunately, I can 'vertically' extend the picture on this Sony TV (thanks to the technician hidden setup menu), which gives me this great 4/3 ratio



Oh, and yes... I also have a PC/PS3 joystick connected... and yes! The game can be played with a such joystick! Going now into the controls menu... here's what I'll have to target when programing the Arduino device :

In other words, the Arduino will translate the dedicatedl G-Loc controls into the PS3 following the 'buttons/controls' defined from that screen.
OK, now got the 'heart' of my project :

An UNO R3 Development Board Microcontroller MEGA328P ATMEGA16U2, a expensive piece of hardware

...

$11,80!



I got it from this website :
http://dx.com/p/uno-r3-development-board-microcontroller-mega328p-atmega16u2-compat-for-arduino-blue-black-215600Now I need to program the Arduino, and then customize (modify the firmware) it with with the open source
UNOJOY code, the famous code who will transform that Arduino into a PS3 controller.
All the UNOJOY information and details, right here :
http://code.google.com/p/unojoy/Because that arduino stuff is not a 'plug & play' stuff, I need to experiment step by step the way to program it. In addition, I also have to handle this UNOJOY code and probably customize it to match my need.
But following the basic steps well described by lipide512 on this
topic, but also with his personal help (once again, HUUUUUUUGE thank you to you, lipide512

), I can figure out the power of this Arduino and run by myself some basics test (test a button, power off/on a led, ....in short my PRINT "HELLO TO THE WORLD" moment

)

Speaking about testing buttons, I need to fix the ones on the G-LOC flight stick


One is missing, and the trigger one is broken! Let's use my NOS kit


Like new


Ok, serious things now! It's time to check analog controls... let's try a first axe...

As you can see, I'm using 'pin to pin connector' (provided in the Arduino kit), that allow to create connections very fast and without any soldier. Perfect for quick & multiple experimentations!
Because the UNOJOY code is PC/PS3 compatible, after each UNOJOY uploading code, I can see the result on my laptop (so no need to test on my PS3 each time)... and ... YEAHHHHHHHH... it works! The axe is recognized by my laptop...and so, will be too by my PS3 ...

Let's add the others axes, and all the buttons I need... this give this temporary mess


Now, let's try After Burner *CLIMAX* with the G-LOC controls...
IT WORKS
...BUT...
When I move my arcade flight stick to the extreme left, the plane inside my PS3 game doesn’t go to the extreme left. It goes to the left, yes, but not to the extreme left. Same for the right movement of course
Here’s the reason : when my arcade flight stick is positioned to the extreme left, the potentiometer itself for that axe is not to its extreme left position. Same problem for the extreme right position. Let me figure this.
* here is the full 'physical' range of my joystick for the X axe (in
green) ->

* here’s the full range of the X potentiometer (
in green)

-> my arcade flight stick ‘physically’ cannot reach the
red range on left and right :

consequence in my game -> my plane cannot turn to the extreme left/right. =(
If I used a PC computer, it wouldn’t be a problem, because a simple calibration should fix that, but because I’m using a PS3, any ‘software’ calibration is impossible.

The idea would be to tell the arduino to move the ‘0’ potentiometer value to the of the ‘0’ position from my arcade stick, and of course bring back the last value ‘255’ from the potentiometer into the extreme right position of my arcade stick. So the full range of my arcade flight stick will be adapted to the full range of values my PS3 is expecting.
In order to have this ->

Using other potentiometers values may fix this problem, but remember, I DO NOT WANT any hardware modification on my G-LOC, so I need to find an other issue! And here's come the POWER of the Arduino... this is a programmable device and you can do anything you want with the values.
The creator of the Unojoy code pointed me the software solution to my problem

: see how on this
topic.

SO I've modified the UNOJOY code ...and ... this time ... THE CONTROLS WORK PERFECTLY ... no dead zone ... no missing zone ... the G-LOC controls match perfectly the ones needed to play After Burner Climax!

Before taking the decision to go for the Arduino way, I tried to find similar devices that can do the job 'out of the box' (arcade controls to PS3).
They are few controllers available on market that can do that but NONE of them can handles 3 axes per game pad. They are all built for maximum 2 axes (mostly because fighting games use). And even if they would be able to manage 3 axes per game pad, how to solve my 'G-LOC potentiometer range problem', because these adapters are sold 'plug & play', with no possibility to modify their code!

Here come the power of the Arduino... you can do exactly what YOU want!

Starting for now, the remaining stuff to do for my project will be piece of cake

Well, maybe not? What about the display? I need to output AB Climax on my arcade monitor...
My PS3 is a PAL model. But since the 'next gen' of console, and thanks to the HDMI connector, PAL or NTSC is no more an issue!
Ok, but I cannot use HDMI connector to send the picture on my arcade monitor!

I'll use this adapter :
This cable plugs into the Playstation 1/2/3 AV port. It includes a video amplifier which boosts the PS video signal to the level required by arcade monitors. It also includes a sync separator circuit. I can now output from my PS3 a RGB signal, which is the half of the job I'm asking for! ... remember, my PS3 is PAL... every games played on a PS3 PAL over the AV PS port will be encoded as PAL! And my G-LOC arcade monitor cannot handle that! The standard in the Arcade world for CRT is 60Hz!
In the PS3 display setup menu, it's possible to force the console to output a RGB signal, but it's NOT possible to force it to output a NTSC signal!
It seems possible to modify a PAL console into an NTSC one ...by jailbreaking the console, but it's not an option for me!
So... no other choice than buying a NTSC P3 console! Found a nice one in US!
While I'm waiting my PS3 NTSC to be delivered fromUSA, let's try this 'Playstation to Arcade Monitor' adapter with an other console, just to be sure that adapter will do the job with a NTSC console. I own a Playstation one (PSX), Japanese model ...and so... NTSC! Let's see


Ok, perfect!
Now, let's see the audio part of this project! The easiest part to be honest!
The G-Loc cockpit has FOUR separate channels for sounds.
The After Burner Climax on PS3 is Dolby Digital.
All I need is a Dolby Digital decoder/amplifier ... and an additional speaker. I also may add a sub woofer bass speaker.
Got that one, who'll be the job quite easily


The PS3 and that decoder/amplifier (which also has a pre-amplifier section) will be connected over an optical cable.
So I just have to unplug the original G-LOC wires from the speakers, and attach the new wires that go to the Dolby Digital decoder :

That one handles 4/16 Ohms signals... which is perfect because the G-Loc speakers are 16 Ohms!

OK, but what about the missing speaker? Easy! I've just added a new speaker right here


I didn't use any fixation. That 'center' speaker is just there... it acts as the 'center' speaker... only 'voices' coming from that one.

So the thee additional pairs of wires (front left/right/center) are sweetly coming...

...into this tube :

It's even easier with the rear stereo signals... They are coming to a connector. I just have to remove a connector and use it to add the signals coming from my amplifier :

So at it point... everything to be experimented is ... successfully done!

Only one thing is missing at this point : my PS3 NTSC model!
1...2...3..4..5..6..weeks passed and still nothing from USA

...7...8 weeks! Finally got a full refund! But lose close to TWO months on this project! So I had to buy an other one... still in USA! But fortunately , this one came pretty fast (but paid extra shipping for fastest delivery too!)... so to two weeks later, here it is :

The scary thing regarding PS3 console : whatever the region of the world, the console is supposed to adapt itself to the right voltage of the region. In other words, I can directly plug this US PS3 (natively 110V) right away into my ...220V socket plug! Yes, in theory NO step down converter needed! Scary isn't it?