aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/psp
AgeCommit message (Collapse)Author
2010-11-16COMMON: Simplify DECLARE_SINGLETON macroMax Horn
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
2010-11-10PSP: changed renderer to render huge images properlyYotam Barnoy
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
2010-11-04PSP: cleaning up some stuff from plugin mergeYotam Barnoy
svn-id: r54060
2010-11-03Merge from gsoc2010-pluginsYotam Barnoy
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
2010-10-31Updated with latest from trunkYotam Barnoy
svn-id: r53976
2010-10-31PSP: Enable use of forbidden symbolsMax Horn
svn-id: r53970
2010-10-29PSP: Improved image viewer movementYotam Barnoy
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
2010-10-29PSP: corrected png loader to use bit depth rather than palette sizeYotam Barnoy
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
2010-10-27PSP: Fixed ImageViewer code to deallocate TimedMessageDialogYotam Barnoy
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
2010-10-23PSP: Fix up imageViewer to pause gameYotam Barnoy
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
2010-10-23PSP: make vkbd's function keys match their visual representationJoost Peters
svn-id: r53728
2010-10-20PSP: added dummy function to allow BS2.5 to buildYotam Barnoy
svn-id: r53635
2010-10-19PSP: add missing return statements to image viewerYotam Barnoy
svn-id: r53601
2010-10-14PSP: made image in viewer movable by pushing nub continuouslyYotam Barnoy
svn-id: r53462
2010-10-14PSP: made image viewer reset to the first image between engine loadsYotam Barnoy
svn-id: r53460
2010-10-14PSP: added image viewer for viewing images during gamesYotam Barnoy
svn-id: r53455
2010-10-14PSP: clarify and fix up display codeYotam Barnoy
Also added support for stretching images, and fixed up displaying of large images as well as PNG files svn-id: r53454
2010-10-12JANITORAL: Clean trailing whitespaces.Jordi Vilalta Prat
svn-id: r53160
2010-10-10PSP: factored PngLoader out of virtual keyboard for further useYotam Barnoy
svn-id: r53108
2010-10-06PSP: rewrote input code and added an input modeYotam Barnoy
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
2010-09-25PSP: ME MP3: cache stereo statusYotam Barnoy
Bad timing can cause stereo status not to be picked up if at some point a MAD _header is not initialized. svn-id: r52890
2010-09-23PSP: fix issue in ME MP3 code. Release and init the ME when seeking.Yotam Barnoy
Without this fix, the ME allocates more and more memory with every seek until it can't work. svn-id: r52868
2010-09-20PSP: switch from wrapping memcpy to defining our own memcpyYotam Barnoy
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
2010-09-20PSP: Split up PspMemory class.Yotam Barnoy
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
2010-09-20PSP: moved VramAllocator to display_manager.cpp.Yotam Barnoy
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
2010-09-17RELEASE: This is 1.3.0svnEugene Sandulenko
svn-id: r52773
2010-09-15PLUGINS: Cleanup.Andre Heider
- Unify ELF loader handling in configure - Rename ELF_LOADER_TARGET to USE_ELF_LOADER svn-id: r52728
2010-09-05MERGE: Merge trunk to branch.Andre Heider
svn-id: r52564
2010-09-05PLUGINS: Move all ELF loader related files to its own directory.Andre Heider
svn-id: r52555
2010-09-01PSP: removed strict-aliasingYotam Barnoy
It's no longer needed after adding __may_alias__ flag in endian.h. svn-id: r52481
2010-08-31PSP: fix BS2 crash by disabling strict aliasingYotam Barnoy
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
2010-08-24PSP: switched to using BufferedSeekableReadStream and BufferedWriteStreamYotam Barnoy
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
2010-08-19PSP: made PSP compile with plugins.Yotam Barnoy
Also removed criticalSection calls from elf-loader.cpp, since now streams are used so the criticalSections are automatic. svn-id: r52206
2010-08-18PSP: fixed issue in ME MP3 player that prevented different MP3 layers and ↵Yotam Barnoy
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
2010-08-17PSP: changed display options to Full Screen, Keep Aspect Ratio and Original ↵Yotam Barnoy
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
2010-08-15PSP: slight fix to ME MP3 playerYotam Barnoy
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
2010-08-14removed psploader.o from objects in psp makefile (psp should be using ↵Tony Puccinelli
abstracted MIPS loader now) svn-id: r52085
2010-08-11manually merged trunk/backends into branch and removed some now redundant ↵Tony Puccinelli
elf32.h files svn-id: r51966
2010-08-10merged trunk into branch, reverted Cruise Singleton changesTony Puccinelli
svn-id: r51961
2010-08-07removed psploader code, as it is covered by the mipsloader and elfloader in ↵Tony Puccinelli
backends/plugins svn-id: r51828
2010-08-07modified psp to use mips-loader.cpp (and added things to backends/module.mk)Tony Puccinelli
svn-id: r51826
2010-08-03added checks for ELF_LOADER_TARGET before including the elf plugin providerTony Puccinelli
svn-id: r51716
2010-08-03PSP: Factored out thread creation routines into PspThreadable class.Yotam Barnoy
This should aid in further optimizations. svn-id: r51685
2010-07-30PSP: optimized memcpy some more and fixed memcpy testingYotam Barnoy
Found that the particular implementation was producing messy assembly for misaligned copies. Improved it and also fixed up wrapping the memcpy, which would cause endless prints in case memcpy testing is asked for. svn-id: r51503
2010-07-29BUILD: Unify how MODULE_DIRS is computed for backendsMax Horn
This should help avoid situations where MODULE_DIRS is not set to a complete list of build dirs (which causes troubles with the automatic header dependency detection logic). On the long run, we should replace the relevant code by a macro or also use rules.mk for this (with yet another if/else case add to it). svn-id: r51467
2010-07-29BUILD: Compile & link certain files only for specific BACKEND valuesMax Horn
svn-id: r51465
2010-07-27Continued abstraction of generic ELF-loader, splitting off MIPS-processor ↵Tony Puccinelli
specific things into their own files and testing on the PS2 svn-id: r51345
2010-07-18trying to fix psp build for case sensitive filesystems.Andre Heider
svn-id: r50989
2010-07-18PSP: switched to using my memcpyYotam Barnoy
svn-id: r50982
2010-07-18PSP: forgot test filesYotam Barnoy
svn-id: r50981