Gtuner IV and Titan Two 1.08 BETA Release

Tutorials, How-tos and FAQs for the Titan One device.

Gtuner IV and Titan Two 1.08 BETA Release

Postby J2Kbr » Tue Apr 21, 2020 7:50 pm

-- UPDATE May 17th --

This update brings a new feature specially aimed for game streamers. It is now possible create a Virtual Controller to show the controller inputs within streaming applications, such as OBS.

The Virtual Controller must be enabled at Preferences -> Devices and the ViGEm Bus Driver must be installed on the computer.

ViGEm stands for Virtual Gamepad Emulation Framework
ViGEm aims for a 100% accurate emulation of well-known gaming peripherals as pure software-based devices at kernel level. As it mimics "the real thing" games and other processes require no additional modification whatsoever to detect ViGEm-based devices (no Proxy-DLLs or API-Hooking) and simply work out of the box. While the (now obsolete) Scarlett.Crush Productions Virtual Bus Driver is the spiritual father of this project, ViGEm has been designed and written from the ground up utilizing Microsoft's Kernel-Mode Driver Framework.

Download ViGEm Bus Driver from here:
https://github.com/ViGEm/ViGEmBus/releases (ViGEmBus_Setup_1.16.116.exe)

The Virtual Controller can be created using the INPUT data (actual user inputs on the controller) or the OUTPUT data (after processed by the running script/gamepack). The user can emulate a Xbox 360 controller or DualShock 4.

VirtualController.png
VirtualController.png (73.79 KiB) Viewed 2675 times

Gtuner IV 1.08B Revision 6 changelog:
Code: Select all
* GPC Compiler: Updated wii.gph header file to include defines for MotionPlus 3 Axis Gyro
* Device Monitor: Create Virtual Controller fed with I/O data (e.g. for OBS plugins) {GitHub#380}
* Preferences->Devices: Option to show/hide the Virtual Controller configuration controls
* Output Panel: Option to enable/disable auto scroll (at right click context menu) {GitHub#378}
* KMG Capture: Detect XInput devices by checking for "IG_", instead of use VID:PID {GitHub#379}

Titan Two firmware 1.08B Revision 2 changelog:
Code: Select all
* PS4 Driver: Parse R2 and L2 digital inputs if the analog inputs are not available

-- UPDATE May 13th --

Gtuner IV 1.08B Revision 4 changelog:
Code: Select all
* Added Chinese translation, thanks for Meki and Michael for making the translation file
* Device Monitor: Show complete status of USB-D when running "KMG Capture"
* GPC Input Reference (F1): Added references to Wiimote MotionPlus Gyro inputs (X, Y, Z)
* Device Monitor: Added Input and Output status fields and plotting Wiimote MotionPlus Gyro

Titan Two firmware 1.08B-0 and Rev 1 changelog:
Code: Select all
* Bluetooth Module: Changed page scan parameters for faster connection of a second BT controller
* Bluetooth Module: Option to select the quantity of connectable inputs (Bluetooth Classic)
* Bluetooth Module: Option to enable/disable Gtuner Air connectivity (Bluetooth Low-Energy)
* Extended the input/output data structures to accommodate 4 new entries for controller paddles
* GPC VM: Added support for paddles to related functions, such as remapper, remapper_swap
* PROG: Include input and output paddles states to report send for Gtuner IV Device Monitor
* Updated Input Translator parser to support button remapping with paddles (version 2)
* Data Normalization: Moved Xbox One Elite paddles to dedicated paddle identifiers
* Data Normalization: Moved Xbox One Sync button to BUTTON_21 identifier
* Data Normalization: Moved Steam controller paddles to dedicated paddle identifiers
* Data Normalization: Register from which port the normalized value has been originated
* GPC VM: Added get_port() (opcode GPRT) to retrieve the port from an input value {GitHub#103}
* PROG: Fix bug where the PROG port status was not being correctly restore on KMG Capture exit
* HID Driver: Increased max HID Collection from 12 to 26 (required for SideWinder) {GitHub#255}
* HID Driver: Make the paddles identifiers available for bind extra buttons of HID controllers
* Wii Driver: Added support for Wiimote Motion Plus extension (3 axis gyroscope) {GitHub#218}
* PS4 Driver: Added support for Splitfish Frag FX Piranha controller for PS4

-- UPDATE May 5th --

Gtuner IV 1.08B Revision 3 changelog:
Code: Select all
* External Tools: When needed, save the working file before open with an external tool
* GPC Compiler: Print symbol table summary and memory usage after process garbage collection
* Preferences: Added GPC Compiler pane with option to enable/disable garbage collection of unreferenced symbols

-- UPDATE April 30th --

Gtuner IV 1.08B Revision 2 changelog:
Code: Select all
* Code Editor: File handles are kept closed, so other apps can have write access {GitHub#375}
* GPC Compiler: Implemented garbage collection of unused variables, functions, combos {GitHub#377}
* GPC Compiler: Updated xb1.gph header file to include XB1_SYNC define (BUTTON_21)

-- UPDATE April 25th --

Gtuner IV 1.08B Revision 1 changelog:
Code: Select all
* Publishing: Include bytecode files referred by script_load() when publishing scripts {GitHub#286}
* File Explorer: Added icon, enabled listing and install operation of bytecode files (*.gbc)
* Online Resources: Support for works containing GBC files to be stored in the Micro-SD Card
* Memory Slot: Accept drop of bytecode files to be stored into the  Micro-SD Card of Titan Two
* Memory Slot: Support drop of works containing GBC files to be stored in the Micro-SD Card

-- ORIGINAL POST --

Gtuner IV and Titan Two 1.08 BETA Release

In preparation to support the next generation consoles (PS5 and XSX) the 1.08 update adds 4 new I/O identifiers fully dedicated for back-paddles (PADDLE_1, ..., PADDLE_4).

The identifiers BUTTON_18, BUTTON_19, BUTTON_20 and BUTTON_21 are now designated for console specific functionalities.

This update has also implemented almost all requests listed on Gtuner's GitHub. Following you can find a brief explanation of the most relevant new features. Check the changelog below for the full list of changes made and visit the corresponding GitHub issue for more details of each request and final implementation.

Input Translator Editor: The user can now select console based labels for the IO identifiers.
io_labeling.png
io_labeling.png (43.06 KiB) Viewed 6022 times

GPC Scripting: Input Translators files can now be directly added to a script source code with preprocessor directive #import "<filename>", example:
Code: Select all
#import "#03-temp.git"
 
init {
    remapper(_03_temp_cmap);
    keymapping(_03_temp_kmap);
    mousemapping(_03_temp_mmap);
    mxyconverter(_03_temp_mxyc);
}
More details here: https://www.consoletuner.com/wiki/index ... =t2:import

GPC Scripting: Added new GPC function get_port() to retrieve the port which originated the normalized input value, example:
Code: Select all
main {
    // If BUTTON_16 is active ...
    if(get_actual(BUTTON_16)) {
        // and if the value is comming from USB-B ...
        if(get_port(BUTTON_16) == PORT_USB_B) {
            // don't forward the input to the console.
            set_val(BUTTON_16, 0.0);
        }
    }
}
More details here: https://www.consoletuner.com/wiki/index ... 2:get_port

--

To update Gtuner IV and the Titan Two with the beta release, proceed as the following:

1. Go to the folder where Gtuner.exe is located;
2. Find the file named "Gtuner.cfg" and open it on notepad or similar text editor;
3. At the very end of the file, add the following;
Code: Select all
[Advanced]
beta_tester=true
5. Run Gtuner IV and go to menu Tools -> Check for Updates.

Links for direct download :

WIN: Gtuner IV 1.08B
MAC: Gtuner IV 1.08B

To rollback to the stable firmware:

1. set beta_tester= to false;
2. put the Titan Two in programming mode and update as normal.

--

Gtuner IV 1.08B changelog:
Code: Select all
* Qt framework updated to 5.14.2
* Device Configuration: Option to select the quantity of connectable inputs (Bluetooth Classic)
* Device Configuration: Option to enable/disable Gtuner Air connectivity (Bluetooth Low-Energy)
* Extended the input/output data structures to accommodate 4 new entries for controller paddles
* Xbox One input labels: 'P1', 'P2', 'P3', 'P4' moved to PADDLE_1, PADDLE_2, PADDLE_3, PADDLE_3
* Xbox One input labels: Added support for Xbox 'Sync' button, mapped to BUTTON_21
* GPC Input Reference (F1): Added rows to list the controller paddles mappings for each console
* GPC Compiler: Added literals for controller paddles: PADDLE_1, PADDLE_2, PADDLE_3 and PADDLE_4
* GPC Compiler: Added support for paddles to related functions, such as remapper, remapper_swap
* Code Editor: Added highlighting for paddle literals: PADDLE_1, PADDLE_2, PADDLE_3 and PADDLE_4
* Device Monitor: Added Input and Output status fields and plotting support for paddle entries
* Device Monitor: Included recording of the paddles states to Macro Recorder command (GMK file)
* Macro Editor: Added entries to visualize and edit the temporal state of controller paddles
* Macro Editor: Moved the commands 'Check All' and 'Uncheck All' to right click context menu
* Input Translator -> Controller Remapper: Added support to remap the controller paddles
* Input Translator: Upon open, automatic convert existing GIT file to the format with paddles
* Updated some GPH headers files related with controller I/O to support the paddle entries
* Gtuner Mac: Fixed bug with StandardPaths:AppDataLocation not including the AppName {GitHub#366}
* Device Monitor (Gtuner Mac): Fix Macro Rec save file not appending .gmk extension {GitHub#365}
* Input Translator: Optimizations to improve performance for GIT with several mappings {GitHub#370}
* Input Translator: Mark Input Translator file as unsaved after paste keyboard or mouse mappings
* Input Translator: Capability to select console labels for IO identifiers {GitHub#253,#242,#252}
* Added advanced option assembly_shortcut=false (gtuner.cfg) for disable F6 shortcut {GitHub#342}
* Macro Editor: Added toolbar button for quick reload the GMK file (rudimentary undo) {GitHub#172}
* Macro Editor: Added command to reverse macro time sequence (toolbar button) {GitHub#296}
* Online Resources: Support for regular search against the title: [<search_query>] {GitHub#244}
* GPC Compiler: Added preprocessor directive #import to include input translator files {GitHub#350}
* Publishing: Include input translator files referred by #import when publishing scripts {GitHub#350}
* GPC Compiler: New function get_port() to retrieve the port of an input value {GitHub#372}
* Preferences: Option description changed to 'Automatically start Capture Mode' {GitHub#374}
* KMG Capture: Active interfaces and select controller are saved before exit the sw {GitHub#374}
* Interactive Configuration: Added operation COPY FROM INDEX for one click configs {GitHub#349}
* Memory Slot: Added command to install GBC files onto the sd-card, for script_load() {GitHub#286}

--

I appreciate if you guys could test and provide feedback.

In the meantime, I will be dedicated to the Titan Two firmware requests listed on GitHub. I plan, whenever is possible, release beta updates of the firmware as each request is implemented.

Thank you.
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 19089
Joined: Tue Mar 18, 2014 1:39 pm

Re: Gtuner IV and Titan Two 1.08 BETA Release

Postby antithesis » Tue Apr 21, 2020 10:30 pm

Big update, thanks J2K!

Do the new paddle bindings also apply to Elite and Elite S2 controllers?

I recall there being issues with paddles when using Elite controllers on PS4 - I had to neutralise some unintended input (Share button being triggered) via an Input Translator.

IO identifiers for Input Translators is also very handy and will save some time.
Official Australian retailer for Titan One, Titan Two and XIM APEX at Mod Squad
User avatar
antithesis
Colonel
Colonel
 
Posts: 1814
Joined: Sat May 28, 2016 10:45 pm

Re: Gtuner IV and Titan Two 1.08 BETA Release

Postby prototype » Wed Apr 22, 2020 8:58 am

One more awesome update with many good new features and great improvements ! Thanks a lot J2K !
Console tuner since my 1st controller.
Believe or dare, It's Titanic! :smile0517:
User avatar
prototype
Brigadier General
Brigadier General
 
Posts: 3092
Joined: Sun Dec 16, 2012 1:43 pm

Re: Gtuner IV and Titan Two 1.08 BETA Release

Postby J2Kbr » Wed Apr 22, 2020 8:59 am

Thank you antithesis and prototype.

antithesis wrote:Do the new paddle bindings also apply to Elite and Elite S2 controllers?

Yes, to both Elite controllers as well as to Steam controller.

antithesis wrote:I recall there being issues with paddles when using Elite controllers on PS4 - I had to neutralise some unintended input (Share button being triggered) via an Input Translator.

Before this update, the PS4 Share button and the Elite P1 were sharing the same I/O identifier. With 1.08 update these buttons are allocated in separated identifiers, which solves this issue for good. :smile0517:
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 19089
Joined: Tue Mar 18, 2014 1:39 pm

Re: Gtuner IV and Titan Two 1.08 BETA Release

Postby Buffy » Wed Apr 22, 2020 12:22 pm

Haven't had time to fully mess around with this yet, but reading here, very nice job :smile0203:

The Input Translator part alone should make it much more user friendly :P

And the ability to install gbc's - maybe in the future a way to setup Gtuner to have "infinite" slots via loading GBC off the SD rather than 1-9? (Could have led change color to indicate a higher slot#)
ConsoleTuner Support Team || Discord || Custom Scripts
User avatar
Buffy
Lieutenant
Lieutenant
 
Posts: 383
Joined: Wed Jul 20, 2016 5:23 am

Re: Gtuner IV and Titan Two 1.08 BETA Release

Postby J2Kbr » Wed Apr 22, 2020 12:37 pm

Thank you Buffy.
Buffy wrote:And the ability to install gbc's - maybe in the future a way to setup Gtuner to have "infinite" slots via loading GBC off the SD rather than 1-9? (Could have led change color to indicate a higher slot#)

Definitively, this feature is something we can be improving in future updates. :smile0517: Currently this feature allows extend the maximum size of a script by splitting it in several parts. For example, by coding a script file for each character of a fighting game and then dynamically load the character bytecode according the users choice.
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 19089
Joined: Tue Mar 18, 2014 1:39 pm

Re: Gtuner IV and Titan Two 1.08 BETA Release

Postby antithesis » Wed Apr 22, 2020 10:13 pm

J2Kbr wrote:Definitively, this feature is something we can be improving in future updates. :smile0517: Currently this feature allows extend the maximum size of a script by splitting it in several parts. For example, by coding a script file for each character of a fighting game and then dynamically load the character bytecode according the users choice.

Wait, what :shocked: ...we talked about this years ago, it's finally happening :smile0208:

So it'll be possible to say have a class selection menu in Battlefield, then load a different GBC file, depending on class?

Likewise, this would cover the weapon packs we discussed with Scachi for games like Destiny 2. Pick a Primary, Secondary and Heavy from menus and get weapon-specific rapid-fire, recoil etc. This was already possible, but we hit the bytecode limit.

This exponentially increases the size and quantity of mods we can use and should be posted on a giant neon sign!
Official Australian retailer for Titan One, Titan Two and XIM APEX at Mod Squad
User avatar
antithesis
Colonel
Colonel
 
Posts: 1814
Joined: Sat May 28, 2016 10:45 pm

Re: Gtuner IV and Titan Two 1.08 BETA Release

Postby Scachi » Wed Apr 22, 2020 10:25 pm

antithesis wrote:Wait, what :shocked: ...we talked about this years ago, it's finally happening :smile0208:
....

Parts of this was already possible...April 2019, "script_load example" in the Online Resource.
But I missed the option to bundle multiple .gbc files into a single download and an automated install for those kind of scripts with all included gbc files to sd. I think it is still not possible to have those automatically installed onto the sd or bundled into a single download ?

But now we can copy it to the SD without having to remove the SD from the T2, so it is a big step forward
with some steps missing or me missing that they are already included and how to use them :wink:
User avatar
Scachi
Brigadier General
Brigadier General
 
Posts: 2405
Joined: Wed May 11, 2016 6:25 am
Location: Germany

Re: Gtuner IV and Titan Two 1.08 BETA Release

Postby antithesis » Thu Apr 23, 2020 12:41 am

Yeah I remember that, but filed it in the "too hard" basket at the time :)

Let's see how this one plays out. Simply pointing to external files from a menu and loading them from SD would be very handy.
Official Australian retailer for Titan One, Titan Two and XIM APEX at Mod Squad
User avatar
antithesis
Colonel
Colonel
 
Posts: 1814
Joined: Sat May 28, 2016 10:45 pm

Re: Gtuner IV and Titan Two 1.08 BETA Release

Postby UK_Wildcats_Fans » Thu Apr 23, 2020 3:41 am

Jefferson,

It has truly been wonderful watching the development of the software and hardware. Congratulations and great job.

Terry
User avatar
UK_Wildcats_Fans
Brigadier General
Brigadier General
 
Posts: 2169
Joined: Thu Jan 08, 2015 6:53 pm
Location: San Diego, California USA

Next

Return to Tutorials and FAQs

Who is online

Users browsing this forum: No registered users and 2 guests