Age | Commit message (Collapse) | Author |
|
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.
|
|
as of commit 3cd20e203f3b0af8c32921f86547a126d74b34eb (still not fixed in this commit!), Donkey Kong Country's Rareware icon is split by black columns.
|
|
|
|
is to eventually move it from the resolved-address ops as well, reducing the number of memory stores.
|
|
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.
|
|
This makes the menu text in Secret of Mana readable.
Sprites in Background Mode 5 are still messed up. At least they're at the right X coordinate, roughly...
|
|
|
|
(little-endian). Fold more identical case statements in the huge switch.
|
|
|
|
FAST_ALIGNED_LSB_WORD_ACCESS and use it to read absolute 24-bit addresses as either 1 byte & 1 halfword, or 1 halfword & 1 byte.
|
|
CATSFC/system/gui/boot.bmp: Remove the Engrish, although it was funny ("Enjoy yourself! All pleasure in it"). Replace it with a controller and the text "Loading...".
catsfc.bmp: Remove the CAT and replace it with a controller. In the .ini, it's already written as CATSFC anyway.
copyright: Update with image attribution per CC-BY-NC-ND 3.0.
source/images: Create, with .psd files for the two modified .bmp files.
|
|
|
|
|
|
|
|
|
|
tile.cpp: Optimise the common case of drawing an unclipped but possibly flipped 8x8 tile. Instead of calling WRITE_4PIXELS16 16 times, each performing setup and teardown, move the loop into DrawTile16.
tile.h, tile.cpp, gfx.h, gfx.cpp: End the use of global variable GFX.ScreenColors to pass around the current frame's palette. This saves on memory stores/loads.
|
|
At -O3 these get unrolled; at -Os they become shorter code, fitting into the cache with other code.
|
|
audio for a game. This allows some games that synchronise on the APU's actions to continue working.
|
|
match the version used in NDSSFC, and I failed to port to 1.53 anyway.
This reverts commit 2b23b5cbaf15bccc2aae0ff3ee91cedd26f101bd.
|
|
|
|
|
|
gfx.cpp, others: Avoid always checking for Settings.SixteenBit if FOREVER_16_BIT is defined.
port.h: Define FOREVER_16_BIT below PIXEL_FORMAT.
|
|
|
|
memory addresses being loaded every opcode.
|
|
|
|
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.
|
|
|
|
store instructions in many SNES, SA1 and APU opcodes.
Fix the APU half-carry bug, which may be audible.
globals.cpp: Get rid of A1, A2, A3, A4, W1, W2, W3, W4, Int8, Int16, Int32, Work8, Work16, Work32, Ans8, Ans16, Ans32.
|
|
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.
|
|
|
|
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.
|
|
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.
|