// Sets playback to the specified trick mode (excluding TRICKMODE_Pause) // and speed (1,2,3,4 although 4 may be ignored unless fw is patched or 5.14.X/5.15.X) // Returns 0 on success dword SetPlaybackMode(TYPE_TrickMode mode, dword speed) { static dword setPB = 0; if(setPB == 0) { setPB = FindInstructionSequence( "939887a4 3c1981cb 240f0088 27392d68 030f0018 27390001 0000c012 0338c821 93390000 24180003 0019ce00 0019cf42 1738000b 3c1e81b7", "ffff0000 ffff0000 ffffff00 ffff0000 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffff0000", 0x800F0000, 0x801F0000, 0, TRUE); if(setPB == 0) { InitTAPex(); TAP_Print("SetPlaybackMode: unsupported firmware (fw: %d:%x)\n", SysID, ApplID); return 1; } } return CallFirmwareA(setPB, mode, speed); }