Titan Two Downloads

Gtuner IV

Gtuner IV is the main software for programming, updating and configuring the Titan Two device, featuring an complete IDE with integrated compiler for the GPC script language. Gtuner IV also provides user friendly interfaces for easy download, configure and use gamepacks or user made scripts. Based in a modern framework, Gtuner IV supports multi-platform, high resolution monitors and localization.

2019-04-18, Ver 1.01
* Fetch HID Descriptors command returns the first 2s of the USB data traffic if output is connected
* Gtuner IV Mac: Fixed bug where the compiler was not able to find the default library files

2018-03-08, Ver 1.00RC-40
* Macro Editor: Enable drag of the time-frame with right mouse button
* Online Resources: Fixed issue where a search for a term that exists in the searching history was not updating the results {GitHub#204}
* Input Translator: Added button to calculate the curve parameters from the existing curve points (Conversion Curve Generator)
* Input Translator: The inputs can now be individually disabled in the Controller Remapper interface
* GPC Compiler: New function remapper_disable() to disable a controller input
* Mac Version: Fix unable to resize dialog window since Qt framework update 5.10.1 {GitHub#200}
* Code Editor: Ctrl+F automatically search for the selected term from the code editor, if any {GitHub#202}

2017-06-28, Ver 1.00RC
* Macro Explorer: Fixed bug on deleting files with exactly 8.3 characters
* Quick link to create new GIT and GMK files if no work is opened in the respective interface pane
* Mouse XY Converter: Added diagonal dampening factor {GitHub#147}
* The functions keymapping() and mousemapping() can now be called without parameter to disable the default mapping
* Input Translator: Added the ability to lock a point in the Conversion Curve Generator {GitHub#130}
* GPC Compiler: Error notification sound is now played only on the first error message for the current compilation {GitHub#144}
* Online Resources: 'Order By' and 'Sort By' are not reset when navigating to others categories {GitHub#95}
* GPC Compiler: Fixed bug causing false compiling error when an identifier is before ':' of a ternary operator
* GPC Compiler: Fixed bug when indexing an array with another array indexed by a variable
* GPC Compiler: Full backward compatibility with Titan One code by just adding #include <titanone.gph> at the beginning of the code {GitHub#94}
* GPC Compiler: Added builtin constant TRUE
* GPC Code Editor: Added shortcuts Ctrl+K and Ctrl+Shift+K to comment/uncomment a line or selected lines {GitHub#148}
* Interactive Configuration: added option to create collapsible sections, initially expanded or collapsed {GitHub#87}
* GPC Code Editor: Builtin constants NULL, FALSE and TRUE are also evaluated for block highlighting based on preprocessor directives
* GPC Code Editor: Syntax highlight for general GPC constants and user defined macro identifiers {GitHub#28}
* GPC Code Editor: Backtrack included header files for syntax highlight of defined macros
* Interactive Configuration: Fixed bug on MAC where the interactive configuration does not close if the active application changes {GitHub#149}
* Added software and firmware automatic check for newer versions. If an update is available, a message is printed in the output pane {GitHub#135}
* The current session (opened files) can be saved as project (GPJ) for later restoration or quick swap between session projects {GitHub#116}
* Memory Slots: Press and hold the Ctrl key before drop a script/gamepack into the memory slot to NOT reset the configurations {GitHub#49}
* GPC Compiler: Added inv() builtin function as alias of the '-' operation (int and fix32)
* File Explorer: Fixed bug preventing expanded directories to be restored between sessions
* Layout geometry is now preserved during resize of the main window

2017-05-15, Ver 0.104B
* GPC Compiler: Fixed variable assignment with binary operations (&=, |=, ^=) {GitHub#142}
* Output Pane: Fix copied position of the first select item when its index is higher than the last select item
* Fix issues related with the use of art code on script title/name (Memory Slot and Device Monitor) {GitHub#143}
* Online Resources: Place top tabs (section selection) in the center of the available horizontal space
* Set menubar to have same background color as the toolbar for better look on Windows 10
* Online Resources: Added search history (last 16 search queries are maintained in the search history) {GitHub#140}
* Code Editor: Enable virtual space (space beyond the end of each line) for rectangle selections {GitHub#137}
* File Explorer: If working directory is set, expanded directories are restored between sessions

2017-05-03, Ver 0.103B
* Added sub-directory 'configsd' to store files for be copied to the device's SD-Card when executing the "Configure" command
* If an error occurred when updating a memory slot, re-try the operation couple times before abort and show error
* Mac Version: Fixed disabled menus containing sub-menus after QT framework update {GitHub#141}

This tool “IC-Bytetable” helps Titan Two script creators to keep track of the used pmem byteoffsets of their GUI, spot free space easily and does some error checking like overlapping memory space and more. It does parse a gpc script from file or clipboard, searching for Interactive Configuration declaration, showing the result in a table.

The firmware is a set of instructions stored in the read-only memory (flash) of the device, which determines how the hardware should works. Firmware updates are intended to fix bugs, improvements of functionality and add new features to the device.

2018-09-06, Ver 0.98B-64
* HID Driver: Configuration packets can now also be send via out endpoint (in addition to control endpoint)
* HID Driver: Detection of compatible steering wheels and set the protocol designation to PROTOCOL_WHEEL
* Converted the RSA algorithm (RSP Signing) to a library to be used for multiple emulators
* Added support for Logitech G29-PS4 output protocol (wheel crossover, all features supported) {GitHub#146}

2018-04-03, Ver 0.98B-43
* BT Stack: Make the Titan Two discoverable while in pairing mode
* USB Output: Fix signaling of short packet on control endpoint when the size is multiple of bMaxPacketSize0 {GitHub#82}
* GPC VM: Fixed issue where the controller LEDs were not being resetted upon script unload

2018-03-10, Ver 0.98B-32
* HID Emu: Better approach to ensure the disable of the Joystick interface when the corresponding option is set
* Mouse XY Translation: Added filter to suppress movement in one axis if the other is more than 32 times greater
* HID Driver: Added ability to disable certain interface(s) via HID configuration file
* HID Driver: Use the default HID usage mapping if the provided HID configuration file does not contains one

2017-12-11, Ver 0.98B
* GPC VM: Added MREPORT_UPDATED identifier to be used with mouse_status() for check if a new mouse report was received
* Added "USB Multi Interface HID" emulator to output as Keyboard, Mouse and Gamepad/Joystick {GitHub#80}
* GPC VM: New functions to support the HID output: key_set(), key_passthru(), mouse_set(), mouse_passthru()
* Finished implementation of the built-in functions port_connect() and port_disconnect()

2017-12-07, Ver 0.97B-8
* Switch Emu: Detect console turnoff/sleep and, if applicable, flag all connected controllers to also turnoff
* USB Output: Improvements on the algorithm that generates and delivers data reports to the gaming system
* BT Output: Similar improvements as above, but for Bluetooth output
* USB Host: Fix mic audio issues by requesting isochronous data earlier than to what is specified by bInterval {GitHub#74}

2017-08-14, Ver 0.94B-1
* USB Host: Changed timeout for CONTROL transfers from 256ms to 512ms (USB Specification determines the device must reply within 500ms)
* HID Driver: the HID configuration files can now generate output reports to set LED status of HID devices

2017-08-02, Ver 0.93B-8
* Delayed memory slot recall to ensure all subsystems are initialized and running, otherwise the bytecode may not load properly

2017-07-31, Ver 0.93B
* USB Host: Fixed bug on CONTROL transfers timeout were being triggered by BULK transfers
* Added support for Xbox Wireless Adapter: Working with all XB1 controllers (Original, C, Elite and S models) {GitHub#24}
* XB1WRC Driver: Support for wireless syncing of controllers (pressing the side button on the Xbox Wireless Adapter)
* XB1 Driver: Automatic sync the controller over USB to be used wirelessly with the Xbox One Wireless Adapter
* XB1 Emu + XB1WRC Driver: Partial passthru mode for console authentication when using the Xbox Wireless Adapter

2017-07-14, Ver 0.92B
* BT Stack: Added support for LE (Low Energy) mode, required for the Xbox One S controller and future iOS App
* BT Stack: Several optimizations and removal of unnecessary services such as rfcomm, bnep, pan, etc
* BT Stack: Put the Bluetooth module in pairing mode for 20 seconds when receiving the command "Pair Controller Wirelessly" from Gtuner IV
* BT Stack: Permanent storage of the pairing link-keys on SD-Card
* Press and hold the DOWN button before power up the Titan Two to force PROG to full-speed mode (12Mbps)

2017-07-06, Ver 0.91B
* Optimizations on the bus timing between the uC and USB controller, fixing issue with some device combinations causing unresponsiveness {GitHub#53}
* USB HOST: Retry enumerate problematic devices a limited number of times, then giveup to avoid interference on the other connected devices
* XB1 Emulator: Fix bug where the Titan Two was waking up the console right after the Xbox One is turned off by the user
* HID Driver: Dynamic configuration of HID interfaces, including multiple of same kind (before it was hard coded for single of each G, K and M) {GitHub#57,58}
* HID Driver: Full parsing of the HID descriptor and HID report of keyboards, not relying anymore on the standardized boot mode format
* HID Driver: Better normalization and mapping of Generic HID inputs (gaming devices) to the GPC standardized data input structure

2017-06-29, Ver 0.90B-2
* Press and hold the DOWN button before power up the Titan Two for NOT recall the last used memory slot

2017-05-04, Ver 0.88B-16
* Fixed E4 error due missing of deallocation of used memory in the RSASSA-PSS signing algorithm
* The status of the INPUT-D port is now reflected on the device's display (waiting animation mem slot number)

2017-03-17, Ver 0.85B
* Mouse XY Translation + Normalization: Apply both axis value if any of the axis has value
* Mouse XY Translation: Calculation of mouse movement value is now based on traveled distance over time

2016-11-22, Ver 0.79B
* GPC VM: if intensity on led_set() is negative, the user defined intensity is used
* Restrict LED and FFB data reports to connected controllers to maximum of 1 per ms
* GPC VM: led_vmget() now returns 0 if led_vmset() was not previously called