Commit Graph

58 Commits

Author SHA1 Message Date
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
6346ea9278 Switch to C++20 everywhere 2021-12-29 11:39:41 +00:00
Adrian Conlon
e8dd92f0ae Fix crash due to limited stack space. 2021-12-08 19:52:22 +00:00
Adrian Conlon
47ac36c8af Catch a couple of small issues in the 6809 tester code 2021-12-08 19:50:11 +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
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
79adce86bd Add 6809 profiling 2021-04-07 21:35:33 +01:00
Adrian Conlon
ee3ecc682d Add R/W pins to the MC6809 and MOS6502 processors. Hoping it'll ease peripheral development.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-09-15 12:49:32 +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
def1c58e9d Tidy project settings across the EightBit library to be more consistent.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-07-06 22:45:16 +01:00
Adrian Conlon
dca2e1bb8e Bring the C++ code a little closer to the C# code.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-06-02 12:12:04 +01:00
Adrian Conlon
d37f130577 Get the C++ version of the MC6850 synced with the C# version.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-05-27 10:57:02 +01:00
Adrian Conlon
ca0a98d9a7 MC6809: Correct test board wiring, such the MC6850 can be allowed to work!
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-05-05 13:35:33 +01:00
Adrian Conlon
3441fd062e Simplify the usage of the MC6850
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-05-05 10:29:41 +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
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
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
Adrian Conlon
a940a29283 Unify build settings across all the EightBit libraries.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-28 21:24:51 +00:00
Adrian Conlon
9dcaaadf80 Simplify a couple of the MC6809 test projects.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-25 19:05:14 +00:00
Adrian Conlon
64ed8e01ec Add some more MC6809 documentation (and Searle BASIC derivative).
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-25 10:45:06 +00:00
Adrian Conlon
859804d179 Refactor MC6809 core to use lambdas in preference to std::bind methods.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-18 22:15:49 +00:00
Adrian Conlon
fdbb28828f Apply the concept of powered components to the "board"
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-11 16:48:44 +00:00
Adrian Conlon
e688411cb9 Refactor memory related code a little to make the hierarchy of classes a little easier to understand.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-04 16:38:57 +00:00
Adrian Conlon
8ef5d97366 Update boost from 1.65 -> 1.68
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-04 12:58:01 +00:00
Adrian Conlon
9132f2028f Add an "UnusedMemory" class to better allow "gaps" in the memory map.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-03 23:11:48 +00:00
Adrian Conlon
68a785ceec Add an address masking to the memory mapping structure.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-01 23:43:29 +00:00
Adrian Conlon
edbc2784d9 Sort out why cycle counting wasn't working as I thought it should on the MC6809
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-28 13:34:34 +00:00
Adrian Conlon
99692ce6c7 Refactor MC6850 for C++14/17 updates
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-27 21:58:23 +01:00
Adrian Conlon
8dbb3eafec Switch to C++17 standard in all EightBit projects.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-27 14:28:14 +01:00
Adrian Conlon
b50d21965d Addr support for the RTS/CTS and IRQ pins to the MC6850 chip emulation
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-23 00:01:33 +01:00
Adrian Conlon
4bfb264380 Simplify chip pin level matching a little.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-21 19:42:20 +01:00
Adrian Conlon
4840c238d6 Set configuration default to *not* exit early.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-21 18:07:42 +01:00
Adrian Conlon
806251bf6f Whoops: Remove extra blank line.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-21 18:07:08 +01:00
Adrian Conlon
54e0dcfe36 Move board termination and cycle count etc. into the configuration class.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-21 10:28:33 +01:00
Adrian Conlon
4d09da1541 Reuse standard 6809/6850 chip/bus wiring
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-20 22:54:10 +01:00
Adrian Conlon
1b2ddd8843 Don't expose the bus via the CPU any more: if a component needs the bus, it should be prepared to hold a reference to it.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-20 20:52:41 +01:00
Adrian Conlon
9b0cc4542f Tidy MC6809 test board/device access.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-20 16:57:32 +01:00
Adrian Conlon
769c65394b The extra _getch isn't required as I fix the MC6809 CPU emulation.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-14 20:38:07 +01:00
Adrian Conlon
f58e3ded83 Use corrected MC6850 in MC6809 test board. Working a little better now.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-09-30 23:10:03 +01:00
Adrian Conlon
8ea7bf5d68 Refactoring on the MC6850 and associated test board code.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-09-29 14:31:50 +01:00
Adrian Conlon
de5a9963e0 More MC6850 updates
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-09-29 10:06:02 +01:00
Adrian Conlon
861fc28bba Wire up the MC6850 events to the board
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-09-25 23:57:20 +01:00
Adrian Conlon
9ab075d0f6 Incorporate the concepts of transmission and receipt into the events for the MC6850 (TBC)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-09-24 08:29:11 +01:00
Adrian Conlon
d77c2a1e9d Add more of the MC6850 internals.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-09-23 20:31:55 +01:00
Adrian Conlon
b3faa0bb2e Wire the MC6850 chip into the MC6809 test code.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-09-23 13:14:10 +01:00
Adrian Conlon
6bb8118c7f Add miscellaneous documentation and test gubbins
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-09-21 00:17:25 +01:00