Commit Graph

839 Commits

Author SHA1 Message Date
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
Adrian Conlon
0609ec1364 6809: Correct reset vector handling
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-12-28 15:49:19 +00:00
Adrian Conlon
5ddbd8a5e8 Correct a couple of small oddities in the IntelProcessor InputOutput class.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-12-27 15:46:05 +00:00
Adrian Conlon
778aacaef6 Z80: Better interrupt timing response. 2020-12-27 15:45:14 +00:00
Adrian Conlon
28ae32b8a2 Z80: Whoops: Correct broken CPDR implementation.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-11-16 17:09:19 +00:00
Adrian Conlon
d785b1eae7 Simplify LR35902 machine timing. 2020-11-13 17:28:35 +00:00
Adrian Conlon
eb761bc62f LR35902: Whoops: correct broken timer (when it begins at zero!)
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-11-13 14:50:12 +00:00
Adrian Conlon
fa7e1480d3 LR35902: Fix lots of timing issues by attaching to the "tick" event.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-11-13 10:14:06 +00:00
Adrian Conlon
efed7dae23 LR35902 Simplify timing mechanism (corrects some timing issues as well!)
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-11-12 18:21:51 +00:00
Adrian Conlon
b8a2db96f4 Include interrupt information in the disassembler output.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-11-12 16:22:44 +00:00
Adrian Conlon
f7da03d46b Bring the LR35902 code to be more like the Z80
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-11-09 11:48:59 +00:00
Adrian Conlon
759b4a9fa8 GameBoy: Correct a few (very minor C++) niggles in the implementation. No functional changes.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-11-07 09:41:12 +00:00
Adrian Conlon
33dd479421 Updated GameBoy processor documentation.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-11-07 09:36:47 +00:00
Adrian Conlon
808251d0f6 (Dr Mario Fixes) Second tile selection bank is indexed in a signed manner.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-10-28 14:02:42 +00:00