Commit Graph

5774 Commits

Author SHA1 Message Date
Christian Speckner 36ebe43f16 Start work on ELF debug widget. 2024-08-20 18:49:47 +02:00
Stephen Anthony d64ff2e5b7 Fix potential data loss in state save file. 2024-08-16 12:56:36 -02:30
Stephen Anthony b74c66a82e Fixes for minor clang-tidy warnings. 2024-08-14 18:42:37 -02:30
Christian Speckner aee8a3e345 State loads. 2024-08-14 22:25:26 +02:00
Christian Speckner daf83faff3 Refactoring, include "rom image" in save. 2024-08-14 21:21:37 +02:00
thrust26 64705f658f updated doc for short late HMOVEs 2024-08-14 12:44:01 +02:00
Christian Speckner fcc05a84fc State saves. 2024-08-13 23:15:00 +02:00
thrust26 f92d2fc6df enhanced UI and settings for TIA glitch "short late HMOVEs" 2024-08-13 14:54:03 +02:00
thrust26 d6e7ed151b removed warning 2024-08-13 13:57:48 +02:00
Christian Speckner 7be8c8f327 Gobble movement pulse on clock 0. 2024-08-13 13:13:28 +02:00
Christian Speckner 7faa9c71b9 Sync time on bus snoops. 2024-08-12 21:53:34 +02:00
Christian Speckner e672bb1f98 Force inline read methods, tread big endian the same way. 2024-08-12 21:37:38 +02:00
thrust26 691543a319 added ELF speed constants everywhere 2024-08-11 20:00:46 +02:00
thrust26 a5757a1562 Merge branch 'master' of https://github.com/stella-emu/stella 2024-08-11 19:48:23 +02:00
thrust26 cdb3ef82ce added reload requirement text for ELF ROMs 2024-08-11 19:48:03 +02:00
Stephen Anthony d6fadd04d2 Minor style/formatting fixes. 2024-08-11 14:25:39 -02:30
Christian Speckner 90da70a572 Move debug dump to CLI option, don't dump by default. 2024-08-11 15:59:13 +02:00
Christian Speckner 76a9d84fcf Remove debug code. 2024-08-11 15:46:22 +02:00
Christian Speckner 8a3cf489ec Add R_ARM_REL32 . 2024-08-11 15:40:55 +02:00
Christian Speckner 91044b3b4f Fix and hook up speed setting. 2024-08-11 15:21:47 +02:00
Christian Speckner 22af25e77c Implement "strict mode". 2024-08-11 14:54:02 +02:00
thrust26 0567eb18b0 fixed reordering bug 2024-08-11 12:50:10 +02:00
Christian Speckner e7c72a3532 Fix race condition with use-after-free in TimerManager. 2024-08-11 11:31:43 +02:00
Christian Speckner 93fd9a2e2b Fix use-after-free on the audio thread when Console is destroyed. 2024-08-11 11:26:58 +02:00
Christian Speckner 647263aed7 Throw on invalid relocation type. 2024-08-11 11:26:58 +02:00
thrust26 2a0fd0feb5 ELF correctly sorted in display list 2024-08-11 09:22:45 +02:00
thrust26 ab5ca2db8f replaced "cycles" with "MIPS" in DeveloperDialog 2024-08-11 08:33:25 +02:00
Christian Speckner 8e9149a233 Remove unnecessary check. 2024-08-10 23:49:31 +02:00
thrust26 d4bfa9ac3a Merge branch 'master' of https://github.com/stella-emu/stella 2024-08-10 15:52:55 +02:00
thrust26 a222da34ea Added new and changed existing ARM developer options
TODO: doc
2024-08-10 15:50:15 +02:00
Christian Speckner a515988b0a Set ELF system type and palette according to game props. 2024-08-10 12:35:52 +02:00
Christian Speckner b45eb6247d Trap if add would switch instruction set. 2024-08-10 09:29:23 +02:00
Christian Speckner e7de075b20 Implement most of vcslib. 2024-08-08 22:45:46 +02:00
Christian Speckner 948ad8d67e Silence warnings. 2024-08-08 21:57:14 +02:00
Christian Speckner 65bc5270b0 Work around clang idiosyncrasies. 2024-08-08 21:43:00 +02:00
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
Christian Speckner 54e65a9c03 Refactoring. 2024-07-27 00:05:48 +02:00
Stephen Anthony 239c307f91 Fix missing file in Xcode project. 2024-07-26 14:28:24 -02:30
Christian Speckner 5a3ec4a8bc Stub vcslib. 2024-07-25 23:10:05 +02:00
Christian Speckner 9e1c416f5d Fix data segment mapping. 2024-07-24 23:26:56 +02:00
Christian Speckner 87f5c91c8f Start hooking up ARM: memory map. 2024-07-24 23:17:17 +02:00
Christian Speckner cbe3fb3308 Seems addend is calculated differently. 2024-07-23 23:10:28 +02:00
Christian Speckner 33a83c42a4 Write out elf image for debugging. 2024-07-23 22:28:34 +02:00
Christian Speckner a3cd0625c5 Finish (untested) cortex M0. 2024-07-23 22:00:17 +02:00
Stephen Anthony 48728e532e Fix Xcode build issues. 2024-07-23 12:50:46 -02:30
Christian Speckner 061b0124a4 Start to adapt thumbulator. 2024-07-21 22:23:26 +02:00
Christian Speckner 1e4ab23283 Finalize linker tests. 2024-07-18 22:39:07 +02:00
Christian Speckner 367bdeb56f More relocation tests. 2024-07-15 22:50:23 +02:00
Christian Speckner d68850d466 Tests for jump / call relocation. 2024-07-15 22:27:30 +02:00
Stephen Anthony 1e964828b4 Fix some warnings/suggestions from clang-tidy.
@DirtyHairy, hope you don't mind.
2024-07-15 13:21:26 -02:30
Christian Speckner 3f5c331024 More tests. 2024-07-14 20:28:40 +02:00