Commit Graph

852 Commits

Author SHA1 Message Date
Adrian Conlon
dc0fc262a2 More micro-optimisations. 2021-10-18 20:40: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
f62e8c30a2 Remove some unneeded default constructors.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-18 13:22:06 +01:00
Adrian Conlon
b56a2450a1 Couple of blank lines removed.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-18 13:13:43 +01:00
Adrian Conlon
1234aaf9d9 Refactor RAM test values.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-18 13:12:22 +01:00
Adrian Conlon
9cd317624e Couple of extra safety checks.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-18 12:28:15 +01:00
Adrian Conlon
fa50f74508 Tidy the previous cycle parsing refactor and reset to a simdjson pukka run.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-18 12:07:24 +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
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
77a2c08c20 Remove some build warnings.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-11 23:23:59 +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
59d1e2789e Whoops: missed reference to RapidJson
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-11 19:39:37 +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
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
760f5d5aec Correct filler memoryRead accesses to use PC() rather than the last location read.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-10 21:35:26 +01:00
Adrian Conlon
359294b6d1 Whoops: missed new solution for the HarteTests wrapper.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-10 21:26:57 +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
Adrian Conlon
6c3ef821bf Update for latest boost v1.77
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-10 21:25:21 +01:00
Adrian Conlon
80facdea28 ProcessorTests submodule
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-10 21:25:06 +01:00
Adrian Conlon
01e61108c8 Add Harte processor tests as a submodule.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-10-10 21:24:20 +01:00
Adrian Conlon
b4e2e628d0 Update boost to v1.77
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-09-23 08:52:40 +01:00
Adrian Conlon
6ffd8e5d0a Make the Rom class a little easier to use by allowing it to be copied around.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-08-23 09:45:40 +01:00
Adrian Conlon
6bf28f1480 Correct some virtual and constexpr expressions.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-08-23 09:44:48 +01:00
Adrian Conlon
bf1c7d0e37 Add a "flip" method to device to allow tone sequence generation.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-08-23 09:40:54 +01:00
Adrian Conlon
9ea21e786f
Create codeql-analysis.yml 2021-08-02 10:48:57 +01:00
Adrian Conlon
22506ea56c Extensive change warning: lots of "noexcept" and "constexpr" changes. Not sure if I'll keep all of them, but interesting...
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-07-18 14:28:40 +01:00
Adrian Conlon
2f76e901f9 More tidying of include files for VS2019 compatibility (plus more correct!)
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-05-29 12:18:13 +01:00
Adrian Conlon
502c554e84 Merge branch 'master' of https://github.com/MoleskiCoder/EightBit into master 2021-05-29 10:31:47 +01:00
Adrian Conlon
d199adb027 Tidy EightBit library header usage (avoids compilation error with latest VS2019, "Memory.h")
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-05-29 10:31:32 +01:00
Adrian Conlon
cab29e3ce4 Tidy some code formatting. No functional changes. 2021-04-07 21:37:30 +01:00
Adrian Conlon
2992a0e78a Event fire: use default arguments, where possible.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-04-07 21:36:53 +01:00
Adrian Conlon
2fa9ffd1e3 Tidy up some C++ a little
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-04-07 21:36:09 +01:00
Adrian Conlon
79adce86bd Add 6809 profiling 2021-04-07 21:35:33 +01:00
Adrian Conlon
b1ca06447f Ensure 6502 uses memory rather than bus read/write mechanism
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-03-08 16:44:09 +00:00
Adrian Conlon
4dd3106af0 Tidy up some C++ issues in GameBoy emulator
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-03-08 16:42:01 +00:00
Adrian Conlon
4d2d1d214a Tidy up some C++ code (concentrating on the Z80 at the moment).
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-01-09 08:41:48 +00:00
Adrian Conlon
26cc613c66 Add a slightly simplified variant on signal firing.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-01-08 09:06:46 +00:00
Adrian Conlon
6261807344 More C++17 tidying up. Should be no user visible changes.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-01-06 15:30:26 +00:00
Adrian Conlon
b4f8c81a94 Use nodiscard, where appropriate and try not to inline virtual methods.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-01-02 11:49:34 +00:00
Adrian Conlon
4ec462e79a Z80: Tidy the M1 activation sequence a little (start moving towards ZX Spectrum memory contention model)
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-01-02 11:04:38 +00:00
Adrian Conlon
e0e137415f Z80: Correct links in cycle accurate Z80 documentation.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2021-01-02 10:14:39 +00:00
Adrian Conlon
e9900424b7 6809: Start moving away from macro based read/modify/write implementation
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-12-28 18:37:21 +00:00