Commit Graph

23 Commits

Author SHA1 Message Date
Adrian Conlon
8e0092ec9d Tidy up noexcept specification 2022-01-17 19:10:15 +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
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
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
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
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
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
0ef06ebbb2 Back to looking at the failing tests now! Add failure count and disassembly of failed opcodes.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-19 13:13:59 +01:00
Adrian Conlon
bb7de9d3e1 Prefer passing byte_t by value.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-19 11:44:58 +01:00
Adrian Conlon
710c8fb883 Refactor the ram_t class to be a container of byte_t
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-19 09:28:13 +01:00
Adrian Conlon
357e51c09a Clarify some (no) exception specifications.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-18 17:19:28 +01:00
Adrian Conlon
79f3e3ac6c Refactor the code to isolate the cycles parsing. Interesting speed up!
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-18 11:54:01 +01:00
Adrian Conlon
31c3a57485 If I've bothered to try and implement the failing test, show the actual and expected events.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-11 23:56:20 +01:00
Adrian Conlon
f3f6452119 Add nlohmann json parser as an option to build.
1/2 speed, compared to boost.json

Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-11 14:59:23 +01:00
Adrian Conlon
db106b1719 Performance: speed up message handling in TestRunner.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-11 11:41:50 +01:00
Adrian Conlon
5686906583 Add nodiscard attributes, where needed
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-11 10:43:33 +01:00
Adrian Conlon
4be61a9d54 Separate concerns a little between low level classes and high level classes in terms of report generation.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-11 10:20:18 +01:00
Adrian Conlon
6a59bfbcd8 First stab at using the Harte randomised processor tests. Some failures detected in the M6502 run.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-10 21:26:30 +01:00