Commit Graph

224 Commits

Author SHA1 Message Date
Adrian Conlon
8b6c4a205e Lot's of small niggles corrected across the EightBit libraries 2024-03-18 13:03:41 +00:00
Adrian Conlon
b22d7e47e5 Addressing mode simplifications 2024-03-14 14:54:52 +00:00
Adrian Conlon
fd36555585 Couple of small reference changes 2023-05-17 12:47:57 +01:00
Adrian Conlon
9e2c3e32b1 Fully switch to C++20 2022-07-01 09:30:38 +01:00
Adrian Conlon
8e0092ec9d Tidy up noexcept specification 2022-01-17 19:10:15 +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
fbdf2fcf02 Add some more Z80 documentation 2022-01-01 13:06:45 +00:00
Adrian Conlon
91df9ea48b Make Z80 profile output conditional on the availability of data. 2021-12-30 12:32:34 +00:00
Adrian Conlon
3b01c639fd Some performance improvements for the Z80 disassembler 2021-12-30 00:56:24 +00:00
Adrian Conlon
6346ea9278 Switch to C++20 everywhere 2021-12-29 11:39:41 +00:00
Adrian Conlon
1f5dc54c40 Copy constructor and equality operations added. 2021-12-27 22:07:30 +00:00
Adrian Conlon
945fcefb36 Start adding comparison operations to EightBit classes 2021-12-27 14:24:38 +00:00
Adrian Conlon
2b8513fd37 EightBit and Z80 projects move to C++20 2021-12-17 21:09:13 +00:00
Adrian Conlon
f837836072 Merge branch 'master' of https://github.com/MoleskiCoder/EightBit 2021-12-08 19:55:21 +00:00
Adrian Conlon
72705e8dd0 Updated projects for VS2022 2021-12-08 19:42:34 +00:00
Adrian Conlon
f16e120272
Update Makefile 2021-11-25 15:15:56 +00: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
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
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
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
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
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
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
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
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
17edcee715 Add a pin activator class to correctly handle "wrapped" pin transitions.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-05-03 20:45:01 +01:00
Adrian Conlon
dcb809d8f9 Add finer control of memory and IO events in the Z80 implementation. Allows small tidy of the halt condition.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-03-23 21:56:23 +00:00
Adrian Conlon
99f0712801 Simplify Z80 instruction timing a little.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2020-02-23 09:37:03 +00:00
Adrian Conlon
0b6a656a45 Add cycle count to the z80 fuse test runner.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2020-02-22 09:03:17 +00:00
Adrian Conlon
e6b26e631c Fix more Z80 instruction timings.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2020-02-22 08:32:29 +00:00
Adrian Conlon
255708e0bc Add some more Z80 documentation.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2020-02-22 08:30:52 +00:00
Adrian Conlon
b89d2cf15c Start correcting Z80 T-cycle counts (DJNZ, JR cc, ADD HL,rp, INC/DEC rp, INC/DEC (HL))
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2020-02-16 09:18:34 +00:00
Adrian Conlon
c8bdabf34f Reflect that the I/O for Intel style processors isn't part of the CPU, but attached to the Bus and access controlled by the CPU.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2020-02-09 11:51:58 +00:00
Adrian Conlon
dc37d61797 Tidy up some shared code for the Z80 pushWord vs call timing.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-12-29 13:03:44 +00:00
Adrian Conlon
d9466082ec M-Cycle accurate Z80 modifications.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-12-29 01:18:54 +00:00
Adrian Conlon
feee7ec2e6 Add some more Z80 documentation
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-12-29 01:13:52 +00:00
Adrian Conlon
98d9199f19 Whoops: missed power on state of the "RFRSH" pin.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-11-19 23:06:08 +00:00
Adrian Conlon
acf6cf6c71 Sync with .Net version
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-11-16 23:37:57 +00:00
Adrian Conlon
5e347b9414 Sync C++ Z80 implementation with C#
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-11-10 11:15:07 +00:00
Adrian Conlon
d0467421ff Improve compatibility with .net emulator code.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-11-09 18:58:23 +00:00
Adrian Conlon
20ebbd4048 Start added more .net compatibility methods
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-11-03 09:23:28 +00:00
Adrian Conlon
6d90ea6237 Add MREQ (to go along with IORQ) to the Z80 implementation.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-11-02 17:38:20 +00:00