aboutsummaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2013-02-01While killing time between frames, process audio instead of doing nothing. ↵Nebuleon Fumika
Also correctly fill the buffer with silence when returning from pause. This reduces or eliminates crackling. The emulator kills time in two circumstances: * In automatic frameskip mode, without fast forwarding, the emulator kills time if it rendered a frame early. * In manual frameskip mode, without fast forwarding, the emulator kills time to wait for the next rendered frame.
2013-02-01Make the audio timing more precise.Nebuleon Fumika
* Fake out the buffer timing by sending a buffer full of silence when returning from pause. Reduces crackling introduced by the next point. * Send buffers only once every 23.22 milliseconds, not up to four buffers at once (92.88 milliseconds) and randomly thereafter. Reduces note-length jumpiness. * Audio may have trouble catching up if external jitter reaches 11.61 milliseconds. That happens if Mode 7 images or filtered modes take a long time to render, or if chips take a long time to execute.
2013-02-01Hook fast-forward into Settings.TurboSkipFrames.Nebuleon Fumika
2013-02-01Don't initialise the ROM memory at startup, since a ROM needs to be loaded ↵Nebuleon Fumika
into it anyway. According to BassAceGold's timings, this should save 179 milliseconds.
2013-02-01When starting CATSFC, assume the backlights are both on, so don't delay 100 ↵Nebuleon Fumika
milliseconds and set both backlights to on.
2013-02-01memcpy vs memmove: memmove correctly handles overlapping source and ↵Nebuleon Fumika
destination memory buffers, but is slower than memcpy in many implementations. When memory buffers don't overlap, memcpy may be more efficient. The DS2 SDK is such an implementation, so change many memmoves into memcpys.
2013-01-29Prevent a file descriptor becoming unusable if the emulator configuration ↵Nebuleon Fumika
file is not in the correct format.
2013-01-27Assign a filter-related variable right after other filter-related variables.Nebuleon Fumika
2013-01-27Reimplement Quicksort correctly for file selection screens. Before this ↵Nebuleon Fumika
commit, the emulator could sometimes give a file out of its order, for example an O* file between two S* files.
2013-01-27Suspend on lid-close in the menu.Nebuleon Fumika
2013-01-26Turn off the lower screen's backlight when returning from suspend during ↵Nebuleon Fumika
emulation.
2013-01-268 is NUM_CHANNELS. (magic constant)Nebuleon Fumika
2013-01-26Release 1.24.Nebuleon Fumika
2013-01-26Fix uninitialised memory access in pitch modulation.Nebuleon Fumika
2013-01-26Fix Tools/Global hotkeys/* refusing to work by touch.Nebuleon Fumika
2013-01-26Reverse the loop in MixStereo such that instead of "for each channel, for ↵Nebuleon Fumika
each playback sample, add into the mix buffer", the playback sample is instead written to the mix buffer only when fully mixed from the 8 SNES sound channels. Verified working with Secret of Mana, Super Bomberman 5 and Super Mario World.
2013-01-26Decide whether SuperFX and SA-1 chips are enabled only once per frame. This ↵Nebuleon Fumika
saves a few million instructions per second. (Inspired by Snes9x-Euphoria)
2013-01-23Slight change to soundux.cpp.Nebuleon Fumika
2013-01-22Release 1.23.Nebuleon Fumika
2013-01-22Add a preview for hotkeys.Nebuleon Fumika
2013-01-22Add three hotkeys: temporary fast-forward, sound toggle and return to menu. ↵Nebuleon Fumika
These hotkeys can be overridden per game so that the global version of the hotkey can be ignored. * Language file fixups related to \n (newlines). * Pictochat fixups: shorten START and SELECT to ST and SEL. Should still be recognisable.
2013-01-21Properly finalise the current menu when returning to the game. Fixes entries ↵Nebuleon Fumika
"disappearing" in the recently played games menu.
2013-01-20Release 1.22.Nebuleon Fumika
2013-01-20Fix a regression with touching "recently played games".Nebuleon Fumika
2013-01-20Release 1.21.Nebuleon Fumika
2013-01-20Remove GBAFILE from the icon list as it's never used.Nebuleon Fumika
2013-01-20Assert that the icon set will not change according to language. This is ↵Nebuleon Fumika
possible as of commit 4b4349ac8afb7dce6c0ca8a64a268f897a295469.
2013-01-20Remove SUBSELB from the icon list as it's never used. Make inactive items a ↵Nebuleon Fumika
deep purple instead of a light teal.
2013-01-20Prepare data structures for adding hotkeys.Nebuleon Fumika
2013-01-20Avoid selecting a menu item by touch if the conditions aren't met, part 2: ↵Nebuleon Fumika
Saved state menu improvements.
2013-01-20Show the screenshot for a saved state when touching it once in the Load ↵Nebuleon Fumika
state row.
2013-01-20Don't clear the screen to black after a file selector. Purely aesthetic.Nebuleon Fumika
2013-01-20Scroll the selected file name faster in file selection dialogs.Nebuleon Fumika
2013-01-19GUI touch handling improvements.Nebuleon Fumika
* Don't select items defined with type HIDEN_TYPE. That's for items like the card capacity display. * Don't change current_option and current_option_num until we're sure of what's going on. * Don't select an item from another menu if you touch a phantom menu item below the last one of the active menu. For example, Video & audio's item 5 would call up the ROM loading dialog. This is now fixed. * Handle NUMBER_SELECTION_TYPE and STRING_SELECTION_TYPE as invocations of CURSOR_RIGHT. This fixes the language selector not updating the language in the GUI when touched. * Handle ACTION_TYPE. This fixes the Load cheat file menu item not working when touched.
2013-01-19Remove unneeded volatility, enabling more optimisations. Sound volatility is ↵Nebuleon Fumika
#define'd away, GUI volatility is simply removed.
2013-01-19Prepare code to ask for a hotkey. Prepare a temporary fast-forward switch.Nebuleon Fumika
2013-01-19Prepare for adding hotkeys.Nebuleon Fumika
2013-01-18Add A, B, X, Y, L, R, Start and Select pictograms in the font, starting at ↵Nebuleon Fumika
U+05C8.
2013-01-18Add an interface preview image under source/images, in Photoshop format.Nebuleon Fumika
2013-01-18ICON_BUTTON is index 36, not 46.Nebuleon Fumika
2013-01-18GUI picture overhaul.Nebuleon Fumika
* Glass buttons. These new buttons are in the SVG format in source/images if you wish to make derived skins. * Icons from the Tango Icon Library and the RRZE Icon Set. These new icons are in the SVG format in source/images if you wish to make derived skins. * Main menu: More readable text on unselected options. * Main menu: Make "New game", "Return to game" and "Reset game" localised in English, French and Simplified Chinese. These three options also all use the same button image now; snewo, snnewo, sreseto, snreseto, sreteno and snreteno are gone and replaced by smaini and snmaini. * copyright: Update. * Align main menu icons and text better.
2013-01-18Make many of the buttons be glass images. Darken the lines in the 6-line ↵Nebuleon Fumika
background for visibility.
2013-01-18Fix a bug whereby "state #0" is selected as the default saved state in the ↵Nebuleon Fumika
saved states menu if there were no saved states before. Electing to load #0 messed with the game; electing to save #0 erased the game-specific configuration.
2013-01-18Return to CPU level 0 after emitting sound if we're delaying for early frames.Nebuleon Fumika
2013-01-18Revert "Reinstate the interrupt time setting."Nebuleon Fumika
This reverts commit 1bc1dfc1abf71795c43fe7abb2db487a70c524b2. Conflicts: source/nds/ds2sound.h
2013-01-18Revert "Reinstate timer-interrupt audio."Nebuleon Fumika
This reverts commit 944d9a729455de435c3d200752308ceedf250196. Conflicts: source/nds/entry.cpp
2013-01-18Fix multiple compiler warnings: forward declaration, implicit declaration, ↵Nebuleon Fumika
unused variable, variable used uninitialised, unused function (when not used anywhere else with a #define).
2013-01-18Remove some unused functions. Raise the CPU frequency for sound mixing if ↵Nebuleon Fumika
auto frameskip is delaying because it's early.
2013-01-18cppcheck: [nds/gui.c:3130]: (error) Array 'tools_options[2]' index 4 out of ↵Nebuleon Fumika
bounds cppcheck: [nds/gui.c:3132]: (error) Array 'tools_options[2]' index 4 out of bounds
2013-01-18cppcheck: [nds/gui.c:3573]: (error) Possible null pointer dereference: ↵Nebuleon Fumika
current_option - otherwise it is redundant to check if current_option is null at line 3576