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.

Gtuner IV for Windows
Version 1.00RC
Release Date 17 Sep 2017
File Size: 48.3 MB
Device Compatibility Titan Two Device
System Compatibility Win10, Win8.1, Win7
Gtuner IV for Mac
Version 1.00RC
Release Date 17 Sep 2017
File Size: 58.6 MB
Device Compatibility Titan Two Device
System Compatibility OS X 10.10+


2017-09-17, Ver 1.00RC-16
* GPC Compiler: Added PROTOCOL_SWITCH on protocols definition list
* Device Monitor: Added references for Nintendo Switch Pro controller
* Device Configuration: Added Nintendo Switch as Output Protocol
* PS4 Touch-Click swapped with Share button (BUTTON_2 <> BUTTON_18) for better crossover/gaming consistency
* GPC Quick Reference (F1): Added references for the Nintendo Switch inputs
* GPC Compiler: Added new header file <switch.gph>
* Added HID configuration file for Logitech G13
* Fix issue on Mac where the update window closes itself when the device enters in programming mode {GitHub#166}

2017-08-11, Ver 1.00RC-11
* Input Translator: Fix layout alignment of the "Input Port Remapper Mask" box
* Header <titanone.gph>: Updated to comply with the new format of remapper() function

2017-08-10, Ver 1.00RC-10
* Header <titanone.gph>: Fix indexing conversion of the Xbox Elite Controller paddles
* Input Translator: Added ability to select to which input port the Button Remapper should be applied
* GPC Compiler: Added remapper_mask() to configure which input ports the Button Remapper should be applied
* GPC Compiler: New header file <remapper.gph> with definitions of port masks to be used with remapper_mask()
* Added HID configuration files for Arduino Leonardo (Joystick) and Logitech Driving Force GT (Button Mapping, 900° Wheel, FFB)
* Interactive Configuration: Script command "GCMD:InteractiveConfiguration.Refresh" now also works in preview mode {GitHub#161}

2017-07-31, Ver 1.00RC-8
* Added support for RU language (translation not yet avaliable)
* Device Monitor: Added new device identification "Xbox One Wireless Adapter"
* GPC Compiler: Added PROTOCOL_XB1_WRC on protocols definition list
* Included 'xboxacc.fw' for initialization of Xbox Wireless Adapter (command Micro-SD -> Configure)

2017-07-12, Ver 1.00RC-7
* Qt framework updated to 5.9.1
* Device Configuration: Added "Pair Controller Wirelessly" command (for Wiimote, Wii U Pro and Xbox One S controllers)
* GPC Compiler: Fixed bug on evaluating expressions containing user-defined functions with returning value {GitHub#158}
* Code Editor: Find/Replace now allows text replacing with empty string {GitHub#155}
* Code Editor: Highlight all occurrences of selected text (whole word, case sensitivity) {GitHub#156}
* Online Resources: Allow full-screen mode for embedded YouTube videos {GitHub#157}

2017-06-29, Ver 1.00RC-5
* GPC Compiler: Another fix related with array indexing, everything should be good now.

2017-06-29, Ver 1.00RC-4
* Fixed bug causing application crash when loading project files (GPJ)
* Interactive Configuration: arrow of collapsible sections is now working properly to mouse click
* GPC Compiler: Added opcodes MOD!, DIV! and SR! for correct operation with signed integers

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-06-14, Ver 1.00B
* Qt framework updated to 5.9
* Device Monitor: Fix occasional crash due concurrent data access while re-plotting the graph area
* GPC Script IDE: Stylesheet of Document Tabs configured to produce the same look and feel across Windows and Mac
* Finished implementation of Macro Editor. Complete interface to edit macros files, merging macro files, interpolation, conversion to GPC combo code (Combo Magick), recording and playback functionalities (GameREC).

2017-05-25, Ver 0.105B-560
* Fixed bug causing the "Test and Debug" command to get disabled (grayed out) under some circumstances

2017-05-24, Ver 0.105B
* Finished implementation of Macro Explorer on Device Memory Slots pane
* Finished implementation of Macro Recorder on Device Monitor pane
* GPC Compiler: Added macro_run(), macro_time() and macro_stop() builtin functions
* Initial implementation of Macro Editor pane (open gmk file, Test and Debug command)

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}

2017-03-31, Ver 0.102B
* Device Monitor: Allow the items of device status area to further squeeze to avoid vertical scrollbar
* Device Monitor: CPU Load can now be dragged to plottable channel
* KM Capture: fixed chance of mutex deadlock when exiting capture mode
* Interactive Configuration: removed "Stay on Top" window flag of Gtuner IV Windows version
* GPC Compiler: Fix mxyconverter() compiler error with valid mxyconfig data structure
* Added interface to fetch HID descriptors from a device connected to the Titan Two (menu Tools)
* Updated dialog windows icon to reflect the dialog function
* Qt framework updated to 5.8.0-1

2017-03-17, Ver 0.101B
* Device Monitor: Queued plot refresh for better performance on processing of time sensible events
* KM Capture: refactored mouse input acquisition and threaded with flow control USB data reporting
* Disabled many debugging messages on public release builds

2017-03-13, Ver 0.100B
* Input Translator: return scroll page to top when opening a new file
* Input Translator: temporarily disable UI update while loading an file (avoid flickering)
* Published GPC and GIT can now be dragged directly to memory slots {GitHub#84}
* Online Resources: Show download options if the work already exists locally (Replace, Create Copy, Cancel) {GitHub#72}
* The memory slot number is now clickable for quick load a memory slot, also available via context menu {GitHub#110,#115}
* Online Resources: "Publish Date" changed to "Last Updated" in the "sort by" combobox {GitHub#98}
* GPC Compiler: Fix compiling error with nested jumping tables {GitHub#119}
* Added Cancel option for closing a not saved file (Code Editor and Input Translator) {GitHub#105}
* File Explorer: Added "Delete to Trash" and make it the default delete operation {GitHub#32}
* File Explorer: New directories are now created under the parent of the area where the context menu was called {GitHub#26}
* File Explorer: Keep the directories on top also when sorting by Modified Date {GitHub#66}
* Code Editor: Character encoding changed to UTF8 (previously Latin-1) to support ASCII Art on comments {GitHub#91}
* Publishing: If the published work is Bytecode, updates will be marked as Bytecode by default {GitHub#109}
* Input Translator: Make icon grayed if "No GIT file opened"
* Added "Save a Copy As..." to the file menu, after "save a copy" both files will be in the code editor {GitHub#121}
* File Explorer: Silent close the file, if opened, before execute a delete operation
* Output Panel: Select and copy multiple lines - selection modifiers keys: Ctrl and Shift {GitHub#106}
* Memory Slot: Fix duplicated output message when updating an memory slot configuration {GitHub#107}
* Added link to software and firmware changelog in the Help -> About window {GitHub#111}
* Publishing: The description field is now mandatory {GitHub#128}
* Added memory slot shortcuts: Ctrl+UP, Ctrl+DOWN, Ctrl+0 and Ctrl+<1 to 9> {GitHub#89}
* Fixed crashing on Mac when opening GIT files with Mouse XY configuration {GitHub#125}
* Set Interactive Configuration window to stay on top of Gtuner IV window - Mac {GitHub#101}
* The GPC Input Reference window automatically closes it-self if the active window changes {GitHub#112}
* Auto adjust the width of the Interactive Configuration window to fit its contents {GitHub#102}
* Several tweaks on GUI elements of Mac version to have similar look and feel as the Windows version
* Improvements on the GPC Input Reference: insert GPC designator and auto select combobox {GitHub#113,#100,#58}
* Added command "Sort Tabs by Name" in the Window menu {GitHub#122}
* Implementation of GCMD API to allow the Titan Two scripts to send commands to Gtuner IV {GitHub#114}
* File Explorer: Enable/disable the items from the context menu accordingly the current selection
* Code Editor: Inclusion of bookmarks margin (Ctrl+F2) and navigation (F2, Shift+F2) {GitHub#17}
* GPC Compiler: Added variants of pmem_load() and pmem_save() with argument (memory slot number) {GitHub#123}
* Windows version: increased the version number of assemblies to avoid side-by-side conflits {GitHub#82,#134}
* KM Capture: updated to use a dark theme, frameless window and non-modal
* KM Capture: limit the maximum output HID reports to 1000/s (to avoid overload of the USB data pipe)

2017-02-22, Ver 0.99B-1400
* GPC Compiler: Fix assigment with multi-parameter function on variable declaration
* Shortcut for "KM Capture" changed to F4 (F2 was confliting with file rename in file explorer pane)
* Added option to copy the Mouse XY conversion curve as GPC fix32 array from the data table (Alt modifier)
* The angular parameter of Exponential-Angular curve generator now goes up to 100.00
* Mouse XY Converter: Swaped position between deadzone and curve areas to reflect the new processing order

2017-02-20, Ver 0.99B
* GPC Compiler: the pre-processor directives (i.e. #line) is now processed by the lexer module
* Input Translator: Moved header bar outside the scrolling area
* Input Translator: The header bar now shows the GIT file size
* GPC Input Reference Dialog: Remember position and geometry during current session
* Added Mouse Mapping configuration to Input Translator pane
* Added Mouse XY Conversion configuration to Input Translator pane
* Memory Slots: Check for GIT file too big for internal memory slots
* Device Monitor/Slot Metainfo: Added flag for Mouse XY Conversion ('C')
* GPC Compiler: Added pow() build-in function (for int and fix32)
* GPC Compiler: Added mousemapping(), mousemapping_reset(), mxyconverter(), mxyconverter_reset() and mouse_status()
* GPC Compiler: Added new header file
* Added "Keyboard and Mouse Capture" interface for play using the computer's K&M (similar to MaxAim DI)

2017-01-28, Ver 0.98B
* Show warning message of Input Translator unsaved work when closing Gtuner IV
* Added Keyboard Mapping configuration to Input Translator pane
* Device Monitor/Slot Metainfo: Added flag for Keyboard ('K') and Mouse ('M') Mapping
* Fix bug preventing the "Test and Debug" command to log output messages for GIT files
* Added GPC Input Reference dialog (F1 shortcut), click the row number to insert the designator to the code
* GIT files now includes an flag for EOF
* GPC Compiler: Added keymapping(), keymapping_reset(), key_status() and key_get() build-in functions
* GPC Compiler: Added new header file with key code definitions

2017-01-21, Ver 0.97B
* Changed code for synchronous download (Online Resources) to work with Qt 5.7.1 (Mac)
* Also verify the revision number when checking for new updates (software and firmware)

2016-12-22, Ver 0.96B
* Fix calltips of some GPC build-in functions and commands
* GPC Compiler: pmem_read() with single argument now accepts literal expressions
* Interactive configuration: size policy changed to expanding on several controls
* Online Resources: Added "Release Date" option on "Order by" dropbox
* GPC Compiler: Fixed incorrect memory alignment of variables declared after combos
* Interactive Configuration: Enable links to open in external browser
* GPC Compiler: process pre-processor directives (ie. #line) inside initialization list
* Online Resources: prioritize focus on search box to easy make search queries
* Online Resources: added clear button for search query {GitHub#64}
* GPC Compiler: changed format string of Variables usage report to keep consistency {GitHub#90}
* Qt framework updated to 5.7.1

2016-11-16, Ver 0.95B
* GPC Compiler: Added display_overlay() function {GitHub#42}
* GPC Compiler: Fix rand execution order when placed as parameter
* GPC Compiler: Fix pointer parameter followed by a value parameter causing compiler error {GitHub#81}
* GPC Compiler: Added mslot_get(), mslot_load() and mslot_check() functions {GitHub#75}
* Menu: Added "Gtuner Documentation" and "GPC Language Reference" in the help menu {GitHub#74}
* Publishing: Added placeholder tip for "description", "keywords" and "doc url" input fields {GitHub#63}
* Preferences: Added links to "Register" and "Forgot Password" into ConsoleTuner pane {GitHub#62}
* Script/Gamepack Interactive Configuration window initial geometry increased to 500x560
* Added "Save Layout" (Ctrl+F11) and "Restore Layout" (F11) operations to View menu {GitHub#67}
* Online Resources: prevent embed YouTube to open external browser
* Added option to show Modified Date on File Explorer (Preferences -> Environment) {GitHub#66}
* Publishing: multi-byte characters are converted to HTML-entity when re-publishing a script {GitHub#47}
* Code Editor: Added backward search with Shift+F3 {GitHub#48}
* Code Editor: Fix Replace All not replacing all occurrences when there is a selected text
* The global property "last directory" is updated according the selected directory in the File Explorer {GitHub#25}
* GPC Compiler: List unreferenced variables, functions, combos and/or labels {GitHub#23}
* GPC Compiler: Added port_permit_ffb() function
* Device Configuration: Global enable/disable FFB on each input port {GitHub#77}
* Device Configuration: Force USB Prog Interface to full speed (12Mbps)

2016-10-29, Ver 0.94B
* First public beta release

Titan Two Firmware

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.

Version 0.96B
Release Date 19 Oct 2017
Device Compatibility Titan Two device


2017-10-19, Ver 0.96B
* Added support for "disconnect device at port x" command from Gtuner IV (Device Monitor)
* BT Stack: Bluetooth service handlers completely refactored (SDP, L2CAP)
* DS4 Driver: Automatic pair the controller over USB to be used wirelessly with the Titan Two Bluetooth Module
* PS4 Emu: Re-written to emulate all available PS4 controller features, including audio interface
* DS4 Driver: Enhancements associate with the new PS4 Emulator and operation in "Full Passthru" mode
* DS4 Driver: Added support for PS4 third-party controller: ZEROPLUS P4 Wired Gamepad
* PS4 Emu: Fixed issue where switching account on PS4 with PS4 Pro controller makes the device unresponsive {GitHub#77}
* PS3 Emu: Added support for PlayStation 2 compatibility mode on PS3 {GitHub#75}

2017-10-04, Ver 0.95B-1
* GPC VM: Fix issue with pmem_save() not storing the persistent data at the specified memory slot {GtunerIV GitHub#175}
* PS4 Emu and Driver: Fix "leak" of rumble and LED status packets to the controller when in full pass-thru mode {GitHub#70}
* Micro-SD Card: Changed formatting parameters to check if helps with formatting Micro-SD cards presenting FS Error 1 or 15

2017-09-17, Ver 0.95B
* HID Driver: optimizations on the HID Parser data structure (fix potential crash with vendor reports)
* Added support for Nintendo Switch Pro controller (wired mode; fully working, including motion sensors and rumble*)
* USB Output: Improved detection of connected console/system (USB AUTOMATIC MODE), added Nintendo Switch
* Added support for Nintendo Switch console (wired mode; TODO: decode HD Rumble packet) {GitHub#55}
* PS4 Driver and Emulator: Touch-Click swapped with Share button (BUTTON_2 <> BUTTON_18) for better crossover/gaming consistency

2017-09-03, Ver 0.94B-2
* PS3 Driver: Send LED status report using interrupt transfers, instead of control transfers (fix E4 error) {GitHub#68}

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-10, Ver 0.94B
* Input Translator: Remappings can now be configured to apply only to specific controller(s), based on the input port {GitHub#62}
* GPC VM: Added remapper_mask() builtin function (opcode RMSK) and updated remapper() to the new Button Remapper format
* HID Driver: Re-written to support per device configuration file with init script, usage map customization, vendor reports and output reports (FFB)
* FS Engine: Better handling of concurrent file access on the Micro SD-Card
* Logitech Wheels: Device initialization to operate in native mode (Driving Force Pro, G25 Racing Wheel, G27 Racing Wheel, Driving Force GT)
* USB Host: Reset error counter for the input port when new device is connected (related with enumeration of problematic devices from 0.91B)
* Several improvements and optimizations for code re-use and reduced binary code footprint
* Added support for Venom X. Remarks: set Venom X to PS mode without controller, the auth controller -if needed- must be connected on Titan Two {GitHub#52}
* Improvement on the connectivity with XIM4 were noticed since firmware 0.92B, therefore related issues on GitHub were closed {GitHub#40,50,56}

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-06-29, Ver 0.90B-1
* GPC VM: Added opcodes MOD!, DIV! and SR! for correct operation with signed integers
* GPC VM: Fix bug on converting negative values from fix32 to integer (opcode FTOI)

2017-06-28, Ver 0.90B
* Input Translator: Support to disable the default keyboard and/or mouse mapping via script
* Mouse XY Translation: Added support for diagonal dampening correction

2017-06-14, Ver 0.89B-81
* USB HOST: Ignore the device class defined on device descriptor and check for supported classes at interface level

2017-05-24, Ver 0.89B
* Macros: Implemented of SD-Card operations for binary macro files (list, store, delete)
* Macros: Implemented binary macro playback engine with support for interpolation and time drift correction
* GPC VM: Added macro_run(), macro_time() and macro_stop() builtin functions (opcodes MRUN, MRTM and MSTP)
* USB PROG API: Back-end support for Test and Debug macro files

2017-05-17, Ver 0.88B-53
* PS4 Emulator: Fix reboot loop due access to invalid pointer when having an empty sd-card inserted.

2017-05-15, Ver 0.88B-36
* Firmware source code compilation: IDE updated to the newer Atmel Studio 7
* HID Driver: Force HID input devices of type "keyboard" to operate on the boot interface {GitHub#49}
* INPUT-D: Changed b_size for USB interrupt endpoint IN to report size, instead of MaxPacketSize

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-05-03, Ver 0.88B
* Firmware source code compilation: Changed compiler optimization to -OS
* Added support for SHA-256 hash calculation and RSASSA-PSS signing algorithm
* Fix INPUT-D, working for HID devices (keyboard, mouse, joystick, fightstick, steering wheel, etc) {GitHub#43}
* HID Driver: Added support for Keyboard/Mouse on generic HID interfaces (other than the regular Boot interface) {GitHub#48}

2017-04-07, Ver 0.87B
* USB HOST: Support for USB low-speed devices (1.5 Mbit/s), such as keyboards, mice, PS2 adapters, foot-switches, etc
* USB HOST: Fixed several communication issues with Xbox One S controller, including inconsistent FFB and headset noise {GitHub#44}
* PS4 Driver: Fixed battery charge level report of third-party wired controllers {GitHub#45}
* Fetch Device Descriptors: Retry get descriptor if the device stalls the control endpoint, or if error occurred

2017-03-31, Ver 0.86B
* Added API to provide HID descriptors of a device connected to the Titan Two

2017-03-20, Ver 0.85B-66
* Optimizations to improve the data flow of mic audio signal from controller to console
* Mouse XY Translation: Improvement of the algorithm that determines the mouse movement/speed value

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

2017-03-13, Ver 0.84B-239
* Mouse XY Translation: Fix value overflow with deadzone shape smaller than circle
* Fix32 MathLib: optimizations on pow() algorithm (used by Mouse XY Translator)
* GPC VM + HID Driver: Fix HID report ID check for key_status() and key_get() build-in functions

2017-03-13, Ver 0.84B
* Added support for "load memory slot X" command from Gtuner IV
* GPC VM: Added pmem_load() and pmem_save() with argument (opcodes PMLN and PMSN)
* Mouse XY Translation: ensure persistence of mouse wheel forward/backward events for around 64ms
* Mouse XY Translation: tweaks to improve mouse micro-movements to be registered by the console
* Mouse XY Translation: fixed indexing issue when mouse value falls outside the conversion curve range
* Keyboard Mapping: Allow single key to be mapped to multiple controller buttons, stick, sensors, etc
* HID Driver: Fix HID report ID check for keyboards and keyboard like devices (footswitch compatibility)
* USB PROG: Fix error code 2 with Gtuner IV when unplug/plug the device while still powered
* SD-CARD API: Disabled support for SDIO (not needed by the Titan Two)
* PROG Interface: Enable double-buffer for USB transfers (increase data bandwidth, required when using "KM Capture")
* PS4 Driver: Fix synchronization of lightbar color when initializing in full-passthru mode
* PS3 Emulator: Fix synchronization of Player LEDs when initializing in full-passthru mode
* USB HOST: Fixed occasional sound distortion on isochronous pipe, most noticable when using XB1 controller with stereo headsets

2017-02-22, Ver 0.83B-222
* Mouse XY Translation: Deadzone is now processed last (dM -> [Sensitivity + YXRatio] -> CC -> DZ)

2017-02-20, Ver 0.83B
* Added support for RAZER RAIJU PS4 controller
* HID Driver: Added support for HID mice
* HID Driver: Added support for user configurable mouse mapping
* Input Translator: Fix bug preventing GIT file to load in some circumstances
* HID Parser: Fix bug on HID Descriptor parsing at "Usage List" consumption for OUTPUT and FEATURE
* HID Driver: Fix issue with HID report allocation when USB device has multiple interfaces
* HID Driver: Poll only interfaces with supported HID Report
* HID Driver: Added support for user configurable mouse XY translation
* GPC VM: Added pow() function (opcodes POW and POWF)
* GPC VM: Added mousemapping() and mousemapping_reset() functions (opcodes MMAP and MRST)
* GPC VM: Added mxyconverter() and mxyconverter_reset() functions (opcodes MXYC and MXYR)
* GPC VM: Added mouse_status() function (opcode MSTS)
* Added support for "Virtual HID Devices" through PROG interface (i.e. play using computer's Keyboard and Mouse)
* Core: Eliminated chance of concurrent malloc calls -which was causing random resets- when using PROG interface

2017-01-28, Ver 0.82B
* HID Driver: Added support for Keyboard, Keypads and user configurable key mapping
* GPC VM: Added keymapping(), keymapping_reset(), key_status() and key_get() functions
* GPC VM: Clear BOTTOM_DOT, if set, after display_overlay() timeout

2017-01-21, Ver 0.81B
* Added support for Generic HID devices (Gamepads, Joysticks, Steering Wheels, Flightsticks, Fightsticks, etc)
* Added support for several PS4 controllers (HORI FIGHTING STICK 4 MINI, HORI TAC 4 PRO, HORI GRIP TAC 4, NACON REVOLUTION PRO)
* Added support for CTHULHU chip {GitHub#18}

2016-12-22, Ver 0.80B
* USB PROG: Fix Gtuner IV connection error 2 when unplug/plug the device to computer
* USB DEV: Detect PS4 turning off event to interrupt passthru mode, if any

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

2016-11-16, Ver 0.78B
* GPC VM: Added display_overlay() function {GitHub#42}
* GPC VM: Fixed combo_restart causing device reset {GitHub#78}
* GPC VM: Added mslot_get(), mslot_load() and mslot_check() functions {GitHub#75}
* GPC VM: Added port_permit_ffb() function
* Added global option to disable the FFB (vibration) of each input port {GitHub#77}
* Disable watchdog while performing potential time consuming sd-card operations {GitHub#61}
* Revert watchdog timeout back to 500ms
* Skip DS3/DS4 Bluetooth pairing if there is no BT Module present {GitHub#22}
* Added configuration to force USB Prog Interface to full speed (12Mbps)
* Fixed issue with stereo headset on Xbox One controller audio jack
* Force HID Endpoint bInterval for PS4 controllers to 4 (to simulate the PS4 console)

2016-11-06, Ver 0.77B
* First open beta release