aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
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-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-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-20Add back the -mlong-calls optimisation. It shortens the plugin's code a bit.Nebuleon Fumika
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-17Remove more unneeded files.Nebuleon Fumika
2012-12-17Makefile overhaul.Nebuleon Fumika
2012-12-17Optimise for size. Allow the build process to use multiple CPU cores with ↵Nebuleon Fumika
make -jN.
2011-03-05first commitKitty Draper