aboutsummaryrefslogtreecommitdiff
path: root/source/nds
AgeCommit message (Collapse)Author
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
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-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