Age | Commit message (Collapse) | Author |
|
The problem was that I was allowing changes to the palette (in this case) even before the separate display thread, which is synchronized to vsync, was done drawing. This caused the palette to change mid-render.
The fix is a semaphore synchronizing the threads.
svn-id: r54942
|
|
svn-id: r54584
|
|
svn-id: r54386
|
|
svn-id: r54384
|
|
This commits a slightly modified patch from my patch tracker item #3104630
"OSYSTEM: Add logging API as proposed by Max on -devel".
I was not able to test compilation on Android and SamsungTV, since there is no
toolchain for those on buildbot (or I was too blind to find them).
svn-id: r54339
|
|
svn-id: r54316
|
|
Currently not used by anything.
svn-id: r54312
|
|
This makes it possible to write
DECLARE_SINGLETON(foo);
instead of
DECLARE_SINGLETON(foo)
without causing a warning about an extra semicolon.
The extra semicolon helps some editors at parsing the C++ code.
svn-id: r54258
|
|
The PSP HW wasn't able to calculate the proper stretching when given the whole image size on a huge image. This is also a better way to do it because we're not overwriting tiles of the texture.
svn-id: r54190
|
|
svn-id: r54060
|
|
This merge was extremely difficult to carry out. It wasn't entirely SVN's fault -- there were several merges to the branch that were done by hand. Please check for any issues and regressions. Also note that the DS makefile was not copied over since the "one at a time" plugin mode currently has too much fragmentation ie. it doesn't work.
svn-id: r54051
|
|
svn-id: r53976
|
|
svn-id: r53970
|
|
Before the limit was arbitrary. Now we check the proper location on screen and move in increments relative to the size on screen.
svn-id: r53918
|
|
Sometimes we can have an 8bit file for example that has a palette of 16 colors or less, so we need to go by the bit depth rather than inferring the bit depth from the palette size.
svn-id: r53917
|
|
Not deallocating it before loading the next image causes fragmentation in memory which eventually prevents big things from being loaded into memory.
svn-id: r53873
|
|
The only real way to pause the game is to take over the event loop, which is a little sad... Also fixed a possible crash when loading an image that was to big, by only rendering when we have _init set.
svn-id: r53741
|
|
svn-id: r53728
|
|
svn-id: r53635
|
|
svn-id: r53601
|
|
svn-id: r53462
|
|
svn-id: r53460
|
|
svn-id: r53455
|
|
Also added support for stretching images, and fixed up displaying of large images as well as PNG files
svn-id: r53454
|
|
svn-id: r53160
|
|
svn-id: r53108
|
|
The old input code was getting too messy. A redesign made it easier to modify and add several modes and combos, including one for 1st person games which benefit from a different control scheme. A combo switches between the modes. I also added directional support while the virtual keyboard is visible, using the nub. This allows moving around in the text in some games, and moving the character while typing for others (e.g. AGI)
svn-id: r53042
|
|
Bad timing can cause stereo status not to be picked up if at some point a MAD _header is not initialized.
svn-id: r52890
|
|
Without this fix, the ME allocates more and more memory with every seek until it can't work.
svn-id: r52868
|
|
The advantage is that we get to do inlining and even use lwl and lwr instructions where appropriate. We have to do it ourselves because the PSP doesn't tolerate built-in instructions, but also we have a more efficient memcpy than the lib's.
svn-id: r52817
|
|
PspMemorySwap is more specific ie. it only needs to be known by PSP files. It could be put in another file, but not worth the effort.
svn-id: r52816
|
|
It didn't really belong in memory.cpp and we're going to want to include memory.h everywhere.
* * *
PSP: more Vram Allocator cleanup
svn-id: r52815
|
|
svn-id: r52773
|
|
- Unify ELF loader handling in configure
- Rename ELF_LOADER_TARGET to USE_ELF_LOADER
svn-id: r52728
|
|
svn-id: r52564
|
|
svn-id: r52555
|
|
It's no longer needed after adding __may_alias__ flag in endian.h.
svn-id: r52481
|
|
The problem that caused the crash in BS2 had to do with GCC making improper assumptions about our code. Specifically, the alignment trick we use for READ_UINT32/16 allows some targets(e.g. MIPS) to generate better code, but it also goes against ANSI C aliasing rules, which prohibit the sharing of addresses between a struct and another variable value. Using -fno-strict-aliasing tells GCC not to assume strict ANSI C aliasing and also unfortunately prevents it from making some good optimizations.
This change is probably needed for other platforms as well -- the crash on the PSP was simply a very rare coincidence.
svn-id: r52473
|
|
The last PSP optimization made reading much faster, but writing isn't buffered so saving the config file was VERY slow.
I decided the cleanest way to do this would be to add BWS and use BSRS.
svn-id: r52327
|
|
Also removed criticalSection calls from elf-loader.cpp, since now streams are used so the criticalSections are automatic.
svn-id: r52206
|
|
versions from working.
MAD doesn't give enough information to decide the length of the PCM data -- it provides the Layer but not the MPEG version. I had to read the MP3 header directly to figure it out. This fixes issues with any MP3 files that might be used in any of the games.
svn-id: r52191
|
|
Resolution
This greatly simplifies the display options and makes them more practical. Original resolution will try to fit the game to the screen pixel-to-pixel, and will revert to full screen if it fails. Keep AR maximizes height and adjusts the width accordingly. This works very well with 320x200 games (AR of 1.6) which is close to the PSP's 1.7, but not so well with 320x240/640x480 (AR of 1.3). Full Screen is still default.
svn-id: r52138
|
|
A bad function call during initialization of a stream was causing rare instances where the ME failed to decode some MP3 data.
svn-id: r52101
|
|
abstracted MIPS loader now)
svn-id: r52085
|
|
elf32.h files
svn-id: r51966
|
|
svn-id: r51961
|
|
backends/plugins
svn-id: r51828
|
|
svn-id: r51826
|
|
svn-id: r51716
|
|
This should aid in further optimizations.
svn-id: r51685
|