Commit Graph

  • d37f130577 Get the C++ version of the MC6850 synced with the C# version. Adrian Conlon 2019-05-27 10:57:02 +0100
  • ca0a98d9a7 MC6809: Correct test board wiring, such the MC6850 can be allowed to work! Adrian Conlon 2019-05-05 13:35:33 +0100
  • f5582df402 Add some more M6502 documentation. Adrian Conlon 2019-05-05 10:30:33 +0100
  • 467369d248 MC6850: Add JSR/RTS unit tests Adrian Conlon 2019-05-05 10:30:10 +0100
  • 3441fd062e Simplify the usage of the MC6850 Adrian Conlon 2019-05-05 10:29:41 +0100
  • 2c23289caa Expose the clock tick as an externally driven action. Adrian Conlon 2019-05-05 10:28:24 +0100
  • 4f8d3287d4 Whoops: Missed one of the update projects. Adrian Conlon 2019-05-05 10:27:08 +0100
  • 8f0dbe0dbc i8080: Small board level source layout change, no functional effect Adrian Conlon 2019-05-05 10:26:36 +0100
  • 1a0d3ad77a Go through all projects for configuration consistency. Adrian Conlon 2019-05-05 10:25:44 +0100
  • bbf8b2230d Merge branch 'master' of https://github.com/MoleskiCoder/EightBit Adrian Conlon 2019-03-02 21:59:00 +0000
  • 934a1f7025 Use the virtual methods, busRead and busWrite for all processor bus actions. Adrian Conlon 2019-03-02 21:58:34 +0000
  • ed47983928 Speed up the Intel 8080 disassembler. Adrian Conlon 2019-03-02 21:41:06 +0000
  • 6c5b595529
    Update README.md Adrian Conlon 2019-02-07 00:01:04 +0000
  • 382ae30d32 Correct a couple of minor mistakes found while working on the .net port. Adrian Conlon 2019-02-03 00:46:49 +0000
  • f0376fa81e Use macros to define our device pins. Adrian Conlon 2019-01-14 23:17:54 +0000
  • 4d08487513 Merge branch 'master' of https://github.com/MoleskiCoder/EightBit Adrian Conlon 2019-01-14 08:26:42 +0000
  • 7f853ec73f Add missing 6502 pin events Adrian Conlon 2019-01-14 08:26:27 +0000
  • a44658ec94 Correct a coulple of newly introduced GB issues. Adrian Conlon 2019-01-14 02:23:48 +0000
  • 92d23d82d6 Start big refactor of device/CPU pin usage (to allow pin events throughout). Adrian Conlon 2019-01-14 02:10:17 +0000
  • 9755a5fcd2 Add the concept of a clocked chip Adrian Conlon 2019-01-10 22:23:51 +0000
  • 71daf6aa38 Split Chip class into Device and Chip. Adrian Conlon 2019-01-10 20:44:16 +0000
  • 68030610d8 Move to an event driven clock tick event for all CPUs Adrian Conlon 2019-01-09 23:24:33 +0000
  • 8b187e7614 The clock still has to tick, even while held on RDY low, otherwise cycle timing won't work. Adrian Conlon 2019-01-09 09:05:12 +0000
  • a90ca6ba38 Move RDY initialisation to the CPU power-on sequence. Not strictly correct, but OK. Adrian Conlon 2019-01-09 00:33:56 +0000
  • 87d86bcd84 Whoops: missed unneeded method declaration. Adrian Conlon 2019-01-09 00:08:03 +0000
  • 01175cf9eb Add support for emulated SYNC and RDY lines. Untested, but feel close. Adrian Conlon 2019-01-08 23:55:27 +0000
  • 047babbe7c Rearrange the RESET handler for cycle accuracy. Use more of the general interrupt handler, but with "dummy" stack write access. Adrian Conlon 2019-01-08 23:09:52 +0000
  • 25321e78e7 Now that HALT/RESET/NMI/IRQ and BRK have a unified architecture, I think this wraps up the instruction handler of the 6502. Adrian Conlon 2019-01-08 01:32:43 +0000
  • 3faec680b0 I think this fixes one of my NES issues. The fix-up required for the PC is handled by the fetchByte associated with the BRK instruction. Adrian Conlon 2019-01-07 01:28:23 +0000
  • 741e005e0c Add some more 6809 documentation. Adrian Conlon 2019-01-07 01:09:24 +0000
  • d7763d8215 Profile mode no longer exists on the 6502 test program. Adrian Conlon 2019-01-07 01:08:23 +0000
  • 06e2a5c947 Start unifying 6502 interrupt handling. NMI/IRQ/BRK are all doing mostly the same work. Adrian Conlon 2019-01-07 01:06:07 +0000
  • b7b7c93a77 This tidies the last of 6502 cycle accurate instruction implementations. Adrian Conlon 2019-01-06 22:34:53 +0000
  • ad644f7013 Tidy the 6502 instruction switch statement a little to lessen the width a little. Adrian Conlon 2019-01-06 20:51:13 +0000
  • c3d2ef51d9 Cycle accuracy for a couple of the indexed write (store) instructions. Adrian Conlon 2019-01-06 20:39:37 +0000
  • 4d3be9e756 Use correct boundary crossing conditional for Read/Modify/Write Absolute,X addressing mode. Adrian Conlon 2019-01-06 12:58:13 +0000
  • baf32cef89 Get the memory access more correct for more of boundary crossing indexed addressing modes. Adrian Conlon 2019-01-06 12:17:43 +0000
  • a13ad5042a Correct constructions of register16_t: the structure is "#ifdef"ed for different endian arrangements. Adrian Conlon 2019-01-06 11:27:43 +0000
  • 3749585398 Cycle accuracy changes for BRK/RTI instructions. Adrian Conlon 2019-01-06 11:13:49 +0000
  • 5b9c348ff1 Remove nodiscard instance where we're using the method for cycle/memory accuracy. Adrian Conlon 2019-01-06 11:10:05 +0000
  • 3337f57747 More cycle accuracy changes, concentrating on stack operations. Adrian Conlon 2019-01-05 23:21:43 +0000
  • f5125b2a35 Add some documentation regarding instruction cycle timings. Adrian Conlon 2019-01-05 23:21:12 +0000
  • 143e9a9e68 More cycle accuracy changes: 1) implied instruction, pointless fetch 2) branch pointless fetch when condition is met Adrian Conlon 2019-01-05 17:23:50 +0000
  • 3b7cec9c69 Spot a couple more addCycle patterns. Adrian Conlon 2019-01-04 09:17:59 +0000
  • d2e853f101 Explicitly note implied addressing mode instructions. Adrian Conlon 2019-01-04 08:20:23 +0000
  • 556e06426e Further work on the slow migration to a cycle accurate 6502 Adrian Conlon 2019-01-03 01:04:12 +0000
  • 6c582f6349 Add a working(ish) 6502 ATX implementation. Adrian Conlon 2018-12-30 17:12:45 +0000
  • 5ade05a689 Add a bunch of undocumented 6502 instructions. Abandoned ATX implementation. Too poorly documented. Adrian Conlon 2018-12-30 12:01:23 +0000
  • 815c99710a Add enough undocumented 6502 instructions to get through "nestest". Adrian Conlon 2018-12-29 22:22:31 +0000
  • c136b306ab Use the new busRead/Write processor methods to simplify the 6502 cycle counting. Adrian Conlon 2018-12-29 22:18:01 +0000
  • adb60a6e90 Port the 6502 to the new bus architecture. Adrian Conlon 2018-12-29 19:40:02 +0000
  • f38d326ca7 Improve the flexibility of the BUS mapping/read/write architecture. Adrian Conlon 2018-12-29 19:17:36 +0000
  • 722888ae66 Correct ROM loading issue discovered while resurrecting NES support. Adrian Conlon 2018-12-29 19:06:24 +0000
  • 2a223a5acd More M6532 documentation added/adjusted Adrian Conlon 2018-12-03 23:39:22 +0000
  • fe1aaf56c7 Add work in progress of M6532 Riot chip. Nowhere near working yet, but includes lots of documentation. Adrian Conlon 2018-12-03 22:54:57 +0000
  • d6ebf00ccc Merge branch 'master' of https://github.com/MoleskiCoder/EightBit Adrian Conlon 2018-12-01 16:46:06 +0000
  • 679275e930 Correct Linux build errors. Adrian Conlon 2018-12-01 16:41:39 +0000
  • dc477cd050 Use explicit enumeration types (improves type safety) where appropriate. Adrian Conlon 2018-12-01 15:24:29 +0000
  • cf0828c595 Tidy the Z80 BIT implementation for better code resuse. No functional change Adrian Conlon 2018-12-01 13:01:33 +0000
  • 802ad6041d Update project README.md Adrian Conlon 2018-11-29 01:37:53 +0000
  • e80a5bfcd4 Whoops: the bit instruction *can* have its return value discarded... Adrian Conlon 2018-11-29 00:14:44 +0000
  • 9960ad6012 Tidy return parameter usage a little within the EightBit library. Adrian Conlon 2018-11-29 00:09:40 +0000
  • deb9a6d43c Correct more analysis problems. No functional changes. Adrian Conlon 2018-11-28 21:27:14 +0000
  • a940a29283 Unify build settings across all the EightBit libraries. Adrian Conlon 2018-11-28 21:24:51 +0000
  • a673a64c3f Lots of various changes suggested by the code analysis tools. Adrian Conlon 2018-11-27 22:36:54 +0000
  • 555423d10a Tidy the Z80 test classes, based on code analysis. Adrian Conlon 2018-11-27 22:28:09 +0000
  • 0313037d6f Tidy the 8080 test configuration class a little. Adrian Conlon 2018-11-27 22:19:15 +0000
  • 9dcaaadf80 Simplify a couple of the MC6809 test projects. Adrian Conlon 2018-11-25 19:05:14 +0000
  • e156b1ff1a Correct some more compilation warnings (across the whole EightBit project). Adrian Conlon 2018-11-25 19:02:11 +0000
  • 21a16a3c97 Ensure newly added C++ implementations are in the VisualStudio project files. Adrian Conlon 2018-11-25 11:05:41 +0000
  • 64ed8e01ec Add some more MC6809 documentation (and Searle BASIC derivative). Adrian Conlon 2018-11-25 10:45:06 +0000
  • 887b89308a Ensure virtual methods are no longer defined inline. Adrian Conlon 2018-11-25 10:43:51 +0000
  • 85bc2aab12 Reverse "UNLIKELY" conditions that also contain an else. Helps compilers that have no LIKELY/UNLIKELY macros. Adrian Conlon 2018-11-25 10:38:30 +0000
  • 000b254d2a Tidy some white space issues a little. Adrian Conlon 2018-11-24 10:56:36 +0000
  • 5ff883305e Modernise the signal handling and construction sequence of the Z80 test board. Adrian Conlon 2018-11-24 10:56:00 +0000
  • cec760767a Fix some problems in the MC6809 instruction decoder. Found by going through the switch line by line... BASIC interpreter now seems to run! Adrian Conlon 2018-11-20 08:51:17 +0000
  • c54c2a681b Merge branch 'master' of https://github.com/MoleskiCoder/EightBit Adrian Conlon 2018-11-18 22:16:16 +0000
  • 859804d179 Refactor MC6809 core to use lambdas in preference to std::bind methods. Adrian Conlon 2018-11-18 22:15:49 +0000
  • 2de467dde8 Refactor the MOS6502 core: Adrian Conlon 2018-11-18 13:52:43 +0000
  • e2e7fd0e00 Merge branch 'master' of https://github.com/MoleskiCoder/EightBit Adrian Conlon 2018-11-16 23:50:04 +0000
  • 5530522f11 Correct a couple of small issues Adrian Conlon 2018-11-16 23:49:52 +0000
  • 68b352d1df Wire the GameBoy board like a piece of powered hardware. Adrian Conlon 2018-11-12 00:38:03 +0000
  • e326490cd9 Correct typographical mistake in MC6850 documentation. Adrian Conlon 2018-11-11 16:49:21 +0000
  • fdbb28828f Apply the concept of powered components to the "board" Adrian Conlon 2018-11-11 16:48:44 +0000
  • f29c571226 Add tests for BHI BLE on the 6809 Adrian Conlon 2018-11-10 20:48:43 +0000
  • b926f4b7f1 Simplify 6809 conditionals a little. Adrian Conlon 2018-11-10 20:31:14 +0000
  • b82ca402bf Add 6809 BGT tests. Adrian Conlon 2018-11-10 20:30:38 +0000
  • 8b12ed23e8 Add (currently disabled) disassembler to the 6809 unit test runner. Adrian Conlon 2018-11-10 20:29:27 +0000
  • e688411cb9 Refactor memory related code a little to make the hierarchy of classes a little easier to understand. Adrian Conlon 2018-11-04 16:38:57 +0000
  • 003cea0d64 Make 6502 symbols code a little more like normal C++ Adrian Conlon 2018-11-04 13:27:43 +0000
  • 95968cb000 Whoops: missed boost update for LR35902 Adrian Conlon 2018-11-04 13:26:12 +0000
  • 8ef5d97366 Update boost from 1.65 -> 1.68 Adrian Conlon 2018-11-04 12:58:01 +0000
  • 9132f2028f Add an "UnusedMemory" class to better allow "gaps" in the memory map. Adrian Conlon 2018-11-03 23:11:48 +0000
  • 984626a331 Introduce the concept of a MemoryInterface to the EightBit library. Adrian Conlon 2018-11-03 22:15:17 +0000
  • 68a785ceec Add an address masking to the memory mapping structure. Adrian Conlon 2018-11-01 23:43:29 +0000
  • 7af81018c9 Modify rotate and shift instructions to be a little more understandable (6502/6809) Adrian Conlon 2018-11-01 19:47:21 +0000
  • 4dc0becb74 Refactor the 6502 implementation to be a lot more like the MC6809. Hopefully show bugs in the latter a little more easily. Adrian Conlon 2018-10-31 23:29:13 +0000
  • b1af0710ba Tidy the Z80 instruction scheduler a little Adrian Conlon 2018-10-28 19:29:14 +0000
  • edbc2784d9 Sort out why cycle counting wasn't working as I thought it should on the MC6809 Adrian Conlon 2018-10-28 13:34:34 +0000
  • fc7b6e49ca Slightly nicer refactoring of the MEMPTR post increment saga Adrian Conlon 2018-10-28 13:33:36 +0000