Commit Graph

146 Commits

Author SHA1 Message Date
Adrian Conlon
4f4bc5355d Simplification of M6502 flag set/reset code 2024-01-07 14:04:41 +00:00
Adrian Conlon
fd36555585 Couple of small reference changes 2023-05-17 12:47:57 +01:00
Adrian Conlon
9a5f9ccd1a Tidy up some exception specifications. 2022-03-26 16:06:29 +00:00
Adrian Conlon
8e0092ec9d Tidy up noexcept specification 2022-01-17 19:10:15 +00:00
Adrian Conlon
70a785b5c2 Try to remove some casting warnings by redefining ROM size types. 2022-01-03 12:29:32 +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
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
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
af7679505c Add a span compatible ROM loader 2021-12-26 22:01:12 +00:00
Adrian Conlon
2b8513fd37 EightBit and Z80 projects move to C++20 2021-12-17 21:09:13 +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
927938560a Tidy the Bus reference definition a little 2021-12-08 19:45:07 +00:00
Adrian Conlon
72705e8dd0 Updated projects for VS2022 2021-12-08 19:42:34 +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
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
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
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
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
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
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
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
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
3d30fe8f3b Damn: Chip.cpp doesn't exist anymore.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-06-07 12:04:08 +01:00
Adrian Conlon
23219734da Resurrect linux build (checked on Ubuntu 18.04)
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-06-07 11:49:57 +01:00
Adrian Conlon
5eedbe1225 Make better use of modern c++
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2020-05-02 11:36:43 +01:00
Adrian Conlon
44c6a8c3d1 Correct some EightBit project analysis warnings.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-04-06 23:11:21 +01: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
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
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
def89dbcce Correct accidental setting of PC to 0x0001 on power on.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-09-07 11:14:38 +01:00
Adrian Conlon
254cfbe342 Tidied up pin management to be synchronised with the .Net code.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-09-06 23:55:57 +01:00
Adrian Conlon
6940a54355 Update all EightBit projects to VS2019 (Latest SDK, C++17)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-08-17 11:04:29 +01:00
Adrian Conlon
5e9014997a Upgraded to VS2019, default SDK.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-08-06 13:16:38 +01:00
Adrian Conlon
36465ce1c8 Refactor the Intel hex file loader into it's own class.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-07-06 22:44:42 +01:00
Adrian Conlon
4734954932 Get the Linux port up and running again.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-07-05 21:42:19 +01:00
Adrian Conlon
1a0d3ad77a Go through all projects for configuration consistency.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-05-05 10:25:44 +01:00
Adrian Conlon
934a1f7025 Use the virtual methods, busRead and busWrite for all processor bus actions.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-03-02 21:58:34 +00:00
Adrian Conlon
f0376fa81e Use macros to define our device pins.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-01-14 23:17:54 +00:00
Adrian Conlon
92d23d82d6 Start big refactor of device/CPU pin usage (to allow pin events throughout).
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-01-14 02:10:17 +00:00
Adrian Conlon
9755a5fcd2 Add the concept of a clocked chip 2019-01-10 22:23:51 +00:00
Adrian Conlon
71daf6aa38 Split Chip class into Device and Chip.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-01-10 20:44:16 +00:00
Adrian Conlon
a13ad5042a Correct constructions of register16_t: the structure is "#ifdef"ed for different endian arrangements.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-01-06 11:27:43 +00:00
Adrian Conlon
f38d326ca7 Improve the flexibility of the BUS mapping/read/write architecture.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-12-29 19:17:36 +00:00
Adrian Conlon
722888ae66 Correct ROM loading issue discovered while resurrecting NES support.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-12-29 19:06:24 +00:00
Adrian Conlon
d6ebf00ccc Merge branch 'master' of https://github.com/MoleskiCoder/EightBit 2018-12-01 16:46:06 +00:00
Adrian Conlon
679275e930 Correct Linux build errors.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2018-12-01 16:41:39 +00:00
Adrian Conlon
dc477cd050 Use explicit enumeration types (improves type safety) where appropriate.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-12-01 15:24:29 +00:00