mtabachenko
e6b450ed9c
core:
...
- rewrited and moved memcpy_fast to new file (.asm) for compiling x86/x64 versions (sorry, if I broke others ports... check it please)
2008-12-30 00:37:38 +00:00
luigi__
a94765be35
Added tables to optimize fading.
...
The special effect for sprites was always blending, which broke fading on sprites. Fixed.
The fading is now applied to the backdrop color.
Fixed a bit the windows.
2008-12-29 22:11:26 +00:00
yabause
e9574701fb
Fixed automake files after removal of dev-cpp files.
2008-12-29 16:23:53 +00:00
riccardom
4ce84965f7
Cleanup a bit NDS_Reset().
2008-12-29 13:17:58 +00:00
riccardom
d3f1925769
Make a function static.
2008-12-29 13:06:42 +00:00
riccardom
1ffc0bc78a
Fix a couple of warnings.
2008-12-29 13:05:09 +00:00
yabause
7d0da6ca97
Fixed the sprintf problem.
...
See http://permalink.gmane.org/gmane.linux.debian.devel.general/135067
for details.
Thanks to debian games team for reporting :)
2008-12-29 12:50:55 +00:00
yabause
cfd9b3523c
Fixed compilation for linux:
...
- template stuff should be in .h files
- for some reason you can't use a static function pointer
as a template parameter
2008-12-29 12:44:15 +00:00
zeromus
be25d014cd
use template and forceinline magic to speed up rotated bgs. amounts to ~1fps on nsmb ingame. this helps so much because the gpu functions pass around TONS of parameters through bunches of functions and function pointers. there is much more to be done here, but anything tricky should wait for next release
2008-12-29 08:24:00 +00:00
zeromus
9e04b4eceb
fixed sprite window inefficiencies. Big speedup; major speedup in SPP. I do not know a good sprite window test case, so i had to test it by turning on sprite window for SPP in a hacky way, so keep your eyes peeled for problems. But even if there are problems, the old way of handling sprite window was unacceptable.
2008-12-29 07:26:15 +00:00
zeromus
b4a3551b1c
switch back to using templates for mmu 7/9 splitting. to make it worth the trouble, i also split the embedded bios functions in the same way
2008-12-29 01:32:58 +00:00
luigi__
b85473360b
Changed the types of the precalc tables as suggested by zeromus.
2008-12-28 23:56:05 +00:00
luigi__
e80bb110b3
A few optimizations to the ADPCM sound decoding func.
2008-12-28 23:40:15 +00:00
zeromus
e407e945a5
major speedup to 3d by using a different pixel format for retrieving opengl framebuffer!
2008-12-28 23:22:35 +00:00
gecko_reverse
008523a5ff
fixed compilation on osx
2008-12-28 20:12:44 +00:00
mtabachenko
84e6371f2d
fix compilation for windows
2008-12-28 19:03:27 +00:00
yabause
e074ab18e0
Fixing compilation for linux.
2008-12-28 19:01:21 +00:00
luigi__
49b10c65e3
Texturing shouldn't break anymore when changing the 3D core.
2008-12-28 18:53:22 +00:00
luigi__
a78eba5604
If OpenGL has already been inited, it won't be inited a second time now.
2008-12-28 18:33:36 +00:00
luigi__
bea0b2c795
Fixed a bug with 3D core hot swapping when no ROM has been loaded.
2008-12-28 17:49:11 +00:00
luigi__
8cec94c1f1
Fixed a bug with 3D core hot swapping when no ROM has been loaded.
2008-12-28 17:47:34 +00:00
luigi__
baad85f605
The 3D settings dialog is now hooked up and fully functional. 3D core hot swapping seems to work correctly.
2008-12-28 17:35:14 +00:00
luigi__
a6187cb610
Added a 3D settings dialog for changing the 3D core.
...
Added a French version of the Firmware settings dialog.
2008-12-28 17:11:54 +00:00
luigi__
2146d19203
Added NDS_3D_ChangeCore for hot swapping between 3D cores, because I plan to write a software renderer someday.
...
The OpenGL shaders are now properly released on close.
Added "OGL" before the names of the OpenGL core funcs for clarity.
2008-12-28 17:00:42 +00:00
riccardom
8445c48bad
Add parentheses to macro parameters where needed.
2008-12-28 16:54:54 +00:00
mtabachenko
d40eab9ef2
core:
...
- changes in reads/writes MMU;
2008-12-28 16:18:47 +00:00
riccardom
d0a6539d3b
Give a name to a global struct to shut up this gcc warning:
...
gfx3d.cpp:162: warning: non-local variable ‘<anonymous struct> tempVertInfo’ uses anonymous type
2008-12-28 15:10:31 +00:00
riccardom
eb6f949ff7
Put not used functions under if 0 for now.
2008-12-28 15:03:59 +00:00
riccardom
24a5daf63d
Made two functions static a put parentheses around | operand as suggested by gcc.
2008-12-28 15:01:16 +00:00
riccardom
b1a044fb7c
Fix some unused variable warnings by ifdefing code and made some functions static.
2008-12-28 14:53:57 +00:00
shashClp
029a5e0edb
[2471938] Applied patch attached on this issue.
...
- This is too from the infamous r1196, which I already
said was useless and stupid.
2008-12-28 14:27:17 +00:00
luigi__
3ed852c240
The recent ROM names are now compacted using PathCompactPath, instead of being cut to 128 characters.
2008-12-28 12:13:19 +00:00
zeromus
5a940dc2be
- add IDM_DEFSIZE to resource.h (luigi__ will have merge issues).
...
- add code to use bios if the bios files exist. this code is preliminary. it seems to freeze games right now. to use this, make sure BiosNds7.ROM and BiosNds9.ROM exist in the application startup working directory. this is probably not a good way to do it, but it is a start.
- fix recently created spu issues with adpcm and psg.
- change execute = FALSE; to emu_pause(); so that other things can be done or disabled in one place.
- analyze performance of MatrixIdentity for speedup.
- accept crazymax's correction to my matrix caching. that was boneheaded, sorry!
2008-12-28 02:27:13 +00:00
luigi__
70a8af9942
The duplicating bug of the recent ROMs menu should now be definitively gone.
2008-12-28 00:11:32 +00:00
luigi__
5babff7a65
Added a few missing menu items to the French & Danish menus.
...
Added a new option to resize the window to its default size.
Better menu item names for the French menu.
2008-12-28 00:06:21 +00:00
mtabachenko
58d2d84b0a
fix matrixes cache handle in some games. zeromus check it
2008-12-27 23:49:08 +00:00
luigi__
969274cc97
Choosing Danish as language would save French instead of Danish. Fixed.
2008-12-27 23:42:50 +00:00
luigi__
56c37c2aee
Better recent ROMs menu with a Clear option and fixed the bug where all the recent ROM items were duplicated when changing the language.
2008-12-27 23:13:03 +00:00
luigi__
24e2b77086
Removed the proc variables for execdiv and execsqrt since the ARM7 deosn't have the div/sqrt funcs.
2008-12-27 19:19:06 +00:00
mtabachenko
a99ef67d0a
core:
...
- fix in 3D capturing;
2008-12-27 11:09:16 +00:00
mtabachenko
43cd2fd665
core:
...
- more accurate IPC FIFO & Geometry Commands FIFO;
2008-12-27 09:24:05 +00:00
zeromus
93af0a8e36
fix repeating dma. the incremented source and dest address werent being written back into the internal dma control variables. this fixes nsmb parallaxing backgrounds. we still have a rather large BUG in that the updated dma registers can't be read back by the game software. wait until next version to retool the dma control logic.
2008-12-27 08:10:45 +00:00
zeromus
7ba70e0b9d
add 3d layer h-scrolling
2008-12-27 06:47:18 +00:00
zeromus
71a93841c9
minor speedup in gfx3d: build verts directly into the main vertex list instead of a 32B temp struct which needs to be copied each time a poly is completed.
2008-12-27 05:58:37 +00:00
zeromus
de0120d6bb
revert my recent changes to backupmem autodetection. it fixed some games and broke others. I am disinclined to change it too close to a release.
2008-12-27 05:34:59 +00:00
zeromus
e72264ea71
minor optimizations to gpu and gfx3d:
...
- sprwin was too big (256x256 instead of 256x192)
- line render buffer initializer was a per pixel loop instead of a 256 wide memset
2008-12-27 03:49:18 +00:00
zeromus
6247af54cb
speedup to spu: having two cores is a bit extravagant.. but i fixed it so the core spu doesnt actually do any mixing (only incrementing of sample counters)
2008-12-27 02:42:54 +00:00
luigi__
639a42445c
The default language upon first launch is now really English, not French.
...
The menus are now better, though still not perfect.
Removed "HMENU menu" as it was useless due to "HMENU mainMenu".
2008-12-27 01:12:40 +00:00
zeromus
56dbd54982
- various minuscule gfx3d speedups via caching logical values derived from ds values
...
- very large speedup during opengl by caching projection matrices and not changing unless the game does.
2008-12-27 00:57:13 +00:00
luigi__
0b5e1927c1
The default window position is now CW_USEDEFAULT instead of 0, so upon the first launch the window isn't placed in the top-left corner.
2008-12-27 00:49:51 +00:00