aboutsummaryrefslogtreecommitdiff
path: root/source/ppu.cpp
AgeCommit message (Collapse)Author
2013-01-08Permanently remove NO_OPEN_BUS hacks. It was a premature optimisation.Nebuleon Fumika
2013-01-05Sync ALL bits of the joypad again. This may make controls a bit slower to ↵Nebuleon Fumika
parse, but is required by Super Mario All-Stars at least.
2013-01-01Render double-width-res tiles from Background Mode 5 as half-width tiles. ↵Nebuleon Fumika
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...
2012-12-31ppu.cpp: Store multiplicands and quotients using aligned 16-bit writes ↵Nebuleon Fumika
(little-endian). Fold more identical case statements in the huge switch.
2012-12-31Fix PPU resets. This fixes Legend of Zelda: A Link to the Past.Nebuleon Fumika
2012-12-27Speed up rendering by an unknown amount.Nebuleon Fumika
gfx.cpp, others: Avoid always checking for Settings.SixteenBit if FOREVER_16_BIT is defined. port.h: Define FOREVER_16_BIT below PIXEL_FORMAT.
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-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-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.
2011-03-05first commitKitty Draper