Commit Graph

266 Commits

Author SHA1 Message Date
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
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
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
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
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
Adrian Conlon
bb75f98d5d Experimentation with C++17 compatibilty. Mainly an exercise in rewrting coroutine code in boost::coroutine2. Interesting! 2022-01-01 13:20:34 +00:00
Adrian Conlon
6b6ce71140 Remove unused includes 2022-01-01 11:13:28 +00:00
Adrian Conlon
d570be3f0e Prefer accessor methods, if available. 2022-01-01 11:12:51 +00:00
Adrian Conlon
6346ea9278 Switch to C++20 everywhere 2021-12-29 11:39:41 +00:00
Adrian Conlon
fa9c4ea3b3 Catch some missing [[nodiscard]] attributes. 2021-12-17 21:08:10 +00:00
Adrian Conlon
7af8a19e2f Coroutine generator becomes a part of the core EightBit library. 2021-12-17 09:19:16 +00:00
Adrian Conlon
3d5d4d889c Lots of C++20 and stability changes in 6502 HarteTest 2021-12-08 19:54:53 +00:00
Adrian Conlon
5522fde9a7 Make the flag manipulations in the 6502 implementatin a little more comprehensible 2021-12-08 19:47:35 +00:00
Adrian Conlon
61b7359505 cycles_t is better served as an array_t typedef 2021-12-08 19:43:40 +00:00
Adrian Conlon
72705e8dd0 Updated projects for VS2022 2021-12-08 19:42:34 +00:00
Adrian Conlon
8853e1157c Refactor the checking code into into it's own class.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-31 09:49:10 +00:00
Adrian Conlon
fed763a802 correct cycle inaccuracies (according to the Harteman tests) in "STA (indirect indexed Y)"
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-30 22:40:13 +01:00
Adrian Conlon
eeecb7c719 Correct BCD addition handling
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-30 21:25:56 +01:00
Adrian Conlon
04a9ffdcda Some visibility refactoring.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-28 16:56:54 +01:00
Adrian Conlon
9e9c15e289 Use C++20 co-routines as generators for opcode suite and test generation.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-27 09:53:58 +01:00
Adrian Conlon
45405d5624 Improve overall test speed by reusing test runners.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-25 18:40:21 +01:00
Adrian Conlon
75dd53f829 Const a few member variables.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-24 23:20:05 +01:00
Adrian Conlon
09cc616ee9 Whoops: revert accidental commenting of code.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-24 14:59:14 +01:00
Adrian Conlon
a37aaeba31 Unify the compilation options to what seems to be a sensible point.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-24 14:12:57 +01:00
Adrian Conlon
3158b2238a Refactor the JSON core parsing code a little
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-24 13:39:08 +01:00
Adrian Conlon
76c03bb4d4 Tidy up header usage.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-24 11:42:43 +01:00
Adrian Conlon
f8b5045f99 Use string_view from simdjson. Interesting speed up.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-24 11:15:10 +01:00
Adrian Conlon
03b536838b Some constexpr improvements in low level classes.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-24 11:12:23 +01:00
Adrian Conlon
f85fec3c81 Constify a few statements. Not much difference.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-23 17:46:59 +01:00
Adrian Conlon
17b71aafc3 Refactor to share JSON implementation details.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-22 13:10:23 +01:00
Adrian Conlon
8b7607f5e9 Make the code a little more like the JSON schema.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-22 11:24:45 +01:00
Adrian Conlon
e9df345577 More simplifications and faster yet!
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-22 10:51:36 +01:00
Adrian Conlon
e63ace34e9 Simplifications of json usage. No slow down.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-21 22:43:16 +01:00
Adrian Conlon
393fab2bbc Further simplifications and speedups to the json code.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-21 22:03:07 +01:00
Adrian Conlon
0adb60a0f4 Remove unneeded method from ram_t 2021-10-21 13:39:10 +01:00
Adrian Conlon
d59c72cf00 Make the test run output a little more comprehensible.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-21 13:38:44 +01:00
Adrian Conlon
0deb37ab19 More JSON code simplifications.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-20 23:06:42 +01:00
Adrian Conlon
c39178f9d1 Remove unnecessary json libraries from project.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-20 22:48:19 +01:00
Adrian Conlon
b70f24a581 Draw an end to my json experimentations. simdjson is king. long live simdjson!
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-20 21:44:43 +01:00
Adrian Conlon
47b7cb2a06 Add some more experimental json access modes.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-20 21:05:43 +01:00