Commit graph

410 commits

Author SHA1 Message Date
Sven Eckelmann
1d4cd7db1d Move all extern definitions to the header files 2013-12-30 20:31:45 +01:00
Sven Eckelmann
0437601e5f Mark only locally used symbols as static 2013-12-30 20:31:45 +01:00
Sven Eckelmann
a9cdda0ae3 Add missing includes for global declaration 2013-12-30 20:31:45 +01:00
Sven Eckelmann
3930a84625 Fix function declaration for functions without parameter 2013-12-30 20:31:45 +01:00
Sven Eckelmann
6e12c395f3 Don't mix declaration and code
C90 only supports variable declaration at the beginning of a scope. Not doing
so will break builds in MSVC.
2013-12-30 18:12:28 +01:00
Sven Eckelmann
646ec921ec Compile ucode*.cpp as C source code
The ucodes are basically only C code and don't use C++ features. It is
therefore not necessary to build it with a C++ compiler.
2013-12-30 17:33:34 +01:00
Richard Goedeken
0434aeb741 Merge pull request #1 from ecsv/musyx
Add initial support for MusyX
2013-12-30 06:52:59 -08:00
Bobby Smiles
d31b8ea3ff Add initial support for MusyX 2013-12-30 14:43:47 +01:00
Sven Eckelmann
a2a06db57b Remove executable bit from C source files 2013-12-30 14:40:04 +01:00
Sven Eckelmann
2af0917440 Try to unify formatting of the source code 2013-12-30 14:40:04 +01:00
Sven Eckelmann
2032870995 Force line ending type for specific files
Different operation systems (Unix vs. Windows) use different line ending types.
It can easily happen that users from different systems edit files and replace
all line endings of a file with the system specific version. This screws up
diffs and makes merges harder.

Git can normalize line endings for specific files and avoid this problem.
Binary files should be marked to avoid accidentally normalization.
2013-12-19 14:19:07 +01:00
Sven Eckelmann
44170e4fdb Convert .hgignore to .gitignore 2013-12-19 14:13:38 +01:00
Bobby Smiles
6e2d80e413 Fix: Bottom of the 9th jpeg task dispatching. 2013-12-01 16:30:28 +01:00
Bobby Smiles
8979df7774 Refactor standard macroblock decoder. 2013-12-01 16:26:38 +01:00
Bobby Smiles
7f34cc8101 Avoid dynamic memory allocation for macroblocks. 2013-12-01 16:02:28 +01:00
Bobby Smiles
60ecc0ddfc Fix: macroblock memory allocation was bigger than needed. 2013-12-01 15:58:25 +01:00
Sven Eckelmann
ff2ab7f9ea Don't fail rebuild when header is removed
The *.d depends files for make just list the files used when building an
object file. Removing a file listed in such a dependency file causes make to
search for a way to recreate it. This usually cannot work because these files
aren't autogenerated.

The gcc option -MP can be used to generate empty rule for these files. Removing
a file in a dependency list will then execute this empty rule and continue with
the execution of the creation of the object file. This compilation process will
then automatically correct the dependency file.
2013-09-20 10:31:44 +02:00
richard42
a1edae31a9 simplify OSX platform detection in makefile using xcode-select. based on patch from John Pender 2013-07-08 07:35:00 -07:00
Richard Goedeken
7f24c1a989 Added tag 2.0 for changeset 14d7e6313077 2013-07-04 15:48:00 -07:00
Richard Goedeken
33f761c039 update version number to 2.0 2013-07-03 07:07:45 -07:00
Richard Goedeken
e8145aa598 update LICENSES 2013-06-27 22:46:26 -07:00
Richard Goedeken
18594a3253 update text files for upcoming 2.0 release 2013-06-26 22:47:36 -07:00
Richard Goedeken
630dfad2af tagged v2.0-rc2 2013-06-01 18:00:33 -07:00
richard42
d679f50109 Update msvc11 project file to visual studio 2012 (msvc11) 2013-06-01 07:57:15 -07:00
Richard Goedeken
fdabe2d07e merged heads 2013-05-30 21:55:28 -07:00
Riley Labrecque
239d1a8d8e Fixed compiling with MSVC 2013-05-30 09:33:20 +00:00
Sven Eckelmann
5704d656ae Enable Link-time optimization by default
The GCC introduced Link-time optimization in GCC 4.5 (2010-04-14). This should
be long enough available that interested users have upgraded to a compiler
supporting it.

The MSVC project already enabled WholeProgramOptimization since a long time.
Enabling it by default in GCC seems to be equally valid.
2013-05-11 11:25:53 +02:00
Sven Eckelmann
ba75d3506f Add CXXFLAGS to the linker step
The GCC manual states for different parameters that the options for compilation
must also be used when linking. The options for compilation are stored in
CXXFLAGS and added to LINK.o to fix the behavior.

Option which need this are for example -fPIC/-fPIE or -flto.
2013-05-11 10:56:08 +02:00
Bobby Smiles
82e6d79eaa Private mp3 related variables should be static. 2013-04-01 04:25:36 +02:00
Bobby Smiles
9e7a280cdf Add support for MusyX ucode detection. 2013-04-01 02:47:04 +02:00
Bobby Smiles
53577ef3eb Named some constants. 2013-04-01 02:14:10 +02:00
Bobby Smiles
1e8950ae88 Use static typed value instead of macro for IDCT related constant. 2013-03-21 19:34:32 +01:00
Richard Goedeken
f510b07e1d add msvc11 project file from mudlord 2013-03-20 22:26:27 -07:00
Richard Goedeken
d9bb882463 merged heads 2013-03-14 22:42:20 -07:00
Sven Eckelmann
ea771b3880 Revert "Enable link time garbage collection when link time optimization is enabled"
Some linker on different platforms don't handle the garbage collection
correctly and create extreme bloated binaries. Therefore, leave it to the user
to enable this feature or not.
2013-03-14 08:01:55 +01:00
Bobby Smiles
4945f56876 Refactor common jpeg decoding ucode. 2013-03-12 19:58:57 +01:00
Bobby Smiles
eb911442c2 Remove hack from jpeg code.
When I developped the original implementation of Pokemon Stadium Japan jpeg decoding ucode
I tested it with Rice video plugin and cheated a little bit to get some sensible results
(I changed the UV rescaling a bit and perform erroneous Y1Y2 swapping). Other video plugin
didn't support YUV16 texture format so comparison wasn't possible.
Recently, I played a little bit with Glide64mk2 and noticed that without aformentionned hacks
the jpeg decoding was performing successfully. That's why I think there is a bug in Rice plugin
and that I can delete my hack from jpeg decoding ucode.
2013-03-12 19:41:37 +01:00
Bobby Smiles
95deae759a Made private envmixer related variables static. 2013-03-11 21:59:58 +01:00
Bobby Smiles
827df7cba4 Made ResampleLUT const 2013-03-11 21:57:24 +01:00
Bobby Smiles
8573c1b2de Made DeWindowLUT const. 2013-03-11 21:10:32 +01:00
Bobby Smiles
4ceaf285f7 Make ABI arrays const. 2013-03-11 20:49:45 +01:00
Bobby Smiles
d57a1a5702 Get rid of global variables inst1 and inst2. 2013-03-11 20:42:31 +01:00
Bobby Smiles
1c8211afc3 Renammed acmd_t to acmd_callback_t. 2013-03-11 20:24:38 +01:00
Bobby Smiles
d501c4e38e Rewrite cicx105_ucode to allow better optimisation. Move it outside of main.
Note: During the rewriting I changed the number of line to write from 0xfc to 0x18 because that's
what I saw in the ipl3 disassembly.
2013-03-10 02:45:53 +01:00
Bobby Smiles
2fd59b9492 Add some comments 2013-03-10 01:54:20 +01:00
Bobby Smiles
a6a2ff4a95 FORWARD_* constants are uppercase. 2013-03-10 01:34:45 +01:00
Bobby Smiles
cfcfe45089 enforce const correctness no local helper functions. (+ trailing hitespace cleaning) 2013-03-10 01:32:35 +01:00
Bobby Smiles
1280d7aa00 Use standard memset instead of handcrafted loop. 2013-03-10 01:23:24 +01:00
Bobby Smiles
f6eca7ba4a Refactoring taskdone. 2013-03-10 01:19:11 +01:00
Bobby Smiles
28365d26db Reworked rsp execution to improve readability and performances. 2013-03-10 01:06:46 +01:00