Commit Graph

7927 Commits

Author SHA1 Message Date
Stephen Anthony 9304f28c2c Merge branch 'master' into elf 2024-08-07 18:00:26 -02:30
Stephen Anthony 83e4413e2a Potential optimization for AudioChannel. Fix spelling mistake. 2024-08-07 17:58:12 -02:30
Stephen Anthony 9c80fc2308 Merge branch 'master' into elf 2024-08-07 12:14:59 -02:30
Stephen Anthony 637c194f80 Various fixes to latest sound code (style, clang-tidy, etc.) 2024-08-07 12:14:07 -02:30
Stephen Illingworth e8a9fe282a
Improvement to volume sampling in TIA audio (#1038)
volume of audio channels sampled every on every tick. sum of samples is
averaged and a new sample output twice per scanline

this fixes issues with ROMs that change the volume of the audio multiple
times per scanline. for example, the experimental ROM in the following
thread now works correctly

https://forums.atariage.com/topic/370460-8-bit-digital-audio-from-2600/

(note that the ROM does not initialise the machine cleanly and so running
the emulator with developer options (random memory etc.) can cause
incorrect audio)
2024-08-07 10:18:42 +02:00
Stephen Anthony 8f1f94e80a Fix narrowing issue. 2024-08-06 22:36:39 -02:30
Stephen Anthony f397dd024a Replace C-style macros with C++ inlines using reinterpret_cast. 2024-08-06 22:07:50 -02:30
Stephen Anthony 4c53cb9010 Fix C-style rand(); use our Random class instead. 2024-08-06 21:42:29 -02:30
Stephen Anthony 6614a2228a Convert C-style union and malloc/free to C++ std::variant and unique_ptr. 2024-08-06 20:28:44 -02:30
Stephen Anthony ec17cfa610 Fix warning for potential incorrect rounding.
The proper approach is std::lround, but it won't be constexpr until C++23.
2024-08-06 16:52:08 -02:30
Stephen Anthony 304988b5c4 Revert "Fix warning for rand(); NOLINT for now, as the proper fix isn't until C++23."
This reverts commit 47aabd5ef9.
2024-08-06 16:50:33 -02:30
Stephen Anthony 47aabd5ef9 Fix warning for rand(); NOLINT for now, as the proper fix isn't until C++23. 2024-08-06 16:48:59 -02:30
Stephen Anthony db92bc89fd Add `TIDY` clang-tidy script to tools. 2024-08-05 16:12:27 -02:30
Stephen Anthony 352c449940 libretro: Run clang-tidy on all files. 2024-08-03 21:15:22 -02:30
Stephen Anthony 67974a92e0 Fixes from clang-tidy for the entire codebase, including header files. 2024-08-03 20:35:45 -02:30
Stephen Anthony 6c0e6598f5 Fix Visual Studio build for json header rename. 2024-08-02 16:11:39 -02:30
Stephen Anthony a00b55dcad Rename json.hxx to json.hpp, just as it's distributed.
This has the nice side-effect of removing it from processing with clang-tidy.
2024-08-02 14:49:10 -02:30
Stephen Anthony 925c587255 Run clang-tidy on `src/debugger`. 2024-08-02 09:47:59 -02:30
Stephen Anthony 906ad17259 libretro: Add cart ELF support. 2024-08-01 17:29:14 -02:30
Stephen Anthony e31371faae Fix Windows compile error from last commit. 2024-08-01 12:36:36 -02:30
Stephen Anthony c48f03b2a1 More fixes for warnings from clang-tidy, in `src/cheat` and `src/common`. 2024-08-01 12:20:40 -02:30
Stephen Anthony 2fd4756f2d Fix potential overflow in cycle calculation. 2024-07-31 13:41:42 -02:30
Stephen Anthony 9679d63bfc Fix compile error from last commit. 2024-07-31 13:37:38 -02:30
Stephen Anthony a4b216aac1 More fixes for warnings from clang-tidy. 2024-07-31 12:45:14 -02:30
Stephen Anthony bf8648679c Merge branch 'master' into elf 2024-07-30 18:03:53 -02:30
thrust26 1a16d3633f removed interrupt handling code 2024-07-30 21:49:00 +02:00
Stephen Anthony 56e6bd69bc Use std::clamp. 2024-07-30 16:42:48 -02:30
thrust26 5d1f4a2a0e Fixed undefined order of startup vector peeks
Added ELF test ROMs
2024-07-30 20:52:04 +02:00
Stephen Anthony 08257941b8 Fix some clang-tidy warnings. 2024-07-30 14:52:21 -02:30
Stephen Anthony 3c4fc5c5c4 Add ELF files to Xcode project. 2024-07-30 14:47:40 -02:30
Christian Speckner 49b1b9f258 Timing improvements. 2024-07-30 08:22:48 +02:00
Christian Speckner 7085cea510 Improve timing emulation, bump ARM MIPS to 190 for now. 2024-07-30 01:25:03 +02:00
Christian Speckner a3899278a5 Hack around buggy ARM code that accesses low memory. 2024-07-29 23:39:39 +02:00
Christian Speckner ead6675e6d Implement init function, more vcslib -> mattress monkeys works. 2024-07-29 23:13:45 +02:00
Christian Speckner 1f0ca7539d Implement more of vcslib. 2024-07-29 22:29:45 +02:00
Christian Speckner f1031230f9 Fix memset. 2024-07-29 20:25:53 +02:00
Christian Speckner 30775ce101 Minor optimizations. 2024-07-29 19:06:33 +02:00
Christian Speckner f4b25da4cd Bus snooping. 2024-07-29 18:56:12 +02:00
Christian Speckner ba75f72826 Sync timing, limit the amount of queued transactions. 2024-07-29 18:21:37 +02:00
Christian Speckner 4bcc8056b9 Bus stuffing. 2024-07-28 14:13:49 +02:00
Christian Speckner 5e8e31b2d8 Fix memset. 2024-07-28 00:12:53 +02:00
Christian Speckner 7bc095e130 More fixes, implement more parts of vcslib. 2024-07-27 23:52:22 +02:00
Christian Speckner e0ce387c9f Assorted fixes -> ARM executes. 2024-07-27 22:48:27 +02:00
Christian Speckner a7731198e2 Hook up ARM emulation. Crashes and dies right now. 2024-07-27 21:28:13 +02:00
Christian Speckner b70cf3e1a9 Fixup thumb disassembly for debugging. 2024-07-27 21:00:32 +02:00
Christian Speckner f62936067e Another stab at windows. 2024-07-27 14:25:20 +02:00
Christian Speckner 6ceab24269 Another stab at fixing windows, set stack pointer. 2024-07-27 11:17:01 +02:00
Christian Speckner 92bd56f4ec Setup ARM for execution. 2024-07-27 10:56:40 +02:00
Christian Speckner 7d55b98f29 Attempt to fix windows build. 2024-07-27 00:52:26 +02:00
Christian Speckner bc83f56924 Complete vcslib bootstrap. 2024-07-27 00:49:28 +02:00