aboutsummaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2012-12-24Merge branch 'optimisation'Nebuleon Fumika
2012-12-24Merge branch 'cheats'Nebuleon Fumika
2012-12-24Make the GUI accept and save Snes9x's cheat file format. Improve support for ↵Nebuleon Fumika
saving the values present in ROM/RAM before a cheat is applied. Beautify the cheat selection menu, making it more tabular.
2012-12-23Correctly handle multi-part codes, for all cheat types (GG, PAR, GF).Nebuleon Fumika
They are currently loaded as multiple codes, however.
2012-12-23Screen tearing-related fix.Nebuleon Fumika
2012-12-23Various optimisations in the CPU emulation.Nebuleon Fumika
Run the opcode as a tail call from the address calculation. This cuts on the needed return instructions. Pass the opcode address as a parameter; this keeps it in a register most of the time and avoids memory stores.
2012-12-22Preliminary Snes9x-based cheat code support. Not tested, because the file ↵Nebuleon Fumika
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.)
2012-12-21Previous update made it impossible to press the Right and Down keys.Nebuleon Fumika
2012-12-21ppu.cpp: Sync fewer bits of the joypad.Nebuleon Fumika
2012-12-21Eliminate the latency of button press recognition, which was bad enough to ↵Nebuleon Fumika
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.
2012-12-21Looks like only having 'lang' crashes the options dialog. Restore the array ↵Nebuleon Fumika
of pointers.
2012-12-21Fix an off-by-one in the previous commit's touch handling code.Nebuleon Fumika
2012-12-20Simplify the GUI code.Nebuleon Fumika
* 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.
2012-12-20Bump the version number for NDSSFC.Nebuleon Fumika
* gui.c: #define NDSSFC_VERSION "1.08".
2012-12-20Remove the SNES Open Bus behaviour by default. Also simplify translation again.Nebuleon Fumika
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.
2012-12-19Widen the space in the font a bit to better match the Pictochat font.Nebuleon Fumika
2012-12-19Make it easier to add new translations to the menu.Nebuleon Fumika
* source/nds/gui.c: Calculate the number of options based on the array size of language_otions.
2012-12-19EN: Link the French translation to the interface. FR: Ajout de la traduction ↵Nebuleon Fumika
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.
2012-12-19Change the English labels so they're more descriptive.Nebuleon Fumika
Really set the default CPU frequency to the highest.
2012-12-19Default to Graphics Mode 3, which displays the correct SNES aspect ratio at ↵Nebuleon Fumika
the cost of some lines at the top and bottom.
2012-12-19Raise the CPU's clock speed to 396 MHz while loading ROMs.Nebuleon Fumika
Also raise the CPU's clock speed to 396 MHz by default, instead of 360 MHz, when emulating a ROM.
2012-12-19Delete offsets.cpp, which is for a standalone tool that is unrelated to the ↵Nebuleon Fumika
emulator.
2012-12-18Un-inline a bunch of stuff.Nebuleon Fumika
With the MIPS instruction cache, this means that two consecutive SNES CPU instructions using e.g. the same addressing style or the same opcode have a chance that the second one will use the first one's code and that it will be cached.
2012-12-18Sync sound.Nebuleon Fumika
In addition to having less sound skipping going on, certain platformer games (I'm looking at you, Super Mario World) are helped by having more synchronised controls. In other words, synchronising the audio also synchronises the controls a bit more.
2012-12-18Remove various explicit delays and reduce screen tearing when drawing ↵Nebuleon Fumika
emulated screens.
2012-12-17Remove more unneeded files.Nebuleon Fumika
2012-12-17Remove more build stuff.Nebuleon Fumika
2012-12-17Switch to the more complete Snes9x 1.53 documentation.Nebuleon Fumika
2011-03-06Added touchscreen support. Fixed incorrect display of language.Kitty Draper
2011-03-05Fixed looking for BAGSFC directoryKitty Draper
2011-03-05first commitKitty Draper