aboutsummaryrefslogtreecommitdiff
path: root/source/nds
AgeCommit message (Collapse)Author
2013-02-06Load the game from plug-in launch arguments. Make the CATSFC system ↵BassAceGold
directory become the one transferred via arguments in that case.
2013-02-06Document the auto CPU behavior a bit.Nebuleon Fumika
2013-02-06Implement automatic CPU frequency switching, which improves battery life if ↵Nebuleon Fumika
playing games that don't use all of the MIPS CPU. If all of it is indeed needed, then the game will constantly play at 396 MHz.
2013-02-05Force both manual and automatic frameskipping to be at or above 2. Resets ↵Nebuleon Fumika
the default value for all games which previously had this value configured.
2013-02-05Disable the free space line in the options for the time being. Currently it ↵Nebuleon Fumika
invokes a recursive directory scan to calculate how much space is used first.
2013-02-05Change the upper screen updates to be double-buffered. Require that one ↵Nebuleon Fumika
audio buffer be free (1 out of 4).
2013-02-04Fully integrate BassAceGold's libraries, finally. The README still states ↵Nebuleon Fumika
that 1.2 is required to overwrite 0.13's stuff; really, 0.13 is needed only for `gcc`. So the sequence goes 0.13's `gcc` -> 1.2 -> BassAceGold's libraries -> make `libds2a.a`. DMA function names changed to match BassAceGold's.
2013-02-04Release 1.28 after disabling the controller status sync hack.Nebuleon Fumika
2013-02-03Release 1.27.Nebuleon Fumika
2013-02-03Synchronise the controller status more spread out inside a rendered frame:Nebuleon Fumika
* before rendering a background; * before rendering sprites; * while rendering more than 128 samples of audio at once ("Prefer fluid video"); * after every 16 scanlines of CPU execution instead of every 1; * while waiting for an audio buffer to become available; * while killing time between frames with fast-forward disabled. Controller presses and releases are now combined in a DS button bitfield using a shorter 32-bit algorithm. See entry.cpp:NDSSFCAccumulateJoypad and #define ACCUMULATE_JOYPAD in the source. This is still not suitable for playing platformers frame-perfectly, but it's much better than half a second of latency to press or release a button, and one still needs to press buttons a bit more than just light taps. I'd say 50 milliseconds is the latency now. Platformers requiring more precision can be played with frameskip 0. DMA does not require double-buffered displaying, so synchronise the controller more often by disabling double-buffered displaying again.
2013-02-03Faking out the sound synchronisation with a buffer of silence wasn't necessary.Nebuleon Fumika
2013-02-03Write back the data cache before using DMA to draw emulated frames.Nebuleon Fumika
2013-02-03Add some forgotten DMA files.Nebuleon Fumika
2013-02-03Force waiting for a screen to be transferred (update mode 1) because ↵Nebuleon Fumika
otherwise the next screen can go into DMA. Use channel 1 instead of channel 5, which must be busy for some reason.
2013-02-03Fix a name clash between Snes9x's dma.h and the DS2 dma.h by renaming the ↵Nebuleon Fumika
DS2 dma.h to ds2_dma.h. Add preliminary support for drawing emulated screens with DS2 DMA.
2013-02-03Whoops. I forgot to replace an instance of ds2_setCPULevel from the ↵Nebuleon Fumika
experimental branch cherry-pick.
2013-02-03Make it easier to change the "high" and "low" CPU frequencies, as well as to ↵Nebuleon Fumika
switch to the user's chosen frequency for the game. Conflicts: source/nds/ds2_main.c source/nds/entry.cpp source/nds/gui.c
2013-02-02Fix an oddity in the sound when returning from a global mute. Fixes music ↵Nebuleon Fumika
loading in Super Mario World.
2013-02-02Release 1.26.Nebuleon Fumika
2013-02-02Correct overzealous detection of buffer overruns. It was making the sound ↵Nebuleon Fumika
crackle constantly, like a record player. Most audible with earphones.
2013-02-01Release 1.25.Nebuleon Fumika
2013-02-01Add an option that controls which element should be more fluid, per game: ↵Nebuleon Fumika
video or audio. This makes most games playable, but the player can choose to get fluid audio instead of fluid video in sound-test modes or games with epic soundtracks.
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-01When starting CATSFC, assume the backlights are both on, so don't delay 100 ↵Nebuleon Fumika
milliseconds and set both backlights to on.
2013-01-29Prevent a file descriptor becoming unusable if the emulator configuration ↵Nebuleon Fumika
file is not in the correct format.
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-26Release 1.24.Nebuleon Fumika
2013-01-26Fix Tools/Global hotkeys/* refusing to work by touch.Nebuleon Fumika
2013-01-22Release 1.23.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