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
|
4f47f3fc4d
|
Simplifying the Z80 halt implementation looks better.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2019-08-29 08:51:15 +01:00 |
|
Adrian Conlon
|
5ed01b61d1
|
Backport fixes from .Net EightBit library to C++
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2019-08-16 21:56:48 +01:00 |
|
Adrian Conlon
|
9d34d7ec3d
|
Add a non-intrinsic version of findFirstSet to the EightBit library.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2019-07-21 11:25:06 +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
|
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
|
2c23289caa
|
Expose the clock tick as an externally driven action.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2019-05-05 10:28:24 +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
|
382ae30d32
|
Correct a couple of minor mistakes found while working on the .net port.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2019-02-03 00:46:49 +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
|
68030610d8
|
Move to an event driven clock tick event for all CPUs
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2019-01-09 23:24:33 +00:00 |
|
Adrian Conlon
|
5b9c348ff1
|
Remove nodiscard instance where we're using the method for cycle/memory accuracy.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2019-01-06 11:10:05 +00:00 |
|
Adrian Conlon
|
556e06426e
|
Further work on the slow migration to a cycle accurate 6502
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2019-01-03 01:04:12 +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
|
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 |
|
Adrian Conlon
|
9960ad6012
|
Tidy return parameter usage a little within the EightBit library.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-11-29 00:09:40 +00:00 |
|
Adrian Conlon
|
deb9a6d43c
|
Correct more analysis problems. No functional changes.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-11-28 21:27:14 +00:00 |
|
Adrian Conlon
|
a673a64c3f
|
Lots of various changes suggested by the code analysis tools.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-11-27 22:36:54 +00:00 |
|
Adrian Conlon
|
e156b1ff1a
|
Correct some more compilation warnings (across the whole EightBit project).
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-11-25 19:02:11 +00:00 |
|
Adrian Conlon
|
887b89308a
|
Ensure virtual methods are no longer defined inline.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-11-25 10:43:51 +00:00 |
|
Adrian Conlon
|
000b254d2a
|
Tidy some white space issues a little.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-11-24 10:56:36 +00:00 |
|
Adrian Conlon
|
e2e7fd0e00
|
Merge branch 'master' of https://github.com/MoleskiCoder/EightBit
|
2018-11-16 23:50:04 +00:00 |
|
Adrian Conlon
|
5530522f11
|
Correct a couple of small issues
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-11-16 23:49:52 +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
|
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
|
984626a331
|
Introduce the concept of a MemoryInterface to the EightBit library.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-11-03 22:15:17 +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
|
62f3cd717b
|
First set of C++17/14 changes to the core library
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-10-27 17:30:23 +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
|
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
|
7e527ff093
|
Add Processor::pokeWord to define an endian specific 16-bit word write.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-10-14 10:05:43 +01:00 |
|
Adrian Conlon
|
8d3551e681
|
Refactor bit set/get routines from processor class to lower level chip class.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-09-29 14:08:44 +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
|
754fc8e6a3
|
Refactor the processor class to give us a "Chip" class that gives up pin levels and power.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-09-23 13:10:58 +01:00 |
|
Adrian Conlon
|
7adefd380a
|
Sort a bunch of missing argument const specifications.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-09-21 00:16:00 +01:00 |
|
Adrian Conlon
|
fe3794e011
|
Simplify register16_t usage a little.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-09-16 12:00:29 +01:00 |
|
Adrian Conlon
|
6256d0bf8d
|
Correct compilation warnings.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-09-15 18:33:33 +01:00 |
|
Adrian Conlon
|
7d840f1a42
|
Modifying the manner in which memory is mapped, allows a fairly clean mechanism for loading Intel "hex" files.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-09-15 14:35:59 +01:00 |
|
Adrian Conlon
|
97272d650d
|
Simplify processor bus access a little by further allowing register16_t address access.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-29 13:52:25 +01:00 |
|
Adrian Conlon
|
dfc4c49454
|
Correct 5-bit sign extension on the 6809 processor. Allows CLR 5-bit offset indexed disassembly to work correctly.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-27 12:57:44 +01:00 |
|
Adrian Conlon
|
a8cc289149
|
Whoops: The "Bus" class *really* isn't allowed to know the "endianness" of the attached processor!
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-27 11:27:33 +01:00 |
|
Adrian Conlon
|
c03d8488b5
|
Allow memory peek as a const operation.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-26 13:06:05 +01:00 |
|
Adrian Conlon
|
8823bb6610
|
Refactor the *EndianProcessor classes, such that their implementation is no longer in header files.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-25 22:51:56 +01:00 |
|