Age | Commit message (Collapse) | Author |
|
FOREVER_16_BIT_SOUND and FOREVER_STEREO and use them throughout the code.
This is essentially commit 6b36e79013d4c9273a96a9783a2bccdb516f174a, but for sound instead of graphics.
|
|
|
|
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 8951fdff1aada126257e07699ea6f132cb8d2e65.
|
|
|
|
before the menu, and restart it after it ends.
|
|
sizes are also tested at 32 kHz and 44.1 kHz.
|
|
|
|
|
|
Hz audio at 2000-microsecond intervals works.
|
|
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 dac11c74ac112728016e51625ac9f2a727152ddd, because that doesn't play well with interrupts.
|
|
|
|
the code is drawing a frame early in automatic frame skip mode. Otherwise, overflow occurs, and we skip 4 billion images.
|
|
frameskip mode."
This reverts commit d9b6322caafcbd355848a32acd8b8c0fa1746264.
|
|
Remove old automatic frameskip code.
|
|
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.
|
|
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.
|
|
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.
|
|
It's actually reloading icons that takes so much time.
|
|
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?).
|
|
|
|
parse, but is required by Super Mario All-Stars at least.
|
|
extent this will save on battery usage, though I do set the DSTWO's CPU to the lowest frequency while it sleeps.
|
|
|
|
* source/nds/displaymodes.cpp: Rewritten, assigned copyright to myself (GPLv2).
* CATSFC/system/language.msg: Changed the English and French text for display modes.
|
|
unicode.c, unicode.h, charsets.c, charsets.h: UTF-8 is universally used in CATSFC. Drop unused support for GBK/SJIS encodings.
|
|
|
|
|
|
|
|
audio for a game. This allows some games that synchronise on the APU's actions to continue working.
|
|
|
|
gfx.cpp, others: Avoid always checking for Settings.SixteenBit if FOREVER_16_BIT is defined.
port.h: Define FOREVER_16_BIT below PIXEL_FORMAT.
|
|
|
|
|
|
screen. Method 1 causes problems after about 15 minutes; despite the double-buffering, screen updates start to tear in the middle consistently.
|
|
states, instead of delaying.
|
|
|
|
source.txt.
|
|
|
|
saving the values present in ROM/RAM before a cheat is applied.
Beautify the cheat selection menu, making it more tabular.
|
|
They are currently loaded as multiple codes, however.
|
|
|
|
selection interface freezes when it gets to the folder containing Mightymo's cheat files, whereas it did not do this before with the converted Mightymo cheats. (335 files -> 679, though.)
|
|
lose keys entirely sometimes, and could otherwise delay a button press or release by 200 ms.
This was the entire reason I created the fork, and I finally did it! It syncs the controls every scanline of a frame, which costs about 60,000 MIPS instructions per frame to deal with. Luckily, the processor runs at 396 MHz, which means the cost of checking the controls is 1% of the CPU's power.
|
|
of pointers.
|
|
|
|
* gui.c: Simplify row and column checks when handling touch events.
* draw.c, err_msg: Use ConsoleInit instead of a custom drawstring function when an initialisation error that is NOT related to DS2 I/O occurs. This allows \r\n to work.
* gui.c, initialisation: Remove the Engrish in the "initial <subsystem name> error" messages. Make them appear in English and French. Unfortunately, the console doesn't support Chinese characters, and I don't know Chinese.
|
|
* gui.c: #define NDSSFC_VERSION "1.08".
|
|
SNES Open Bus is a quirk of the memory subsystem that allow reads of invalid addresses to return the last byte read from memory. However, it is seldom needed by a game, and it costs 1 to 3 MIPS instructions per SNES instruction to emulate.
If you need SNES Open Bus, you can remove -DNO_OPEN_BUS from the Makefile.
|
|
* source/nds/gui.c: Calculate the number of options based on the array size of language_otions.
|
|
française à l'interface.
EN:
* bdf_font.c: Add support for having a main font, [0], of more than 128 characters. Refactor character width checks into a new function, BDF_width16_ucs.
* bdf_font.h, draw.h, gui.c: Use UTF-8 for all strings to allow more translations. Use BDF_width16_ucs where possible.
FR:
* bdf_font.c: Prendre en charge une police principale, [0], de plus de 128 caractères. Diriger les vérifications de la largeur d'un caractère vers une nouvelle routine, BDF_width16_ucs.
* bdf_font.h, draw.h, gui.c: Utiliser le codage UTF-8 pour toutes les chaînes pour permettre d'autres traductions. Utiliser BDF_width16_ucs là où c'est possible.
|