Commit graph

272 commits

Author SHA1 Message Date
Johannes Schickel
a1d99836cd BACKENDS: Fix SVN keyword usage.
svn-id: r54584
2010-11-29 18:48:43 +00:00
Johannes Schickel
dfb2b9cd2f PSP: Remove tabs from README.PSP.
svn-id: r54386
2010-11-19 17:09:47 +00:00
Johannes Schickel
111384473b PSP: Update README.PSP.in with the latest changes to README.PSP.
svn-id: r54384
2010-11-19 16:52:09 +00:00
Johannes Schickel
e1030e53a5 BACKENDS: Implement logging API proposed by Max on -devel.
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
2010-11-18 19:12:14 +00:00
Yotam Barnoy
50e6fe264b PSP: reduced fragmentation by allocating overlay just once
svn-id: r54316
2010-11-18 11:32:53 +00:00
Yotam Barnoy
5c8b4dbee7 PSP: added backtracing function for debugging
Currently not used by anything.

svn-id: r54312
2010-11-18 07:52:04 +00:00
Max Horn
abe1959d36 COMMON: Simplify DECLARE_SINGLETON macro
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-16 08:23:13 +00:00
Yotam Barnoy
2e9b304d76 PSP: changed renderer to render huge images properly
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-10 16:22:00 +00:00
Yotam Barnoy
f5bfae598c PSP: cleaning up some stuff from plugin merge
svn-id: r54060
2010-11-04 06:28:34 +00:00
Yotam Barnoy
13b904d282 Merge from gsoc2010-plugins
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-11-03 22:01:01 +00:00
Yotam Barnoy
94c8d0a14d Updated with latest from trunk
svn-id: r53976
2010-10-31 11:08:43 +00:00
Max Horn
ac748c2ebd PSP: Enable use of forbidden symbols
svn-id: r53970
2010-10-31 00:01:00 +00:00
Yotam Barnoy
547e028b93 PSP: Improved image viewer movement
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-29 07:55:18 +00:00
Yotam Barnoy
082d9a4465 PSP: corrected png loader to use bit depth rather than palette size
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-29 07:08:24 +00:00
Yotam Barnoy
13b6e0d69a PSP: Fixed ImageViewer code to deallocate TimedMessageDialog
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-27 11:09:03 +00:00
Yotam Barnoy
4af9057eaa PSP: Fix up imageViewer to pause game
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-23 19:01:34 +00:00
Joost Peters
d602e4a785 PSP: make vkbd's function keys match their visual representation
svn-id: r53728
2010-10-23 03:09:39 +00:00
Yotam Barnoy
d305587495 PSP: added dummy function to allow BS2.5 to build
svn-id: r53635
2010-10-20 05:59:11 +00:00
Yotam Barnoy
00bf6ab791 PSP: add missing return statements to image viewer
svn-id: r53601
2010-10-19 07:37:50 +00:00
Yotam Barnoy
6fc10aeeac PSP: made image in viewer movable by pushing nub continuously
svn-id: r53462
2010-10-14 22:33:32 +00:00
Yotam Barnoy
a4537b84bd PSP: made image viewer reset to the first image between engine loads
svn-id: r53460
2010-10-14 22:11:17 +00:00
Yotam Barnoy
7c22545899 PSP: added image viewer for viewing images during games
svn-id: r53455
2010-10-14 13:19:32 +00:00
Yotam Barnoy
90e12a43fd PSP: clarify and fix up display code
Also added support for stretching images, and fixed up displaying of large images as well as PNG files

svn-id: r53454
2010-10-14 13:05:40 +00:00
Jordi Vilalta Prat
8388e0dfea JANITORAL: Clean trailing whitespaces.
svn-id: r53160
2010-10-12 02:18:11 +00:00
Yotam Barnoy
178c46c038 PSP: factored PngLoader out of virtual keyboard for further use
svn-id: r53108
2010-10-10 08:30:18 +00:00
Yotam Barnoy
e47e474cff PSP: rewrote input code and added an input mode
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-10-06 21:26:45 +00:00
Yotam Barnoy
73c5895ed2 PSP: ME MP3: cache stereo status
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-25 20:38:40 +00:00
Yotam Barnoy
4807fdb4c7 PSP: fix issue in ME MP3 code. Release and init the ME when seeking.
Without this fix, the ME allocates more and more memory with every seek until it can't work.

svn-id: r52868
2010-09-23 21:03:20 +00:00
Yotam Barnoy
f7f743ac31 PSP: switch from wrapping memcpy to defining our own memcpy
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-20 14:10:44 +00:00
Yotam Barnoy
05f0ebf262 PSP: Split up PspMemory class.
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-20 14:09:39 +00:00
Yotam Barnoy
b006082cf1 PSP: moved VramAllocator to display_manager.cpp.
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-20 14:05:32 +00:00
Eugene Sandulenko
9efa316a61 RELEASE: This is 1.3.0svn
svn-id: r52773
2010-09-17 19:13:47 +00:00
Andre Heider
41834499ed PLUGINS: Cleanup.
- Unify ELF loader handling in configure
- Rename ELF_LOADER_TARGET to USE_ELF_LOADER

svn-id: r52728
2010-09-15 07:43:16 +00:00
Andre Heider
09834b8bec MERGE: Merge trunk to branch.
svn-id: r52564
2010-09-05 15:26:00 +00:00
Andre Heider
86f4dbd956 PLUGINS: Move all ELF loader related files to its own directory.
svn-id: r52555
2010-09-05 12:51:25 +00:00
Yotam Barnoy
43bbfa5ca8 PSP: removed strict-aliasing
It's no longer needed after adding __may_alias__ flag in endian.h.

svn-id: r52481
2010-09-01 12:56:34 +00:00
Yotam Barnoy
b5a17ca628 PSP: fix BS2 crash by disabling strict aliasing
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-31 15:24:08 +00:00
Yotam Barnoy
b88f341b80 PSP: switched to using BufferedSeekableReadStream and BufferedWriteStream
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-24 11:24:34 +00:00
Yotam Barnoy
8fb92b9e2a PSP: made PSP compile with plugins.
Also removed criticalSection calls from elf-loader.cpp, since now streams are used so the criticalSections are automatic.

svn-id: r52206
2010-08-19 11:18:01 +00:00
Yotam Barnoy
70cd6cfda5 PSP: fixed issue in ME MP3 player that prevented different MP3 layers and 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-18 16:58:32 +00:00
Yotam Barnoy
aa16c9e046 PSP: changed display options to Full Screen, Keep Aspect Ratio and Original 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-17 09:45:14 +00:00
Yotam Barnoy
023ca7962a PSP: slight fix to ME MP3 player
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-15 15:31:24 +00:00
Tony Puccinelli
14061c94f7 removed psploader.o from objects in psp makefile (psp should be using abstracted MIPS loader now)
svn-id: r52085
2010-08-14 09:06:50 +00:00
Tony Puccinelli
2f3ab6bdab manually merged trunk/backends into branch and removed some now redundant elf32.h files
svn-id: r51966
2010-08-11 02:44:11 +00:00
Tony Puccinelli
682807f0e9 merged trunk into branch, reverted Cruise Singleton changes
svn-id: r51961
2010-08-10 23:21:08 +00:00
Tony Puccinelli
59b2b46fe8 removed psploader code, as it is covered by the mipsloader and elfloader in backends/plugins
svn-id: r51828
2010-08-07 06:21:22 +00:00
Tony Puccinelli
0712d41870 modified psp to use mips-loader.cpp (and added things to backends/module.mk)
svn-id: r51826
2010-08-07 05:01:43 +00:00
Tony Puccinelli
520c0a4009 added checks for ELF_LOADER_TARGET before including the elf plugin provider
svn-id: r51716
2010-08-03 22:08:32 +00:00
Yotam Barnoy
3b4b00cf50 PSP: Factored out thread creation routines into PspThreadable class.
This should aid in further optimizations.

svn-id: r51685
2010-08-03 12:29:08 +00:00
Yotam Barnoy
1532685d82 PSP: optimized memcpy some more and fixed memcpy testing
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-30 09:32:54 +00:00