Commit graph

356 commits

Author SHA1 Message Date
Nebuleon Fumika
bf5cb54162 Fix multiple compiler warnings: forward declaration, implicit declaration, unused variable, variable used uninitialised, unused function (when not used anywhere else with a #define). 2013-01-18 02:41:32 -05:00
Nebuleon Fumika
5c4e96b326 Remove some unused functions. Raise the CPU frequency for sound mixing if auto frameskip is delaying because it's early. 2013-01-18 01:50:28 -05:00
Nebuleon Fumika
aa54875b05 cppcheck: [nds/gui.c:3130]: (error) Array 'tools_options[2]' index 4 out of bounds
cppcheck: [nds/gui.c:3132]: (error) Array 'tools_options[2]' index 4 out of bounds
2013-01-18 01:20:01 -05:00
Nebuleon Fumika
51e18ffb2f cppcheck: [nds/gui.c:3573]: (error) Possible null pointer dereference: current_option - otherwise it is redundant to check if current_option is null at line 3576 2013-01-18 01:18:11 -05:00
Nebuleon Fumika
a8ad21f22c cppcheck: [spc700.cpp:148]: (error) Uninitialized variable: buffer 2013-01-18 01:12:53 -05:00
Nebuleon Fumika
4b642ccd3d Lower the timer interrupt interval to 13.3 milliseconds to avoid underflows (silences). 2013-01-17 21:12:23 -05:00
Nebuleon Fumika
1bc1dfc1ab Reinstate the interrupt time setting.
This reverts commit 27d2911fb0.
2013-01-17 18:52:48 -05:00
Nebuleon Fumika
944d9a7294 Reinstate timer-interrupt audio.
This reverts commit 0d048d05ee.
2013-01-17 18:52:22 -05:00
Nebuleon Fumika
582b3a23ce Initialise current_menu to NULL in menu(u16). Otherwise, choose_menu(&main_menu) tries to call the end_function of a menu that's a random pointer. 2013-01-16 03:17:33 -05:00
Nebuleon Fumika
95a1f4c0a3 Release 1.20. 2013-01-14 23:39:47 -05:00
Nebuleon Fumika
87680e69f5 Handle a game switching BG modes in the middle of a frame, to hi-res and to lo-res. This fixes Seiken Densetsu 3. 2013-01-14 23:35:53 -05:00
Nebuleon Fumika
be4d4495ba Release 1.19. 2013-01-14 04:30:31 -05:00
Nebuleon Fumika
95b7104d47 Forgot to define inputdata for the button touch commit. 2013-01-14 04:14:47 -05:00
Nebuleon Fumika
c7cc655473 Raise the CPU frequency while loading or saving states and while showing their screenshots. 2013-01-14 04:11:35 -05:00
Nebuleon Fumika
259cbd1837 Remove some comments in draw_yesno_dialog to make it easier to read. 2013-01-14 04:03:33 -05:00
Nebuleon Fumika
4ba17a46f6 Make yes/no dialog(ue)s respond to touches on the Yes and No buttons. 2013-01-14 03:58:52 -05:00
Nebuleon Fumika
07f0fe97fd The delete (delette?) save state submenu still had 10 slots hardcoded. 2013-01-14 03:50:43 -05:00
Nebuleon Fumika
009019e1bf Make "Create saved state" have its own row of slot cells.
Raise the number of cells to 16.

Cache existence of saved state files, and invalidate the cache when saving or deleting a saved state.

CATSFC/system/gui: Make the unselected and selected cells more visibly different, while also leaving full and empty cells visibly different.
2013-01-14 03:46:14 -05:00
Nebuleon Fumika
a6ec18e23f Preliminary support for saving to an arbitrary saved state slot.
Currently, tapping a cell representing a saved state slot in the menu will load it, regardless of the current option, save or load. So the save option only accepts Left, Right and A.
2013-01-14 02:51:39 -05:00
Nebuleon Fumika
a26bc99b90 Prevent the "Load cheat file" option from showing a file selection dialog if no game is loaded. 2013-01-13 20:59:26 -05:00
Nebuleon Fumika
5e6b9ea6ca Use the same update method as the rest of the code to display saved-state screenshots on the upper screen. 2013-01-13 20:23:45 -05:00
Nebuleon Fumika
e2359ee049 Localise Yes(A) and No(B) into English, French and Simplified Chinese as [A] Confirm and [B] Cancel.
CATSFC/system/gui/sbutto.bmp: Widen the button to accomodate this change.
2013-01-13 20:22:41 -05:00
Nebuleon Fumika
12a838c767 Release 1.18. 2013-01-13 14:31:44 -05:00
Nebuleon Fumika
eb40d91070 Delete server.cpp and netplay.cpp. 2013-01-13 14:17:20 -05:00
Nebuleon Fumika
27d2911fb0 Remove the interrupt time setting. 2013-01-13 05:18:26 -05:00
Nebuleon Fumika
0d048d05ee Revert timer-interrupt audio, but not optimisations done since then. Get the controller status every scanline again. 2013-01-13 05:00:47 -05:00
Nebuleon Fumika
5b33e3c903 Raise the CPU only after the delay required by ds2_setBacklight(). 2013-01-13 04:17:40 -05:00
Nebuleon Fumika
7cfc6b8bf8 Stop using the deprecated function S9xMixSamplesO and use S9xMixSamples instead.
Wrap the offset into the audio buffer less often.
2013-01-12 21:02:30 -05:00
Nebuleon Fumika
ca7e790374 soundux.cpp: Inline MixStereo (into S9xMixSamples). 2013-01-12 20:37:04 -05:00
Nebuleon Fumika
99b19abca3 Remove 2 extraneous delays. The 100-millisecond delays before ds2_setBacklight() MUST STAY, however, otherwise the emulator can crash with the bottom backlight off if a touch is recognised twice in a row. That happens with some broken styluses, so it's not unexpected. 2013-01-12 20:35:47 -05:00
Nebuleon Fumika
253902a30d Fix a buffer overflow in audio handling code that corrupted memory used to carry the state of the GUI. 2013-01-12 20:34:15 -05:00
Nebuleon Fumika
59612aa017 ds2sound.h: Set the interrupt interval to 15.36 milliseconds and explain why. 2013-01-12 20:30:30 -05:00
Nebuleon Fumika
7eb79c076d Peel loops, aka only unroll loops if their number of iterations is a compile-time constant. 2013-01-12 03:48:20 -05:00
Nebuleon Fumika
75690d5e91 Loop unrolling sucks. It was adding loads of instructions per audio sample. 2013-01-12 03:15:28 -05:00
Nebuleon Fumika
4717df6485 Revert "Remove shifted envelope heights from the code, because one is always set from the other and the shifted height is not used in saved states."
This reverts commit e3bb4a5f62.
2013-01-12 03:08:07 -05:00
Nebuleon Fumika
40d30e35ca Remove redundant writes to support reverse stereo. Define FOREVER_FORWARD_STEREO. 2013-01-12 01:09:59 -05:00
Nebuleon Fumika
e3bb4a5f62 Remove shifted envelope heights from the code, because one is always set from the other and the shifted height is not used in saved states. 2013-01-12 00:34:49 -05:00
Nebuleon Fumika
8338e199df More efficient noise generation taken from blargg's code in Snes9x 1.53. 2013-01-12 00:00:29 -05:00
Nebuleon Fumika
575e93abdc Reduce memory access in noise generation. 2013-01-11 23:21:41 -05:00
Nebuleon Fumika
e0259e54c2 Prepare for audio optimisations. Fix the indentation in MixStereo(). 2013-01-11 21:11:12 -05:00
Nebuleon Fumika
7896e83aa9 Stop constantly testing for 16-bit and stereo in sound handlers. Define FOREVER_16_BIT_SOUND and FOREVER_STEREO and use them throughout the code.
This is essentially commit 6b36e79013, but for sound instead of graphics.
2013-01-11 19:22:59 -05:00
Nebuleon Fumika
0028091d0f Fix the interrupts glitching sound. Put the sound back at 22050 Hz. 2013-01-11 03:31:03 -05:00
Nebuleon Fumika
3a1708474f Reinstate some delays needed by the code to avoid crashing, and actually explain in code comments why they're needed.
I know ds2_setBacklight(unsigned int) needs a delay before it, otherwise if done too close to another call, it crashes.

This partially reverts commit 8951fdff1a.
2013-01-11 03:28:59 -05:00
Nebuleon Fumika
736484548e Attempt to optimise the ADD background drawing mode so it's playable on automatic frameskip in games like Super Metroid. It doesn't work well.
See the video for this bug at <http://www.youtube.com/watch?v=sUWjVxAD9Q8>.
2013-01-10 18:01:32 -05:00
Nebuleon Fumika
e1ec72de10 Release 1.17. 2013-01-09 04:04:49 -05:00
Nebuleon Fumika
03a0d3457b Attempt to fix the crashing with sound interrupts, part 2: Stop the timer before the menu, and restart it after it ends. 2013-01-09 03:21:44 -05:00
Nebuleon Fumika
3585aa1c2a Increase the audio frequency to 48 kHz. Timer interrupt intervals and buffer sizes are also tested at 32 kHz and 44.1 kHz. 2013-01-09 02:32:24 -05:00
Nebuleon Fumika
8872841ad1 Try fixing a crash in the sound interrupt. 2013-01-08 23:53:31 -05:00
Nebuleon Fumika
1896286ad5 Permanently remove NO_OPEN_BUS hacks. It was a premature optimisation. 2013-01-08 16:26:43 -05:00
Nebuleon Fumika
65f1ead0e7 Revert "Reinstate FAST_ALIGNED_LSB_WORD_ACCESS for 24-bit jumps." That's in port.h now.
This reverts commit 3dd99ccae4.
2013-01-08 16:24:57 -05:00