Commit Graph

1421 Commits

Author SHA1 Message Date
mtabachenko 7f21832b5d core:
-fix texture caching
2008-12-31 20:13:19 +00:00
MightyMax 3fde410ecb MMU_write32: replaced comparison heavy (two per case: >=,<) if-chain with a switch/case (only one if can be true at any time) 2008-12-31 20:00:14 +00:00
shashClp b47d95082d Reapplying the changes, as fixing was just looking
the changes and adding a cast, as it was in the
past. Avoid reverts when the fix is as simple as this
one and everyone will be happier :)
2008-12-31 18:10:43 +00:00
riccardom 475d0151cc Revert revision 1338 "Reduce code required for some flag calculations in two opcode's. (Shouldn't break things but best too do more testing before adding to release branch)." because it broke compilation on linux. 2008-12-31 17:34:03 +00:00
yabause 8284e81037 Removed zero_private from distributed files 2008-12-31 14:54:59 +00:00
mtabachenko 7c7cd504d2 core:
- fix BGs;
2008-12-31 14:07:09 +00:00
normmatt234 ed782533b8 Reduce code required for some flag calculations in two opcode's. (Shouldn't break things but best too do more testing before adding to release branch). 2008-12-31 11:24:55 +00:00
zeromus 462b1fd1cd someone got pushed off the aboutbox list. 2008-12-31 11:12:42 +00:00
zeromus 030cd2a604 overhaul changelog. tried to collapse, reconcile, and merge changes to create a list which will be useful for a press release, since the previous list had been nearly abandoned due to too much happening, and while I was at it I scrounged for good changes back to 0.8. This might be a controversial move, but it is a valuable asset, and i spent a few hours doing it. someone still needs to get all the gtk and cocoa changes in there; i skipped over all of it because I dont know enough about the builds. 2008-12-31 11:11:25 +00:00
zeromus 850882cf01 fix SBC bug in thumb (same bug as the one normatt fixed in arm in r923) 2008-12-31 09:50:11 +00:00
zeromus 2cc03b0a97 - fix bug with 512 tall BG
- remove zero_private junk file
2008-12-31 05:30:31 +00:00
yabause 8272bc6f4e More files in "make dist" 2008-12-30 22:51:42 +00:00
riccardom 8eb3f15f11 Make some data const. 2008-12-30 19:38:40 +00:00
zeromus 1312875f80 disable bios loading. this was for our testing and not for general consumption. we will make it solid in 0.91 2008-12-30 19:32:49 +00:00
zeromus 65b8130f34 removing old code from gpu 2008-12-30 18:55:32 +00:00
riccardom 38069dd9bc Fix compile error for not gtk. 2008-12-30 18:41:56 +00:00
riccardom 6191ccbdca Remove variables not used warnings. 2008-12-30 17:34:40 +00:00
riccardom a363735acc I know you would hate me but these functions are too big to be inlined by gcc.
Does it make any difference in windows? if so feel free to revert.
2008-12-30 17:30:28 +00:00
riccardom 5f19ca6fd4 Fix "format not a string literal, argument types not checked" warnings. 2008-12-30 17:12:01 +00:00
riccardom 00f4c97cca Fix "enumeration value not handled in switch" warnings. 2008-12-30 17:11:24 +00:00
riccardom 9d46a3b9e4 Rework conditionals in execsqrt() and execdiv() so that gcc stop saying that ret, den and num can be used uninitialized. I assume that all the possibile value of the test are already there otherwise these changes are wrong! :) 2008-12-30 16:32:26 +00:00
riccardom d7d19e4a7d Make a couple of functions static. 2008-12-30 16:16:31 +00:00
yabause 6a4b9900a5 one more file to "make dist" 2008-12-30 16:13:35 +00:00
riccardom ba0adfcf7e Cleanup packed attribute headers for gcc. 2008-12-30 16:09:24 +00:00
mtabachenko ffca57c181 remove INFO() 2008-12-30 15:42:33 +00:00
riccardom 9cb3b76e74 Ok, This stuff is not used and that's not very elegant but that would be at least a leak and this shut up gcc. 2008-12-30 15:40:12 +00:00
riccardom fcf045ac18 Fixup gcc warnings:
- add missing header include for DecryptSecureArea declaration
- make some functions static
- put under if 0 stuff currently not used
2008-12-30 15:38:23 +00:00
riccardom 9e8f19ebf9 The name should be const. 2008-12-30 15:35:57 +00:00
riccardom ecd509166f Fix screen corruption by missing memory zero'ing. 2008-12-30 15:31:39 +00:00
riccardom d386158e49 Fix up ARM9_struct definition. 2008-12-30 13:43:32 +00:00
luigi__ d1502f5bee The clear alpha is now the one selected by the game.
Removed the stencil blitting stuff, as it doesn't take care of whether the rear-plane is opaque or not (I left it commented if you've a good reason for re-enabling it).
2008-12-30 12:39:20 +00:00
luigi__ 879586c4fa The color effects are now correctly applied to the 3D layer.
3D/2D blending is now performed by the 2D core. This gives a speedup when the blending isn't enabled because the GetLine func doesn't have to perform any blending now.
2008-12-30 12:31:47 +00:00
zeromus 3c4f23cd39 - fix vs2005 project after asm file removal
- fix error in new fadein/fadeout table usage (pixels werent masked by 0x7FFF causing table overruns)
2008-12-30 05:01:30 +00:00
shashClp 2b345daffd - Minimal fix to proper GFXFIFO parameter number handling 2008-12-30 04:22:33 +00:00
shashClp 9b770347c3 - Removed custom memcpy routines as they're slower than
the libc ones (check profiling numbers on the developers
list).
2008-12-30 02:32:48 +00:00
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
zeromus ac130aeb14 add the sqrt and div timing to savestates 2008-12-26 23:03:28 +00:00
zeromus a2aa2c34e5 - comment out that assert which strikes arm7less homebrews
- speed up GetLine() by 2x. this affected GetLineCaptured(), which I havent tested.
2008-12-26 22:57:48 +00:00
shashClp 662077bb31 - Fix for the Dead'n'furious "black screen" bug. 2008-12-26 21:38:43 +00:00
luigi__ 4e2965c416 Oh, stupid of me : I was wrong with div/sqrt cycles again. They must be doubled to be 33mhz units, ie 13 cycles in 33mhz would be 26 cycles for nds.cycles. 2008-12-26 21:03:53 +00:00
zeromus 214798c3c1 fix an issue which could cause an invalid SWI in thumb mode to crash the emulator 2008-12-26 20:05:43 +00:00
luigi__ 026bbe304d Oops, I forgot that the div/sqrt cycles are in 33 mhz units, not 66mhz units... 2008-12-26 17:35:28 +00:00
luigi__ 99edea516b Division and sqrt now take the right time before completing.
This seems to fix the teleport bug in SM64DS.
2008-12-26 16:29:36 +00:00
zeromus 56ba7941a1 change backupmem autodetection to catch more cases of unusual usage patterns 2008-12-26 08:24:26 +00:00
zeromus 2d7891cbec so, some of my changes broke homebrew game loading. i fixed that. 2008-12-26 05:49:54 +00:00
zeromus 5ee96233be [ 2394336 ] - desmume does not compile with dev-cpp
fixed: dev-cpp support is removed since there is nobody around to support it.
2008-12-25 23:08:50 +00:00
yabause bfb928f20c Added more file to "make dist" and remove gtk/globals.h
that is now gone.
2008-12-25 21:53:58 +00:00
yabause 8dfa1f8226 Fixed compilation with autotools script and for case sensitive
platforms.
2008-12-25 21:44:09 +00:00
riccardom ad8b289c11 Rename the help menu Help from ? like usual gtk programs. 2008-12-25 21:21:00 +00:00
zeromus 6215573ac3 fix vs2008 build 2008-12-25 21:17:25 +00:00
riccardom 9a07979ccf Kill globals.h and move needed includes and defintion in main.cpp which was its only user. 2008-12-25 21:04:46 +00:00
zeromus f1c135e929 - add secure area decryption from ndstool (little endian host only)
- change how the portable packed structure declarations are made
- reorganize and cleanup changelog
2008-12-25 20:43:59 +00:00
riccardom 296e5e217d cast to int to avoid gcc signed vs unsigned comparison warnings as already done in the code. 2008-12-24 16:29:01 +00:00
mtabachenko da8e3f28ea winport:
- fix IO registers tools (fix and add new registers)
2008-12-24 13:18:33 +00:00
luigi__ e366145188 Added my name 2008-12-24 11:08:35 +00:00
luigi__ 4f4ccab0ca Added my name 2008-12-24 11:07:14 +00:00
mtabachenko 9b5d0bd045 core:
- fix debug log in MMU;
2008-12-24 10:27:39 +00:00
gecko_reverse e45499646c fixed PPC compilation errors 2008-12-24 02:21:46 +00:00
mtabachenko ae56e34cc5 winport:
- fix compilation with define EXPERIMENTAL_WIFI (winsock2)
2008-12-24 01:37:18 +00:00
mtabachenko 693df94cb6 core:
- Add functions for a lid open/close. Holding key (default "Backspace" in Windows port) while game is freeze/non freeze
2008-12-24 00:25:48 +00:00
riccardom 068adfadbd u32 needs l lenght modifier. 2008-12-23 23:02:46 +00:00
riccardom 155374e579 Fix missing indentation. 2008-12-23 22:49:46 +00:00
riccardom 9fa53576a5 Fix most compile warnings with --enable-hardcore. 2008-12-23 22:41:37 +00:00
mtabachenko c7caead1ff core:
-fix gxstat register;
2008-12-23 22:03:35 +00:00
luigi__ 75041c7196 MMU.fw.data is now entirely cleared to zero (instead of the first 512 bytes) before anything (NDS_CreateDummyFirmware) 2008-12-23 21:44:07 +00:00
yabause 01b2c8076f Dirty fix for the bad context bug.
Instead of fixing it, we're trapping the error and disabling 3D.
2008-12-23 21:20:13 +00:00
mtabachenko 5d48cdbca9 core:
- added to capture display support for 3D and blend sources A+B capturing;
2008-12-23 21:16:27 +00:00
mtabachenko 0eff66ec25 oops :) sorry, forgot 2008-12-23 12:56:52 +00:00
luigi__ ad845549e1 Fixed a compilation error. silly of me :( 2008-12-23 11:48:27 +00:00
mtabachenko a2e95b9bab forgot file :( 2008-12-23 11:42:33 +00:00
luigi__ 5c5c64d089 Fixed a bit the shadows, they don't cause any more glitches when overlapping translucent polygons 2008-12-23 11:39:23 +00:00
mtabachenko 9decebf56f core:
- fix BMP sprite;
2008-12-23 11:08:25 +00:00
yabause 3d2a8101f0 Adding manpages from debian, not sure why they were
added there at first.
2008-12-22 23:53:34 +00:00
luigi__ a6bf874f44 Fixed 16-bit and 32-bit accesses to the VRAM regs
Added basic support for the VRAMSTAT, WRAMCNT, WRAMSTAT and EXMEMCNT regs (writes to these regs now write the appropriate values at the other side)
2008-12-22 10:45:25 +00:00
mtabachenko 87036ecdd1 core:
- fixed silly bug in VRAM mapping (typo)
2008-12-21 20:22:56 +00:00
luigi__ b06345976f Corrected a small mistake with WFC profile #3. 2008-12-21 15:47:42 +00:00
mtabachenko 0d05310058 core:
- temporally fix in VRAM mapping and add BGx scroll;
2008-12-20 11:44:07 +00:00
luigi__ 6e39973723 Added the 3 WFC profiles with their CRC16's, now Mario Kart boots a bit more (the next problem for it seems to be a DMA timing problem). 2008-12-19 18:10:03 +00:00
luigi__ 7a64ad3286 Added the flag OFN_NOCHANGEDIR when opening a file (prevents changing the working directory).
This prevents the config file from being exported to the ROM folder, resulting in config saving problems.
2008-12-19 16:27:01 +00:00
luigi__ aef05f28ed Added more values to the default firmware (mostly Wifi settings) 2008-12-19 15:33:06 +00:00
mtabachenko 6b49906cf5 core:
- fixed Master Brightness (this is fix games with black screens ex. "Pirates of the Caribbean At Worlds End");
2008-12-18 13:16:21 +00:00
mtabachenko 27786f835d core:
- fix capture display (fixed blinking with both 3D screens ex.Sonic Rush, Metroid Prime etc)
2008-12-18 00:36:54 +00:00
yabause c5a37f52b9 Added the movie thing and its dependencies into autotools scripts. 2008-12-17 23:45:07 +00:00
mtabachenko 8cef0b268c typo fix 2008-12-16 17:17:23 +00:00
mtabachenko cdcd88725c core:
- fixed in 3D render and added simulation Geometry FIFO;
2008-12-16 16:54:50 +00:00
riccardom 014f42d293 Make functions without declaration static and remove unused i variables. 2008-12-15 21:25:46 +00:00
mtabachenko ff328543a0 core:
- cleanup gfx3d.cpp;
2008-12-14 19:48:43 +00:00
shashClp 70fe9c0f86 Removing credits for a persons work is something that I won't tolerate, more when it's my work.
It's OK to add more people, but not removing them. Also, as a general comment, that speed "improvement"
is completely stupid.
2008-12-14 18:14:47 +00:00
luigi__ ac7e151964 minor optimization to lighting formula 2008-12-14 16:32:19 +00:00
mtabachenko 36da3ccf07 core:
- 1st step for MMU split for procs (speedup);
- some changes in FIFO;
2008-12-14 14:56:26 +00:00
zeromus 9e8dada75e change arm9 sqrt and div. sqrt should be more precise, and the register access is more straightforward. 2008-12-14 00:29:51 +00:00
luigi__ 51e8d353da Fixed ARM9 hardware division when the denom is zero (see http://nocash.emubase.de/gbatek.htm#dsmaths) 2008-12-13 20:30:31 +00:00
luigi__ bb3be34cb9 Fixed a few bugs with looping feature (looped sounds now play corectly when using PAlib)
Changed interpolation to cosine interpolation (makes transitions smoother)
2008-12-10 18:31:56 +00:00
zeromus 0501a23279 fix windows build (fs-windows.cpp moved) 2008-12-08 22:03:57 +00:00
yabause 54c97f1624 Started to fix "make dist" as we should release sometime soon.
This commit broke the visual studio compilation as I moved
fs-windows.cpp back in "src".
I also removed some old files from gtk dir.
2008-12-08 21:57:05 +00:00
yabause 2a6fa23065 Fixed compilation on linux. 2008-12-08 20:27:09 +00:00
luigi__ e40813eece Fixed texturing when using fixed pipeline (thanks to zeromus for reporting this bug) 2008-12-08 18:07:40 +00:00
mtabachenko f41d634d5a core:
- some fixes;
2008-12-08 13:11:05 +00:00
mtabachenko f04f80ba20 core:
- fix VRAM mapping control (now this correct, in future need only add WRAM mapping);
2008-12-08 12:31:43 +00:00
mtabachenko 626e94e493 - exclude check address range in VRAM (may crash in some games :( ); 2008-12-08 10:18:50 +00:00
mtabachenko 445c953371 core:
- fix VRAM bug (ex. NSMB fixed background missing on map)
2008-12-08 09:15:40 +00:00