Commit Graph

968 Commits

Author SHA1 Message Date
Adrian Conlon
f3c694303d Low level processor simplifications. 2024-03-01 20:06:39 +00:00
Adrian Conlon
4e536ee7ed Try and sort out problematic "noexcept" specifications (mainly due to events) 2024-01-13 10:24:21 +00:00
Adrian Conlon
63e958e069 Make disassembly available from the checking code. 2024-01-11 09:17:59 +00:00
Adrian Conlon
6d7fc70810 Signals can throw exceptions. 2024-01-11 09:16:40 +00:00
Adrian Conlon
ad45dadb0b Sort out a couple of irritating warnings. 2024-01-11 09:15:52 +00:00
Adrian Conlon
81f5efb49a Tidy JSON parsing in HarteTests 2024-01-10 14:41:37 +00:00
Adrian Conlon
0a9a1e5d4c Complete all the undocumente M6502 features. Hurrah! 2024-01-07 16:20:58 +00:00
Adrian Conlon
72be3238f2 Undocumented M6502 instruction implemented 2024-01-07 15:52:16 +00:00
Adrian Conlon
86ef340650 Tidy arithmetic overflow handling in M6502 core 2024-01-07 14:35:12 +00:00
Adrian Conlon
4f4bc5355d Simplification of M6502 flag set/reset code 2024-01-07 14:04:41 +00:00
Adrian Conlon
7eca073a6e Make explicit swallow operations. 2024-01-07 12:15:11 +00:00
Adrian Conlon
22f337569d Looks like the stray tick in the 6502 step method wasn't stray after all! 2024-01-07 11:37:28 +00:00
Adrian Conlon
70c316fd4f Add support for the M6502 undocumented instruction *ANE 2024-01-06 23:10:53 +00:00
Adrian Conlon
3ebc321c59 Add an implementation of the *JAM instruction that passes HarteTest 2024-01-06 22:44:59 +00:00
Adrian Conlon
617abbb450 Couple of small C++ correctness changes 2024-01-06 22:05:29 +00:00
Adrian Conlon
69a845e2f4 How did that "secret" tick in the M6502 implementation get there??? 2024-01-06 20:53:50 +00:00
Adrian Conlon
9334f6ee93 Fix the ATX implementation in the M6502 core 2024-01-06 13:10:51 +00:00
Adrian Conlon
bd289ed8fb Add a working M6502 ARR implementation 2024-01-06 12:19:02 +00:00
Adrian Conlon
bc37fd4e30 Better information in the event of failing tests 2024-01-06 12:17:45 +00:00
Adrian Conlon
48369f0e98 Remove warning about temporary values being used 2024-01-06 12:17:15 +00:00
Adrian Conlon
349bada9cc Add undocumented instructions SYA and SXA to M6502 implementation 2024-01-06 09:52:17 +00:00
Adrian Conlon
c15f7f836e Start testing undocumented instructions 2024-01-05 12:58:32 +00:00
Adrian Conlon
5d24a136a2 Correct loads of undocumented M6502 instructions 2024-01-05 12:52:27 +00:00
Adrian Conlon
72e548ae13 Use simpler simdjson access methods 2024-01-01 23:25:32 +00:00
Adrian Conlon
d0f445b9f9 Update simdjson for M6502 tests 2024-01-01 22:35:38 +00:00
Adrian Conlon
93088b355c M6502: Unify accumulator write page boundary fixup code 2023-12-31 14:58:15 +00:00
Adrian Conlon
e4fbeebfa7 Correct problem in page boundary condition for M6502. 2023-12-31 14:32:16 +00:00
Adrian Conlon
84a2d0f952 Whoops: failed to check cycle problems in M6502 tests 2023-12-31 14:21:17 +00:00
Adrian Conlon
42afeb342f Merge branch 'master' of https://github.com/MoleskiCoder/EightBit 2023-05-17 12:48:20 +01:00
Adrian Conlon
fd36555585 Couple of small reference changes 2023-05-17 12:47:57 +01:00
Adrian Conlon
14af272d75 Update simdjson 2023-04-01 07:52:02 +01:00
Adrian Conlon
b883cfb673 Remove ProcessorTests (temporarily!)
Signed-off-by: Adrian Conlon <98398945+AdrianConlon@users.noreply.github.com>
2022-07-15 16:17:10 +01:00
Adrian Conlon
dc7b47a221 Update catch2 library
Signed-off-by: Adrian Conlon <98398945+AdrianConlon@users.noreply.github.com>
2022-07-15 16:11:23 +01:00
Adrian Conlon
0ca0e1da36 Optimisation: the NOP is meaningless
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2022-07-13 07:44:47 +01:00
Adrian Conlon
9e2c3e32b1 Fully switch to C++20 2022-07-01 09:30:38 +01:00
Adrian Conlon
4c65c22a85 Use latest SIMDJson library 2022-07-01 09:26:46 +01:00
Adrian Conlon
dcac185049 Reuse device match 2022-07-01 09:11:28 +01:00
Adrian Conlon
9a5f9ccd1a Tidy up some exception specifications. 2022-03-26 16:06:29 +00:00
Adrian Conlon
1a5df4c8a7 More "noexcept" specifiers added to M6502 class 2022-01-24 23:00:25 +00:00
Adrian Conlon
1796d62517 std::string_view rather than std::string reads a bit better for this use. 2022-01-21 22:49:22 +00:00
Adrian Conlon
8e0092ec9d Tidy up noexcept specification 2022-01-17 19:10:15 +00:00
Adrian Conlon
83b7efdd03 Use iterator, rather than index access for JSON data, if possible. Bit of a speed up! 2022-01-06 09:50:58 +00:00
Adrian Conlon
70a785b5c2 Try to remove some casting warnings by redefining ROM size types. 2022-01-03 12:29:32 +00:00
Adrian Conlon
53ef92dbc4 So I can compare implementations, add a non-coroutine variant of the HarteTest suite. 2022-01-03 00:50:41 +00:00
Adrian Conlon
3ca84b516a Switch to latest stable release of catch2 (2.13.7)
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2022-01-03 00:41:42 +00:00
Adrian Conlon
c5ea0c2c21 Refactor co_generator_t into something a little more comprehensible to me. 2022-01-02 17:32:05 +00:00
Adrian Conlon
42e72ce077 Spaceship operator didn't work as a I wanted it, so I've gone old school again until I can work out why the "==" operator couldn't be found. 2022-01-02 12:29:39 +00:00
Adrian Conlon
bde2900017 Add missing register16_t operator (>) 2022-01-01 23:01:59 +00:00
Adrian Conlon
4efa66c44e Remind MSVC++ of its responsibilities as to properly define "__cplusplus" 2022-01-01 15:13:16 +00:00
Adrian Conlon
42e45ccdef Upgrade to boost 1.78, due to coroutine2 incompatibilities. 2022-01-01 13:30:41 +00:00