Accurate TGM1 emulation

Thread in 'Discussion' started by koroal, 31 Dec 2022.

  1. Hello everyone!

    For a long time, it has been a common knowledge, that the best way to emulate TAP on PC is to use shmupmametgm, which is able to emulate it close to the original while also minimizing the input lag. It seems however, it has also been a common knowledge, that there is nothing like that for TGM1 and that accurate emulation of TGM1 on PC is not possible (MAME is able to run TGM1, but has noticeable input lag and numerous inaccuracies in graphics rendering).

    However, as I have discovered, there is actually a way to emulate TGM1 perfectly (accurate graphics, correct fps, minimal input lag) on PC using ZiNc with the right plugins and settings.

    What I would like to share here is my TGM-specific ZiNc configuration, as I think someone might find it useful. The file "" contains the preconfigured files. Here is the description of the contents:

    1. Emulator - ZiNc v1.1 ( from here
    For accurate rendering of TGM, the option --use-slow-geometry must be used. To easily launch TGM with the correct options, the script TGM.vbs was added.

    2. Keyboard input - a customized "ZiNc JAMMA" example plugin ( from here
    Simplified the code and removed everything not TGM related. Fixed processing of both left and right directions pressed simultaneously: originally left always took priority, now left+right means neutral. The file "" contains the source code of the customized input plugin and can be used to change the keyboard mappings.

    3. Sound - "P.E.Op.S. DSound Audio SPU" v1.9 ( from here
    Since the plugin reads its settings from Windows registry, it is necessary to manually import the file "cfg/spuPeopsDSoundCfg.reg" into the registry to enable the best sound quality.

    4. Renderer - gpuBladeSoft v1.64 (gpuBladeSoft-1.64-Windows-x86.7z from here
    The newest versions of this plugin have amazing accuracy of the PSX GPU emulation, on a level similar to Mednafen. However, it runs TGM1 with 59.94 fps by default, and the newest versions do not allow to configure the exact framerate anymore, only allowing to set the framerate value as an integer percentage of the 100% game speed. To work around this, the dll was patched, replacing the default NTSC 59.94 fps value with 59.84 fps needed for TGM. While at it, the config directory name of this plugin was changed from "configs" to "cfg" to match the existing ZiNc's directory name. The settings in "cfg/gpuBladeSoft-1.64.ini" were changed accordingly, to ensure that the correct fps value is always used.

    Player 1 keyboard controls:

    Stick left = Z
    Stick up = X
    Stick right = C
    Stick down = space
    Button A = comma
    Button B = period
    Button C = slash
    Start = right shift
    Coin = right control

    Player 2 keyboard controls:

    Stick left = B
    Stick up = N
    Stick right = M
    Stick down = right alt
    Button A = numpad 1
    Button B = numpad 2
    Button C = numpad 3
    Start = numpad enter
    Coin = numpad period

    Other keyboard controls:

    Test = F2
    Service = F3

    Renderer keyboard controls:

    F7 = Start/Stop video recording
    F8 = Take a screenshot
    F11 = Toggle fullscreen mode
    F12 = Toggle FPS display

    Last edited: 13 Feb 2023

Share This Page