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
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
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
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
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
36ad810c10
Release 1.16.
2013-01-08 15:24:21 -05:00
Nebuleon Fumika
4f9bd94497
Configurable interrupt interval for the sound timer. Right now, only 22050 Hz audio at 2000-microsecond intervals works.
2013-01-08 15:08:53 -05:00
Nebuleon Fumika
12c5afbe60
GLORIOUS interrupt-based sound playback. Now, the note-length-hopping problem isn't as apparent anymore, and automatic frame skipping doesn't go to 8 FPS all the time in Super Mario World. Thank the deities!
...
Reverses the auto frameskip synchronisation from commit dac11c74ac
, because that doesn't play well with interrupts.
2013-01-08 03:23:55 -05:00
Nebuleon Fumika
e4d3aeac2a
Release 1.15.
2013-01-07 21:15:43 -05:00
Nebuleon Fumika
7d57e5aa45
Require auto_equivalent_skip to be greater than 0 before decrementing it if the code is drawing a frame early in automatic frame skip mode. Otherwise, overflow occurs, and we skip 4 billion images.
2013-01-07 20:46:10 -05:00
Nebuleon Fumika
377c6bcadb
Revert "Add a bit that tolerates 1/16 latency per frame in automatic frameskip mode."
...
This reverts commit d9b6322caa
.
2013-01-07 19:41:29 -05:00
Nebuleon Fumika
42c8a90d38
Add a bit that tolerates 1/16 latency per frame in automatic frameskip mode.
...
Remove old automatic frameskip code.
2013-01-07 16:21:32 -05:00
Nebuleon Fumika
dac11c74ac
Smooth out the automatic frame skipping such that it doesn't go from 1 FPS to 8 FPS right away and constantly. The equivalent frame skip will be 2, 3, 5 or 8 most of the time, depending on the game, and will vary a bit depending on rendering demands.
...
For example, the frame skipping in Super Mario World is 3 on the map and in graphically simple levels, and 5 in complex levels.
2013-01-07 04:38:35 -05:00
Nebuleon Fumika
8447b6304c
Fix an off-by-one in the manual frameskip code. It would raise the sound speed by 25% if frame skip 3 (Show 1 in 4) rendered a frame early.
...
Optimise the controller code. I don't expect to allow remapping any time soon, because the DS has buttons for every single SNES controller button and nothing more.
2013-01-07 03:28:22 -05:00
Nebuleon Fumika
c01c25febe
Add support for user-selected and automatic frame skipping. Add support for PAL timings (20 ms per frame).
...
User-selected frameskip causes slowdowns if the game runs slower than the resulting frame rate, but synchronises correctly if the game runs faster.
Automatic frame skipping is still the default. It now only skips up to 8 frames, but in some games still skips that entire 8 frames. What's needed is an algorithm that averages frame latencies over a few seconds and skips while the latency is LOWER than the average.
2013-01-07 02:16:34 -05:00
Nebuleon Fumika
6c5bd75716
Language file overhaul, part 2. Remove unused messages in all languages.
...
It's actually reloading icons that takes so much time.
2013-01-06 03:45:11 -05:00
Nebuleon Fumika
81cf5b3cd1
Language message overhaul, part 1.
...
Clean up the names of messages. Mark those that are unused as such in code comments. Raise the CPU level while loading a message file, because it really does take half a second to load a 16 KB file on the lowest frequency (what the eff?).
2013-01-06 01:07:42 -05:00
Nebuleon Fumika
6afa4a432b
Release 1.14.
2013-01-05 20:22:25 -05:00
Nebuleon Fumika
1c48900fda
Sync ALL bits of the joypad again. This may make controls a bit slower to parse, but is required by Super Mario All-Stars at least.
2013-01-05 04:01:01 -05:00
Nebuleon Fumika
7c2a30c5b5
Sleep when the lid is closed AND emulation is running. I don't know to what extent this will save on battery usage, though I do set the DSTWO's CPU to the lowest frequency while it sleeps.
2013-01-02 03:20:47 -05:00
Nebuleon Fumika
378f5a0e3f
Release 1.13.
2013-01-02 01:43:11 -05:00
Nebuleon Fumika
ac4de708b5
Make Display Mode 4 an antialiased whole-screen mode.
...
* source/nds/displaymodes.cpp: Rewritten, assigned copyright to myself (GPLv2).
* CATSFC/system/language.msg: Changed the English and French text for display modes.
2013-01-02 01:18:18 -05:00
Nebuleon Fumika
c43b58481f
Remove unused files. This reduces the plugin's size by 214 KB.
...
unicode.c, unicode.h, charsets.c, charsets.h: UTF-8 is universally used in CATSFC. Drop unused support for GBK/SJIS encodings.
2013-01-01 21:31:25 -05:00
Nebuleon Fumika
73f8077a2a
Release 1.12.
2012-12-31 23:52:52 -05:00
Nebuleon Fumika
2587113139
Bump to version 1.11 for another release.
2012-12-30 16:12:51 -05:00
Nebuleon Fumika
1bdf314192
Return to 22050 Hz audio. 48000 Hz was just too much to handle, apparently.
2012-12-30 15:56:36 -05:00
Nebuleon Fumika
c01a2a4216
Keep the audio processing unit (APU) enabled even when the user disabled the audio for a game. This allows some games that synchronise on the APU's actions to continue working.
2012-12-28 01:45:40 -05:00
Nebuleon Fumika
963c3459e5
Accidentally committed the previous revision with sound functions emptied.
2012-12-27 18:10:31 -05:00
Nebuleon Fumika
6b36e79013
Speed up rendering by an unknown amount.
...
gfx.cpp, others: Avoid always checking for Settings.SixteenBit if FOREVER_16_BIT is defined.
port.h: Define FOREVER_16_BIT below PIXEL_FORMAT.
2012-12-27 18:02:03 -05:00
Nebuleon Fumika
0f60f047f5
Add the update methods for the upper and lower screen into defines.
2012-12-26 15:40:35 -05:00