Commit Graph

34 Commits

Author SHA1 Message Date
Adrian Conlon a99bdb4e1e Point to new HarteTests for 6502 2024-05-19 09:49:39 +01:00
Adrian Conlon 81aecef48b Some performance updates for the M6502 test code. 2024-03-15 13:16:25 +00:00
Adrian Conlon bc37fd4e30 Better information in the event of failing tests 2024-01-06 12:17:45 +00:00
Adrian Conlon c15f7f836e Start testing undocumented instructions 2024-01-05 12:58:32 +00:00
Adrian Conlon 9e2c3e32b1 Fully switch to C++20 2022-07-01 09:30:38 +01: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 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 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 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 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 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 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 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 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 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 91bd04a278 Add support for rapidjson parsing
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-19 00:39:26 +01:00
Adrian Conlon dc0fc262a2 More micro-optimisations. 2021-10-18 20:40:13 +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 50cea1b81a Some JSON C++ library example code "levelling"
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-17 18:36:27 +01:00
Adrian Conlon 500e65b895 Tidy up the code a little (including removing some no longer needed code).
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-13 23:33:08 +01:00
Adrian Conlon 4892ea95d3 Split load/parse of opcode tests.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-12 17:07:45 +01:00
Adrian Conlon dcba8efc83 All experimentation on the effect of JSON parser reuser.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-12 10:10:45 +01:00
Adrian Conlon 91221aa975 Try simdjson: bloody hell, that's fast!!
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-11 22:09:03 +01:00
Adrian Conlon b5074ac48c Create an overtly performance checking build.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-11 19:52:22 +01:00
Adrian Conlon 7a7b0046cd Add an implementation that uses JsonCpp (pretty slow!)
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-11 19:13:05 +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 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