Commit Graph

50 Commits

Author SHA1 Message Date
Adrian Conlon a8ef9aa7db simplification and unification of build stuff 2026-02-16 11:15:58 +00:00
Adrian Conlon e1bf58afbc More sharing of concepts between all Intel style processors 2026-01-03 23:17:30 +00:00
Adrian Conlon 1dfd9621a1 Share some more common code between Intel style procesors 2025-10-15 19:46:10 +01:00
Adrian Conlon ceacac4741 Fix up some oddities in the EightBit library 2025-10-06 13:44:31 +01:00
Adrian Conlon 1779d1dc40 Intel processors all seem to act slightly differently with regards to HALT 2025-08-17 12:03:51 +01:00
Adrian Conlon c67e376d4f Add support for checking deferred EI correctness 2025-08-14 14:57:51 +01:00
Adrian Conlon 25ca534186 The EI instructions is actually a deferred instruction 2025-08-10 21:47:15 +01:00
Adrian Conlon 558da38f12 Note commonality between Intel-style processors 2025-08-10 12:43:34 +01:00
Adrian Conlon 14e4132d34 Small consistency change 2025-08-06 16:54:14 +01:00
Adrian Conlon 9d208de9bb Explicitly state order of operations in code, rather than relying upon RAII etc. (for speed. Much faster) 2025-08-04 15:47:26 +01:00
Adrian Conlon 60ef099208 Tidy some inconsistencies in various emulation 2025-08-01 15:01:20 +01:00
Adrian Conlon 2f338c6c46 Tidy register increment/decrement a little. 2025-07-25 16:32:30 +01:00
Adrian Conlon 36e983526e Add increment/decrement operations to the Register16 class 2025-05-11 19:24:40 +01:00
Adrian Conlon e1696721f6 Simplifications and refactorings in th intel processors 2025-05-05 21:06:39 +01:00
Adrian Conlon 93e09c192f Share instruction fetch and halt implementations 2025-05-04 11:41:28 +01:00
Adrian Conlon 2336222c97 Push more core processor handling into base classes. 2025-05-04 10:53:23 +01:00
Adrian Conlon 47374e591d With my correct implementation of HALT, I need the fetch to take place during a halted state 2025-05-04 08:56:22 +01:00
Adrian Conlon cbe871d365 Isolate program counter increment/decrement (to be used for HALT processing) 2025-05-03 23:25:06 +01:00
Adrian Conlon 080f203a55 Unify Intel style JR CC code and fix SM83 timing issues. 2025-05-03 12:09:34 +01:00
Adrian Conlon 0679b95b77 Correct LR35902 HALT test. Whatever problems this has, won't be solved by a hack 2025-05-03 11:58:57 +01:00
Adrian Conlon e1aa220409 Further Z80 timing fixes: 290 failures 2025-05-03 00:09:19 +01:00
Adrian Conlon dd1d141f15 Simplify conditional flag handling in intel processors 2025-04-29 12:27:39 +01:00
Adrian Conlon 973590690c Fix a bunch of analysis issues 2025-04-01 09:32:29 +01:00
Adrian Conlon 87abbaa75e Tidy IO page access 2025-03-28 14:50:53 +00:00
Adrian Conlon fa48a64cac Take advantage of some simplifications 2025-03-28 09:17:09 +00:00
Adrian Conlon 3a9e89f009 Tidy a couple of IO effects in the LR35902 core 2025-03-28 09:03:32 +00:00
Adrian Conlon 4d0059ad94 Only 7 failing instructions now 2025-03-27 14:34:54 +00:00
Adrian Conlon 3ca3d60caf Correct some timing issues in GB core 2025-03-27 10:19:18 +00:00
Adrian Conlon 08089823c2 First stab at getting LR35902 HarteTests running. Not bad, so far! 2025-03-26 21:16:37 +00:00
Adrian Conlon f31442511f LR35902 analysis suggestions 2025-01-26 21:17:07 +00:00
Adrian Conlon 4b4181e12d Synchonise with unmanaged GB implementation 2024-10-14 11:04:51 +01:00
Adrian Conlon fa13852e53 Sort out GB timing (enough to pass Blargg, anyway) 2024-10-12 14:38:45 +01:00
Adrian Conlon 0bc3cb9d03 first round of .net 9 analysis 2024-10-12 13:15:14 +01:00
Adrian Conlon b38462bddf .net 9 gb analysis changes 2024-10-12 12:57:38 +01:00
Adrian Conlon 90c887d169 Use intrinsics, if possible 2024-08-05 20:32:34 +01:00
Adrian Conlon c8ac0f20dc Step can be split a little to make it easier to override. 2024-07-24 17:21:49 +01:00
Adrian Conlon d8fad7b988 Try to minimise use of "Word" from Register16 2024-06-30 12:30:07 +01:00
Adrian Conlon a64f370d7c Compilation fixes 2024-05-29 10:56:16 +01:00
Adrian Conlon 47ecdad3e8 Work towards accurate bus/memory/io timings. Especially Z80 m-cycle timing.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-07-05 00:09:51 +01:00
Adrian Conlon cd4af67177 Work my way through a bunch of the analysis suggestions.
Signed-off-by: Adrian Conlon <adrian.conlon@gmail.com>
2020-06-22 00:00:15 +01:00
Adrian Conlon bc491884b0 Synchronise HALT implementation for Intel style processors with the C++ version.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-08-29 09:05:31 +01:00
Adrian Conlon 583c5444a0 Correct a couple of small LR35902 timing issues.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-08-12 18:33:33 +01:00
Adrian Conlon f54ef07057 Couple of small refactorings, based on repeated bit patterns
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-08-07 13:27:03 +01:00
Adrian Conlon 5a7a3b5019 Tidy up EightBit.GameBoy namespace definition.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-07-28 11:50:25 +01:00
Adrian Conlon af82470f27 Correct a couple of LR35902 timing mistakes.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-07-27 10:24:03 +01:00
Adrian Conlon 800eff05a6 Correct AF value in LR35902 emulator
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-07-26 00:58:54 +01:00
Adrian Conlon 8dea5746c4 Tidy up stylecopy usage for the LR35902 set of libraries.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-07-21 13:11:00 +01:00
Adrian Conlon b6ced1ddd5 Use "InvalidOperationException" for invalid opcodes in LR35902 emulation (for Fuse test runner)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-07-19 23:58:26 +01:00
Adrian Conlon 7f30fcf4b2 Whoops: extra blank link crept in.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-07-14 17:49:35 +01:00
Adrian Conlon 3eb3975e37 Add an initial stab at LR35902 (aka GameBoy) support. Untested and no disassembler though...
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2019-07-14 17:46:57 +01:00