Commit Graph

1486 Commits

Author SHA1 Message Date
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