Jpcsp SVN changelog:===============
Version 0.6.3022
Изменения:============
r3010
New finding: PSP_O_TRUNC flag in sceIoOpen is not truncating the file at the beginning, but only after the first write.
---------------------
r3011
Avoid memory overwrite in some cases when using sceUtilitySavedata.
---------------------
r3012
Improved again r2996: additional 1 byte as thread argument is only passed on newer firmware. Now assuming after v2.00.
---------------------
r3013
Code clean-up.
---------------------
r3014
Small fixes in sceUtilitySavedata. Implemented sceUtilityMsgDialog also in PSP screen instead of pop-up window.
---------------------
r3015
Added new native Java code sequence for strncat
---------------------
r3016
Added new native Java code sequence for strncat. Fixed template for LongIntegerDiv.
---------------------
r3017
Draft implementation for better compilation of "lw" sequences from the stack. Not yet complete, disabled.
---------------------
r3018
Fixed sceKernelWaitSema: a proper implementation for the thread waiting list is now provided, both FIFO and thread priority lists are implemented. This can improve the thread scheduling and avoid thread starvation when multiple threads are ...
---------------------
r3019
Fixed sceKernelWaitFpl: write the allocated address when waking up thread. Moved the EventFlag, Fpl, LwMutex and Mbx managers to the new (and correct) implementation for the thread waiting list.
---------------------
r3020
Fixed sceKernelAllocateVpl: write the allocated address when waking up thread. Moved the MsgPipe, Mutex and Vpl managers to the new (and correct) implementation for the thread waiting list.
---------------------
r3021
Fixed issue introduced by code clean-up from r3013.
---------------------
r3022
Fixed another issue introduced by code clean-up from r3013.
---------------------
Version 0.6.3027
Изменения:============
r3023
Fixed swapped buttons in sceUtilitySavedata and sceUtilityMsgDialog: always take
the button configuration from the dialog parameters, not from the system
parameters.
---------------------
r3024
Fixed sceGeListEnQueueHead (was broken after display of sceUtilitySavedata in
PSP screen)
---------------------
r3025
Fixed incorrect compilation of sequences of "sw" instructions: rare cases, issue
introduced by r2991.
---------------------
r3026
Improved compatibility of sceIoDevctl(cmd=0x02425823): no thread delay.
---------------------
r3027
Improved sceKernelTerminateThread: set correct thread exitStatus. Improved
restart of thread that has been terminated.
---------------------
Version 0.6.3032
Изменения:============
r3028
Do not apply the sw/lw sequence optimizations when the profiler is enabled, they
are producing incomplete profiler logging.
---------------------
r3029
Allow loading of HLE camera modules through sceUsbStart.
Implemented sceUsbCamReadMic/sceUsbCamWaitReadMicEnd.
---------------------
r3030
Fixed problem introduced by r3027: timeout can always be NULL.
---------------------
r3031
Added draft implementation of sceKernelRegisterStdoutPipe
---------------------
r3032
Found 2 new parameters to scePsmfPlayerSetTempBuf().
---------------------
Version 0.6.3033
Изменения:============
Fixed VFPU instructions VIDT.[spt] and VMIDT.[spt]
---------------------
Version 0.6.3034
Изменения:============
Reverting changes on vmidt from r3033: tests show the old behavior was correct.
Changes on vidt are confirmed.
---------------------
Version 0.6.3048
Изменения:============
r3035
Improved sceKernelIcacheInvalidateAll to only invalidate the code blocks that
have really been modified.
This should improve the performance of applications calling very often
sceKernelIcacheInvalidateAll().
---------------------
r3036
Improved sceKernelMsgPipe to support msg pipes with a buffer size of 0: in that
case, the data is transfered directly from the sender to the receiver without
being buffered.
---------------------
r3037
Implemented sceKernelRegisterStdoutPipe: the data written to stdout is sent to a
MsgPipe.
---------------------
r3038
Small compiler optimizations.
Code clean-up.
---------------------
r3039
Reverted part of r3015: the new implementation of the native "strlen" seemed to
cause problems.
---------------------
r3040
Improved scePsmfPlayerConfigPlayer: new findings on the pixel type -1, added
parameter checks with correct return codes.
r3041
Added extensive tests for VFPU instructions VIDT and VMIDT to vfputest.pbp test
application.
r3042
Fixed VFPU instruction VMIDT based on test results from vfputest.pbp.
Small optimization for NOR instruction.
---------------------
r3043
Fixed sceKernelUnloadModule to invalidate the unloaded code: problem was
introduced by improvement to sceKernelIcacheInvalidateAll from r3035.
---------------------
r3044
Added new menu entry to change the current UMD: "Switch to another UMD". This
menu entry is only available when the application explicitly calls
sceUmdReplacePermit().
Useful only for games using multiple UMDs.
---------------------
r3045
Small fix in UMD reading: allow reading up to the last available sector
(previous the last sector was truncated).
---------------------
r3046
Introduced a small thread delay in sceP3daBridgeCore as this call seems to be
similar to sceSasCore
---------------------
r3047
Implemented sceUtilityGamedataInstall. New findings on parameter structure.
---------------------
r3048
Small fix in sceMpegAvcDecodeYCbCr to better match the ringbuffer handling,
similar to sceMpegAvcDecode.
---------------------
Version 0.6.3050
Изменения:============
r3049
Fix incorrect alignment of indexed vertices (GU_INDEX_xxx).
---------------------
r3050
Avoid buffer truncation sometimes done by OpenGL drivers for unaligned data. This might solve applications showing graphics having "spikes".
---------------------
Version 0.6.3054
Изменения:============
r3051
Fixed java native implementation for unsigned LongInteger div.
---------------------
r3052
Small findings in sceHttp: new parameters discovered.
---------------------
r3053
OpenGL small performance improvements: - slightly better video buffer management: avoid resizing buffers at every use, less OpenGL calls. - small optimization for indexed vertices: when the indices are sequential, there is no need to use in...
---------------------
r3054
ProOnline network: avoid NullPointerException when no UPnP router is found.
---------------------
Version 0.6.3055
Изменения:============
Fixes in sceUtilityMsgDialog:
- avoid StringIndexOutOfBoundsException when splitting a line without a space.
- center correctly text when only one line of text is displayed
---------------------
Version 0.6.3062
Изменения:============
r3056
Improved performance of code invalidation (for applications modifying dynamically their code).
---------------------
r3057
PGD decryption: return error code when PGD header is incorrect (probably a wrong key has been used by the application).
---------------------
r3058
Improve r2998: restrict the change to the game "Kamen Rider Climax Heroes OOO - ULJS00331". The change was breaking "Tales of The World: Radiant Mythology 3 - NPJH50353". It is still unknown why ULJS00331 is receiving such a return value......
---------------------
r3059
Code clean-up for the depth handling in the VideoEngine.
---------------------
r3060
Fixed reading of compressed textures (DXT) in the software renderer when the bufferWidth is smaller than the texture width.
---------------------
r3061
Implemented scePsmfPlayerSetOffset: automatically detect the PSMF header and extract the stream size.
---------------------
r3062
New java native code sequence from profiler information.
---------------------
Version 0.6.3065
Изменения:============
r3063
New PSP plugin "JpcspTrace" allowing the logging of specific syscalls when running an application on a real PSP. This plugin should allow a better debugging of applications not running correctly on Jpcsp by comparing with a similar run on a...
---------------------
r3064
Fixed sceKernelReferMutexStatus: the last element of the structure SceKernelMutexInfo is the ID of the thread owning the mutex (or -1 if not owned), not the number of waiting threads. Discovered using JpcspTrace.
---------------------
r3065
Fixed syscalls using "checkDispatchThreadEnabled = true": the return code ERROR_KERNEL_WAIT_CAN_NOT_WAIT is also returned when the interrupts are disabled. Systematically analyzed all the ThreadManForUser functions for checks on "checkDispa...
---------------------
Version 0.6.3069
Изменения:============
r3067
Improved JpcspTrace to also trace syscalls when the interrupts are disabled: writing to the log file is failing in that case and the log string has to be buffered for later output.
---------------------
r3068
Fixed sceKernelSelfStopUnloadModule, sceKernelStopUnloadSelfModuleWithStatus, sceKernelStopUnloadSelfModule: were broken by r3043. Clear the module memory only when the stop thread has completed.
---------------------
r3069
Limited the change from r2996 to the game "Kamen Rider Climax Heroes OOO - ULJS00331". The change from r2996 seems to brake several other games.
---------------------
Version 0.6.3070
Изменения:============
Added support to JpcspTrace for tracing user modules not being called through
syscall (e.g. sceMpeg).
Added parameter formatting.
---------------------
Version 0.6.3071
Изменения:============
Improved JpcspTrace:
- better logging of parallel syscalls
- better memory management
- recognize config file in DOS format (lines ending with \r\n).
---------------------
Version 0.6.3073
Изменения:============
r3072
Set default key assignment for "home" button to ESC key, instead of "H" key, as suggested by montcer9012.
---------------------
r3073
Fixed sceKernelUSec2SysClock, sceKernelSysClock2USec, sceKernelSysClock2USecWide
---------------------
Version 0.6.3080
Изменения:============
r3074
Added basic support for decoding Mono Atrac3+ using at3tool.exe (not included with Jpcsp distribution).
---------------------
r3075
Added basic support for decoding Mono Atrac3+ using at3tool.exe (not included with Jpcsp distribution). at3tool.exe has to be placed in lib\windows-x86 or lib\windows-amd64
---------------------
r3076
Avoid NullPointerException in sceNpDrmEdataSetupKey
---------------------
r3077
Improved DecodeAudio.bat to support all 3 decoding tools: - atrac3plus2wav.exe - at3tool.exe - HIMDRender.exe as suggested by several users.
---------------------
r3078
New finding in sceAtracLowLevelInitDecoder: 2nd value is the number of output channels. The default number of output channels is always set to 2 and changed only by calling sceAtracMOut... or sceAtracLowLevelInitDecoder. This should fix mon...
---------------------
r3079
Fix for atrac3plus2wav.exe decoder as suggested by serio
---------------------
r3080
Improved sceAudioSRCChReserve/sceAudioOutput2ChReserve: return error code when channel is already reserved. Improved sceAudioOutput2GetRestSample, sceAudioSRCChRelease, sceAudioOutput2ChRelease: return error code when channel is not reserve...
---------------------
Version 0.6.3081
Изменения:============
Improve external audio decoder to use an additional hash-value in the decoded audio file names (stored in tmp/..../Atrac/Atrac-xxxx-xxxx-xxxx.wav) to avoid different audio's to be stored in the same file. The hash value is based on the first 512 bytes of the audio file.
---------------------
Version 0.6.3084
Изменения:============
r3082
Discovered new vector-4 register indexing: added tests to vfputest.pbp for
testing of vs/vt/vd in row & column.
---------------------
r3083
Implemented results from new vfputest: added support for vfpu register index >=
64 in vector-4 instructions (.q).
---------------------
r3084
Small fix in debug log.
---------------------
Version 0.6.3085
Изменения:============
Improved timing of sceIoIoctl.
---------------------
Version 0.6.3086
Изменения:============
Added new VFPU test sequence from "Rush - USA - ULUS10174 " in vfputest.pbp. Jpcsp implementation in r3083 was correct.
Thank you to nash67 for providing the log files.
---------------------
Version 0.6.3090
Изменения:============
r3087
Improved default ADSR curve types and default volume for sceSas voices. See Issue 347.
---------------------
r3088
Improved volume handling in sceAtrac: - added check on valid volume values - negative volume means no channel volume change - SRCChannel has another special volume handling
---------------------
r3089
Improved timing of module loading: sceKernelLoadModule, sceUtilityLoadNetModule, sceUtilityLoadAvModule, sceUtilityLoadUsbModule, sceUtilityLoadModule. Add a delay of 50ms to simulate the IO delays required by the module loading.
---------------------
r3090
Small performance improvements in FastMemory.
---------------------
Version 0.6.3092
Изменения:============
r3091
Added test application for VTimers
---------------------
r3092
Added new findings about VTimer's, based on test results using vtimer.pbp.
---------------------
Version 0.6.3093
Изменения:============
Improved JpcspTrace to support new syscalls loaded dynamically with modules. Improved logging.
---------------------
Version 0.6.3095
Изменения:============
r3094
Improved sceAtracSetData... to support negative bufferSize values (unsigned int on PSP).
---------------------
r3095
Fix for problem introduced by optimization from r3053 for vertices indexed in sequence.
---------------------
Version 0.6.3100
Изменения:============
r3096
Implemented circular buffer for sceAtrac3plus. Improved handling of bufferSize with a negative value in sceAtracSetData
---------------------
r3097
Improved return codes of sceKernelRegisterSubIntrHandler and sceKernelReleaseSubIntrHandler
---------------------
r3098
Improved the CryptoEngine: - Fixed BBMac algorithms; - Improved PGD decryption; - Implemented DLC/EDAT decryption; - Added partial support for licensing in DLC (NPDRM); - Cleaned up most code.
---------------------
r3099
Fixed and restored PGD file handling.
---------------------
r3100
Small correction from last commit.
---------------------