Commit Graph

651 Commits

Author SHA1 Message Date
Adrian Conlon
815c99710a Add enough undocumented 6502 instructions to get through "nestest".
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-12-29 22:22:31 +00:00
Adrian Conlon
c136b306ab Use the new busRead/Write processor methods to simplify the 6502 cycle counting.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-12-29 22:18:01 +00:00
Adrian Conlon
adb60a6e90 Port the 6502 to the new bus architecture. 2018-12-29 19:40:02 +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
2a223a5acd More M6532 documentation added/adjusted
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-12-03 23:39:22 +00:00
Adrian Conlon
fe1aaf56c7 Add work in progress of M6532 Riot chip. Nowhere near working yet, but includes lots of documentation.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-12-03 22:54:57 +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
cf0828c595 Tidy the Z80 BIT implementation for better code resuse. No functional change
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-12-01 13:01:33 +00:00
Adrian Conlon
802ad6041d Update project README.md
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-29 01:37:53 +00:00
Adrian Conlon
e80a5bfcd4 Whoops: the bit instruction *can* have its return value discarded...
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-29 00:14:44 +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
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
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
555423d10a Tidy the Z80 test classes, based on code analysis.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-27 22:28:09 +00:00
Adrian Conlon
0313037d6f Tidy the 8080 test configuration class a little. 2018-11-27 22:19:15 +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
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
21a16a3c97 Ensure newly added C++ implementations are in the VisualStudio project files.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-25 11:05:41 +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
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
85bc2aab12 Reverse "UNLIKELY" conditions that also contain an else. Helps compilers that have no LIKELY/UNLIKELY macros.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-25 10:38:30 +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
5ff883305e Modernise the signal handling and construction sequence of the Z80 test board.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-24 10:56:00 +00:00
Adrian Conlon
cec760767a Fix some problems in the MC6809 instruction decoder.
Found by going through the switch line by line...
BASIC interpreter now seems to run!

Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-20 08:51:17 +00:00
Adrian Conlon
c54c2a681b Merge branch 'master' of https://github.com/MoleskiCoder/EightBit 2018-11-18 22:16:16 +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
2de467dde8 Refactor the MOS6502 core:
* Use lambda, rather than std::bind, if reasonable
* Tidy construction
* Remove configuration etc. not needed for running Klaus Dormann 6502 tests
2018-11-18 13:52:43 +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
68b352d1df Wire the GameBoy board like a piece of powered hardware.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-12 00:38:03 +00:00
Adrian Conlon
e326490cd9 Correct typographical mistake in MC6850 documentation.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-11 16:49:21 +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
f29c571226 Add tests for BHI BLE on the 6809
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-10 20:48:43 +00:00
Adrian Conlon
b926f4b7f1 Simplify 6809 conditionals a little.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-10 20:31:14 +00:00
Adrian Conlon
b82ca402bf Add 6809 BGT tests.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-10 20:30:38 +00:00
Adrian Conlon
8b12ed23e8 Add (currently disabled) disassembler to the 6809 unit test runner.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-10 20:29:27 +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
003cea0d64 Make 6502 symbols code a little more like normal C++
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-04 13:27:43 +00:00
Adrian Conlon
95968cb000 Whoops: missed boost update for LR35902
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-04 13:26:12 +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
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
7af81018c9 Modify rotate and shift instructions to be a little more understandable (6502/6809)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-11-01 19:47:21 +00:00
Adrian Conlon
4dc0becb74 Refactor the 6502 implementation to be a lot more like the MC6809. Hopefully show bugs in the latter a little more easily.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-31 23:29:13 +00:00
Adrian Conlon
b1af0710ba Tidy the Z80 instruction scheduler a little
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-10-28 19:29:14 +00:00