Commit graph

  • 575e93abdc Reduce memory access in noise generation. Nebuleon Fumika 2013-01-11 23:21:41 -05:00
  • e0259e54c2 Prepare for audio optimisations. Fix the indentation in MixStereo(). Nebuleon Fumika 2013-01-11 21:11:12 -05:00
  • 7896e83aa9 Stop constantly testing for 16-bit and stereo in sound handlers. Define FOREVER_16_BIT_SOUND and FOREVER_STEREO and use them throughout the code. Nebuleon Fumika 2013-01-11 18:58:07 -05:00
  • 0028091d0f Fix the interrupts glitching sound. Put the sound back at 22050 Hz. Nebuleon Fumika 2013-01-11 03:31:03 -05:00
  • 3a1708474f Reinstate some delays needed by the code to avoid crashing, and actually explain in code comments why they're needed. Nebuleon Fumika 2013-01-11 03:28:59 -05:00
  • 736484548e Attempt to optimise the ADD background drawing mode so it's playable on automatic frameskip in games like Super Metroid. It doesn't work well. Nebuleon Fumika 2013-01-10 18:01:32 -05:00
  • e1ec72de10 Release 1.17. 1.17 Nebuleon Fumika 2013-01-09 04:04:49 -05:00
  • 03a0d3457b Attempt to fix the crashing with sound interrupts, part 2: Stop the timer before the menu, and restart it after it ends. Nebuleon Fumika 2013-01-09 02:41:00 -05:00
  • 3585aa1c2a Increase the audio frequency to 48 kHz. Timer interrupt intervals and buffer sizes are also tested at 32 kHz and 44.1 kHz. Nebuleon Fumika 2013-01-09 02:32:24 -05:00
  • 8872841ad1 Try fixing a crash in the sound interrupt. Nebuleon Fumika 2013-01-08 23:53:31 -05:00
  • 1896286ad5 Permanently remove NO_OPEN_BUS hacks. It was a premature optimisation. 1.16 Nebuleon Fumika 2013-01-08 16:26:43 -05:00
  • 65f1ead0e7 Revert "Reinstate FAST_ALIGNED_LSB_WORD_ACCESS for 24-bit jumps." That's in port.h now. Nebuleon Fumika 2013-01-08 16:24:57 -05:00
  • 3dd99ccae4 Reinstate FAST_ALIGNED_LSB_WORD_ACCESS for 24-bit jumps. Nebuleon Fumika 2013-01-08 16:01:22 -05:00
  • cdd85a7ce6 Reinstate SNES Open Bus. It was making Secret of Mana's introduction screen sound like a NES with a rusty audio controller. Nebuleon Fumika 2013-01-08 15:55:55 -05:00
  • 36ad810c10 Release 1.16. Nebuleon Fumika 2013-01-08 15:24:21 -05:00
  • b89385cc0a Merge branch 'master' of https://github.com/ShadauxCat/CATSFC Nebuleon Fumika 2013-01-08 15:11:30 -05:00
  • e070871850 Remove Open Bus again. Stop synchronising controls so often, now that the audio variable latency problem is fixed. Nebuleon Fumika 2013-01-08 15:10:13 -05:00
  • 4f9bd94497 Configurable interrupt interval for the sound timer. Right now, only 22050 Hz audio at 2000-microsecond intervals works. Nebuleon Fumika 2013-01-08 15:08:53 -05:00
  • 1beb671de1 Configurable interrupt interval for the sound timer. Right now, only 22050 Hz audio at 2000-microsecond intervals works. Nebuleon Fumika 2013-01-08 15:04:53 -05:00
  • 12c5afbe60 GLORIOUS interrupt-based sound playback. Now, the note-length-hopping problem isn't as apparent anymore, and automatic frame skipping doesn't go to 8 FPS all the time in Super Mario World. Thank the deities! Nebuleon Fumika 2013-01-08 03:23:55 -05:00
  • e4d3aeac2a Release 1.15. 1.15 Nebuleon Fumika 2013-01-07 21:15:43 -05:00
  • 7d57e5aa45 Require auto_equivalent_skip to be greater than 0 before decrementing it if the code is drawing a frame early in automatic frame skip mode. Otherwise, overflow occurs, and we skip 4 billion images. Nebuleon Fumika 2013-01-07 20:46:10 -05:00
  • a88b70d07c Add hard-coded speed hacks for Super Mario All-Stars & World. Nebuleon Fumika 2013-01-07 20:15:49 -05:00
  • 377c6bcadb Revert "Add a bit that tolerates 1/16 latency per frame in automatic frameskip mode." Nebuleon Fumika 2013-01-07 19:41:29 -05:00
  • 6329ef7a32 Revert "Add a bit that tolerates 1/16 latency per frame in automatic frameskip mode." Nebuleon Fumika 2013-01-07 19:40:05 -05:00
  • d9b6322caa Add a bit that tolerates 1/16 latency per frame in automatic frameskip mode. Nebuleon Fumika 2013-01-07 16:21:32 -05:00
  • 69eb5ddcba Smooth out the automatic frame skipping such that it doesn't go from 1 FPS to 8 FPS right away and constantly. The equivalent frame skip will be 2, 3, 5 or 8 most of the time, depending on the game, and will vary a bit depending on rendering demands. Nebuleon Fumika 2013-01-07 04:38:35 -05:00
  • 6681d4ade7 Fix an off-by-one in the manual frameskip code. It would raise the sound speed by 25% if frame skip 3 (Show 1 in 4) rendered a frame early. Nebuleon Fumika 2013-01-07 03:26:53 -05:00
  • c61b48ad1a Add a section about frame skipping in the readme. Nebuleon Fumika 2013-01-07 02:38:03 -05:00
  • 82ebd50e37 Add support for user-selected and automatic frame skipping. Add support for PAL timings (20 ms per frame). Nebuleon Fumika 2013-01-07 02:16:34 -05:00
  • 42c8a90d38 Add a bit that tolerates 1/16 latency per frame in automatic frameskip mode. Nebuleon Fumika 2013-01-07 16:21:32 -05:00
  • dac11c74ac Smooth out the automatic frame skipping such that it doesn't go from 1 FPS to 8 FPS right away and constantly. The equivalent frame skip will be 2, 3, 5 or 8 most of the time, depending on the game, and will vary a bit depending on rendering demands. Nebuleon Fumika 2013-01-07 04:38:35 -05:00
  • 8447b6304c Fix an off-by-one in the manual frameskip code. It would raise the sound speed by 25% if frame skip 3 (Show 1 in 4) rendered a frame early. Nebuleon Fumika 2013-01-07 03:26:53 -05:00
  • 9bdda53d2e Add a section about frame skipping in the readme. Nebuleon Fumika 2013-01-07 02:38:03 -05:00
  • c01c25febe Add support for user-selected and automatic frame skipping. Add support for PAL timings (20 ms per frame). Nebuleon Fumika 2013-01-07 02:16:34 -05:00
  • 4ea3566e3d Release 1.14+speedhack-a1. Nebuleon Fumika 2013-01-06 19:27:58 -05:00
  • efc9e624b4 Speed hacks, SNESAdvance-style. Speed hacks for 2 games are hardcoded for testing. Nebuleon Fumika 2013-01-06 19:20:30 -05:00
  • 6c5bd75716 Language file overhaul, part 2. Remove unused messages in all languages. Nebuleon Fumika 2013-01-06 03:45:11 -05:00
  • 81cf5b3cd1 Language message overhaul, part 1. Nebuleon Fumika 2013-01-06 01:07:42 -05:00
  • 6afa4a432b Release 1.14. 1.14 Nebuleon Fumika 2013-01-05 20:22:25 -05:00
  • 1c48900fda Sync ALL bits of the joypad again. This may make controls a bit slower to parse, but is required by Super Mario All-Stars at least. Nebuleon Fumika 2013-01-05 04:01:01 -05:00
  • 6df0031bdb Mess with Mode 5 some more. Secret of Mana's menu sprite is fixed; however, as of commit 3cd20e203f (still not fixed in this commit!), Donkey Kong Country's Rareware icon is split by black columns. Nebuleon Fumika 2013-01-05 02:19:00 -05:00
  • 7c1327bd24 Move all CPU cycle calculations into cpuops.cpp. Nebuleon Fumika 2013-01-04 23:12:10 -05:00
  • bfef6f17bd Move some CPU cycle calculation from address resolution to the opcodes. This is to eventually move it from the resolved-address ops as well, reducing the number of memory stores. Nebuleon Fumika 2013-01-04 15:54:12 -05:00
  • 7c2a30c5b5 Sleep when the lid is closed AND emulation is running. I don't know to what extent this will save on battery usage, though I do set the DSTWO's CPU to the lowest frequency while it sleeps. Nebuleon Fumika 2013-01-02 03:20:47 -05:00
  • 378f5a0e3f Release 1.13. 1.13 Nebuleon Fumika 2013-01-02 01:32:15 -05:00
  • ac4de708b5 Make Display Mode 4 an antialiased whole-screen mode. Nebuleon Fumika 2013-01-02 01:18:18 -05:00
  • c43b58481f Remove unused files. This reduces the plugin's size by 214 KB. Nebuleon Fumika 2013-01-01 21:31:25 -05:00
  • 3cd20e203f Render double-width-res tiles from Background Mode 5 as half-width tiles. This makes the menu text in Secret of Mana readable. Nebuleon Fumika 2013-01-01 03:53:45 -05:00
  • 73f8077a2a Release 1.12. 1.12 Nebuleon Fumika 2012-12-31 23:52:52 -05:00
  • 2572e07369 ppu.cpp: Store multiplicands and quotients using aligned 16-bit writes (little-endian). Fold more identical case statements in the huge switch. Nebuleon Fumika 2012-12-31 19:38:36 -05:00
  • 4846dfa867 Fix PPU resets. This fixes Legend of Zelda: A Link to the Past. Nebuleon Fumika 2012-12-31 19:09:18 -05:00
  • c5d385d664 MIPS requires 2-byte reads to be aligned to even addresses. #define 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. Nebuleon Fumika 2012-12-31 13:46:47 -05:00
  • 22fa90a3b3 Image modifications. Nebuleon Fumika 2012-12-30 17:00:24 -05:00
  • 2c5b72137b 'make release' is now a thing. It makes the .zip file for a release. Nebuleon Fumika 2012-12-30 16:32:30 -05:00
  • 22dbf08665 source.txt: Merged to ShadauxCat's repository. Update the source link. Nebuleon Fumika 2012-12-30 16:22:43 -05:00
  • cd108dbd18 Update list of contributors in the copyright file. Nebuleon Fumika 2012-12-30 16:21:10 -05:00
  • 2587113139 Bump to version 1.11 for another release. 1.11 Nebuleon Fumika 2012-12-30 16:12:51 -05:00
  • 1bdf314192 Return to 22050 Hz audio. 48000 Hz was just too much to handle, apparently. Nebuleon Fumika 2012-12-30 15:56:36 -05:00
  • 8956d5cff2 Clean up some backslashes at the end of lines. Nebuleon Fumika 2012-12-30 15:30:14 -05:00
  • b7867f01cc Memory access optimisations in sprite rendering. Nebuleon Fumika 2012-12-30 14:34:12 -05:00
  • d1d0c81af8 Rendering optimisations. Nebuleon Fumika 2012-12-30 00:20:45 -05:00
  • e5a0c9146a Transform macros into loops to render tiles. Nebuleon Fumika 2012-12-28 22:19:23 -05:00
  • 097d5f2e75 Revert "Test commit, look for write privilege." Nebuleon Fumika 2012-12-28 02:30:51 -05:00
  • a3fa0c23ad Test commit, look for write privilege. Nebuleon Fumika 2012-12-28 02:29:48 -05:00
  • 3fff289e60 Merge pull request #26 from Nebuleon/master Jaedyn Draper 2012-12-27 23:19:47 -08:00
  • 21c8ca9a1e Merge c01a2a4216 into 74211924af Nebuleon 2012-12-27 22:57:25 -08:00
  • c01a2a4216 Keep the audio processing unit (APU) enabled even when the user disabled the audio for a game. This allows some games that synchronise on the APU's actions to continue working. Nebuleon Fumika 2012-12-28 01:45:40 -05:00
  • 09b5fdb861 Revert "Switch to the more complete Snes9x 1.53 documentation." It doesn't match the version used in NDSSFC, and I failed to port to 1.53 anyway. Nebuleon Fumika 2012-12-27 18:51:20 -05:00
  • c8935c352c Make cleanly without -DCPU_SHUTDOWN. Nebuleon Fumika 2012-12-27 18:46:37 -05:00
  • 963c3459e5 Accidentally committed the previous revision with sound functions emptied. Nebuleon Fumika 2012-12-27 18:10:31 -05:00
  • 6b36e79013 Speed up rendering by an unknown amount. Nebuleon Fumika 2012-12-27 18:02:03 -05:00
  • 0f60f047f5 Add the update methods for the upper and lower screen into defines. Nebuleon Fumika 2012-12-26 15:40:35 -05:00
  • e5869adc44 Merge Registers structures into their respective CPUs to avoid additional memory addresses being loaded every opcode. Nebuleon Fumika 2012-12-26 14:42:02 -05:00
  • 139c793b58 Smoother sound. Raise the sound sampling frequency to 48000 Hz. Nebuleon Fumika 2012-12-25 22:44:39 -05:00
  • 9c1742f6cb Universally use update method 2 for the lower screen and 0 for the upper screen. Method 1 causes problems after about 15 minutes; despite the double-buffering, screen updates start to tear in the middle consistently. Nebuleon Fumika 2012-12-25 16:00:34 -05:00
  • 7f0e1fee81 Wait for keys to be released after the yes/no dialog for deleting saved states, instead of delaying. Nebuleon Fumika 2012-12-25 03:18:36 -05:00
  • 328b5bd6c1 Readme to version 1.10. 1.10 Nebuleon Fumika 2012-12-24 15:44:44 -05:00
  • 1fd0171c5f Bump version number to 1.10 for the APU half-carry bug and optimisations. Nebuleon Fumika 2012-12-24 04:01:50 -05:00
  • f29c76dc58 End the use of global variables for CPU emulation. This creates fewer memory store instructions in many SNES, SA1 and APU opcodes. Nebuleon Fumika 2012-12-24 03:53:20 -05:00
  • e7ce8dd66c Bump to v. 1.09. Update the readme for cheats. Update the github link in source.txt. 1.09 Nebuleon Fumika 2012-12-24 02:15:42 -05:00
  • e036c88be6 Merge branch 'optimisation' Nebuleon Fumika 2012-12-24 01:25:23 -05:00
  • b90664ac44 Merge branch 'cheats' Nebuleon Fumika 2012-12-24 01:25:08 -05:00
  • f843d68bb6 Make the GUI accept and save Snes9x's cheat file format. Improve support for saving the values present in ROM/RAM before a cheat is applied. Nebuleon Fumika 2012-12-24 01:15:41 -05:00
  • bb39cc8236 Correctly handle multi-part codes, for all cheat types (GG, PAR, GF). Nebuleon Fumika 2012-12-23 20:51:14 -05:00
  • 7a6ffe8a1e Screen tearing-related fix. Nebuleon Fumika 2012-12-23 18:03:54 -05:00
  • d1fe64aef0 Various optimisations in the CPU emulation. Nebuleon Fumika 2012-12-23 16:13:54 -05:00
  • 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.) Nebuleon Fumika 2012-12-22 22:16:55 -05:00
  • 7701191d82 Correct the font. It formerly displayed columns every 8 pixels. Nebuleon Fumika 2012-12-22 15:40:43 -05:00
  • e7f7d0282a Previous update made it impossible to press the Right and Down keys. Nebuleon Fumika 2012-12-21 14:56:23 -05:00
  • 371058df32 ppu.cpp: Sync fewer bits of the joypad. Nebuleon Fumika 2012-12-21 11:57:45 -05:00
  • 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. Nebuleon Fumika 2012-12-21 03:50:10 -05:00
  • 3972512b2a Looks like only having 'lang' crashes the options dialog. Restore the array of pointers. Nebuleon Fumika 2012-12-21 01:44:57 -05:00
  • 5585c035fb Fix an off-by-one in the previous commit's touch handling code. Nebuleon Fumika 2012-12-21 00:05:07 -05:00
  • 712c249e8c Simplify the GUI code. Nebuleon Fumika 2012-12-20 23:52:09 -05:00
  • 8a4343ff8e Bump the version number for NDSSFC. 1.08 Nebuleon Fumika 2012-12-20 19:34:51 -05:00
  • cba2a156f8 Somehow the C (language specifier) from a code block made it into the readme. Nebuleon Fumika 2012-12-20 19:08:18 -05:00
  • dfab02b913 Use Markdown-style sections. I thought == == worked... Nebuleon Fumika 2012-12-20 19:06:04 -05:00
  • 90fbc11b7a Fix the Engrish in the readme. Make it a Markdown file for Github. Nebuleon Fumika 2012-12-20 18:57:32 -05:00
  • 8085880130 Remove the SNES Open Bus behaviour by default. Also simplify translation again. Nebuleon Fumika 2012-12-20 18:10:38 -05:00