# CEMU detailed changelog for 1.5.5# Patreon release date: 2016-08-08general: Added game profiles (text files that store settings per-game)general: Added automatic region detectiongeneral: Mouse cursor is now hidden in fullscreen modegeneral: Added hotkey (Ctrl + Tab) to toggle between TV or GamePad display. (Note: This is only a temporary solution until we have better GamePad handling)general: CEMU will now display game name and region in the titlebar.coreinit: New API: OSInitSemaphoreEx(), FSWriteFileAsync()h264: Improved implementation of H264DECMemoryRequirement()CPU: Added RLWNM., PS_RSQRTE, PS_RES, PS_NEG, STFSUX, MFTB/MFTBU, LSWI/STSWI and TW instructions to recompilerCPU: Optimized code generated by recompiler for instructions RLWIMI, RLWINMCPU: Added optimizer pass to recompiler (Removes redundant instructions)CPU: Fixed a bug in interpreter MFTB/MFTBUGX2: Fixed a deadlock that could happen when the game was waiting for an vsync event to occurGX2: Added experimental setting 'Use persistent vertex buffers'.If enabled, CEMU will attempt to use more recent OpenGL features to stream geometry data to the GPU.Allows for higher throughput but may cause graphical issues.GX2: Fixed a bug in GX2ConvertDepthBufferToTextureSurface() that could lead to a softlockGX2: Improved Streamout emulationnn_save: New API SAVEMakeDirAsync(), SAVERemoveAsync(), SAVEGetStatAsync(), SAVERenameAsync(), SAVEOpenDirOtherNormalApplicationAsync()nn_save: Fixed a bug in SAVEGetStatOtherApplication()