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 |
|
Adrian Conlon
|
1212e8d4f0
|
Tidy some processor virtual specifications.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-25 13:35:53 +01:00 |
|
Adrian Conlon
|
c105ee37bf
|
Have a stab at sorting out processor pin handling.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-25 12:09:26 +01:00 |
|
Adrian Conlon
|
6d4223c368
|
Start moving towards reset being just another style of interrupt.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-25 01:34:30 +01:00 |
|
Adrian Conlon
|
2a3b0a5291
|
Add JMP and JSR instructions to the 6809 processor.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-21 18:10:38 +01:00 |
|
Adrian Conlon
|
15e1258f40
|
Rearrange the 6809 code such that I can fire memory events.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-19 00:55:59 +01:00 |
|
Adrian Conlon
|
ab1d84703b
|
Add a skeletal 6809 processor.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-19 00:18:08 +01:00 |
|
Adrian Conlon
|
51e6adc5f4
|
Whoops: remove Rom.h
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-19 00:09:00 +01:00 |
|
Adrian Conlon
|
cc64e114a9
|
Start refactoring the processor classes to allow big/little endian processors to be specified.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-17 21:53:49 +01:00 |
|
Adrian Conlon
|
ed76038bfa
|
More memptr adjustments
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-17 13:59:59 +01:00 |
|
Adrian Conlon
|
1abe3ae456
|
Adding a couple of const member accessors allows some event handlers to be marked const
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-12 17:08:03 +01:00 |
|
Adrian Conlon
|
70c70af969
|
Sort out some exception and member initialisation rules.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-11 21:19:19 +01:00 |
|
Adrian Conlon
|
b640da1910
|
Add some noexcept specifications. Just to experiment.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-08-07 23:06:15 +01:00 |
|
Adrian Conlon
|
e40240694f
|
More removal of duplicated code.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-06-24 22:33:02 +01:00 |
|
Adrian Conlon
|
cac871cf2b
|
Remove duplicated code (from const definitions) the performance benefit isn't worth the amount of duplicated code.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-06-24 20:58:20 +01:00 |
|
Adrian Conlon
|
67487b5b6e
|
Simplify the usage of the register16_t union.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-06-16 00:55:32 +01:00 |
|
Adrian Conlon
|
fbf098ae00
|
Simplify memory event handlers and ROM recognition a little (bit of speed difference)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-06-10 22:00:52 +01:00 |
|
Adrian Conlon
|
3e854c7c49
|
Const some more bus/processor usage, and ensure the data bus is a member, not a reference to memory.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-06-10 00:40:56 +01:00 |
|
Adrian Conlon
|
116f9961c4
|
Add a higher/lower nibble mask
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-05-25 22:36:10 +01:00 |
|
Adrian Conlon
|
3e87f8a191
|
Whoops: correct parity definition
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-05-02 03:31:05 +01:00 |
|
Adrian Conlon
|
0b2c1fa084
|
Gameboy, some random tidy ups.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-05-02 02:47:47 +01:00 |
|
Adrian Conlon
|
9de0f597f6
|
Remove some "tricksy" code from the Z80 emulator chain.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-04-14 09:39:06 +01:00 |
|
Adrian Conlon
|
d818095815
|
MEMPTR is really only a concept of Intel style processors.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-03-18 22:40:23 +00:00 |
|
Adrian Conlon
|
45dc274167
|
Get rid of wrappers for bus access: i.e. make it clearer where the bus is being read/written.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-03-10 01:53:57 +00:00 |
|
Adrian Conlon
|
adf506a41e
|
Optimisation: Prefer return by value to return by reference. ~10% speed-up!
Just watch a video by Chandler Carruth from 2015, where he talked about C++ optimisers...
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-02-25 19:48:01 +00:00 |
|
Adrian Conlon
|
7f501ff29c
|
Temporarily perhaps, reintroduce post-read and pre-write bus events (for the NES)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-02-07 23:00:38 +00:00 |
|
Adrian Conlon
|
9524cf4c6b
|
Adjust memory loaders, to allow easier usage (default arguments)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-01-25 22:24:08 +00:00 |
|
Adrian Conlon
|
21bd8a06e6
|
Power on conditions are chip specific and *not* directly related to construction/destruction.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
|
2018-01-18 17:50:15 +00:00 |
|