Commit graph

21 commits

Author SHA1 Message Date
Nebuleon Fumika
65f1ead0e7 Revert "Reinstate FAST_ALIGNED_LSB_WORD_ACCESS for 24-bit jumps." That's in port.h now.
This reverts commit 3dd99ccae4.
2013-01-08 16:24:57 -05:00
Nebuleon Fumika
3dd99ccae4 Reinstate FAST_ALIGNED_LSB_WORD_ACCESS for 24-bit jumps. 2013-01-08 16:01:22 -05:00
Nebuleon Fumika
cdd85a7ce6 Reinstate SNES Open Bus. It was making Secret of Mana's introduction screen sound like a NES with a rusty audio controller. 2013-01-08 15:55:55 -05:00
Nebuleon Fumika
e070871850 Remove Open Bus again. Stop synchronising controls so often, now that the audio variable latency problem is fixed. 2013-01-08 15:10:13 -05:00
Nebuleon Fumika
378f5a0e3f Release 1.13. 2013-01-02 01:43:11 -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
2c5b72137b 'make release' is now a thing. It makes the .zip file for a release. 2012-12-30 16:32:30 -05:00
Nebuleon Fumika
e036c88be6 Merge branch 'optimisation' 2012-12-24 01:25:23 -05:00
Nebuleon Fumika
d1fe64aef0 Various optimisations in the CPU emulation.
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-23 16:13:54 -05:00
Nebuleon Fumika
a194b85003 Preliminary Snes9x-based cheat code support. Not tested, because the file 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-22 22:16:55 -05:00
Nebuleon Fumika
a0d0c5e7a5 Eliminate the latency of button press recognition, which was bad enough to 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-21 03:50:10 -05:00
Nebuleon Fumika
8085880130 Remove the SNES Open Bus behaviour by default. Also simplify translation again.
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-20 18:14:24 -05:00
Nebuleon Fumika
83426640a6 Add back the -mlong-calls optimisation. It shortens the plugin's code a bit. 2012-12-20 02:01:07 -05:00
Nebuleon Fumika
65b56543ab Raise the CPU's clock speed to 396 MHz while loading ROMs.
Also raise the CPU's clock speed to 396 MHz by default, instead of 360 MHz, when emulating a ROM.
2012-12-19 01:30:30 -05:00
Nebuleon Fumika
6bab708c22 Delete offsets.cpp, which is for a standalone tool that is unrelated to the emulator. 2012-12-19 00:28:32 -05:00
Nebuleon Fumika
e708c127fa Un-inline a bunch of stuff.
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-18 22:53:49 -05:00
Nebuleon Fumika
b935574e53 Remove more unneeded files. 2012-12-17 22:42:09 -05:00
Nebuleon Fumika
3b2e1bcf79 Makefile overhaul. 2012-12-17 22:30:29 -05:00
Nebuleon Fumika
43bcd26dca Optimise for size. Allow the build process to use multiple CPU cores with make -jN. 2012-12-17 19:55:41 -05:00
Kitty Draper
d40ae99422 first commit 2011-03-05 21:39:25 -05:00