Commit Graph

404 Commits

Author SHA1 Message Date
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 e4494e943a PC only proceeds when HALT pin is raised 2025-05-04 00:36:01 +01:00
Adrian Conlon 853569b2ca Isolate REFRESH pin functionality 2025-05-04 00:35:14 +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 2501bdfd28 More block timing issues corrected. 16 issues remaining 2025-05-03 22:46:02 +01:00
Adrian Conlon 6d8a00876f Fix a bunch of "block" instruction timings. 16 problems remaining. 2025-05-03 19:51:36 +01:00
Adrian Conlon a0d45eace1 Fix display of registers (from alternate set) when viewing z80 problems 2025-05-03 19:18:03 +01:00
Adrian Conlon 26457b4a77 Correct timing for 16-bit arithmetic tests. 26 failures remaining 2025-05-03 15:03:04 +01:00
Adrian Conlon 68328d92fb Fix displaced timing on arithmetic operations for z80. 34 failures now 2025-05-03 14:40:38 +01:00
Adrian Conlon 506e2b9eda Fix some displaced memory load timing issues. 50 issues remaining. 2025-05-03 14:10:18 +01:00
Adrian Conlon f9754dd62f Fix some z80 eight-bit load timing issues. 58 issues remaining 2025-05-03 13:54:18 +01:00
Adrian Conlon 9f2079efae More z80 timing issues fixed. 70 issues remain 2025-05-03 13:21:36 +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 94b8da456b Fix loads of z80 timing issues. 84 timing issues remain. 2025-05-03 11:45:55 +01:00
Adrian Conlon 898a2bc7ea Try to bring the Z80 fusetest back to life 2025-05-03 02:09:31 +01:00
Adrian Conlon 946121defb Fix HALT instruction 2025-05-03 02:08:52 +01:00
Adrian Conlon 561483d65d More timing fixes. 255 timing errors 2025-05-03 01:31:44 +01:00
Adrian Conlon f4f4357a3e More z80 timing fixes, 261 errors 2025-05-03 00:51:20 +01:00
Adrian Conlon e1aa220409 Further Z80 timing fixes: 290 failures 2025-05-03 00:09:19 +01:00
Adrian Conlon 175069d6bf More Z80 timing fixes 2025-05-02 20:18:04 +01:00
Adrian Conlon 3617608e8c Fix a number of write timing issues 2025-05-02 17:46:33 +01:00
Adrian Conlon fda52af260 Only DJNZ has the extra tick (presumably to decrement the B register) 2025-05-02 14:07:15 +01:00
Adrian Conlon 935466ad6f Correct timing issues both conditional and unconditional relative jumpson Z80 2025-05-02 14:03:15 +01:00
Adrian Conlon 9670c3fd21 Start correcting timing issues in my Z80 implementation 2025-05-02 12:11:54 +01:00
Adrian Conlon 07330cc9c8 Move a routine into a slightly better place 2025-05-02 10:52:06 +01:00
Adrian Conlon 5bae07ff8d Add single stepping Z80 testing code 2025-05-02 10:50:49 +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 820fb707b9 Update to latest EightBit library 2025-03-29 14:38:36 +00:00
Adrian Conlon 1b1b92ac2c More event handling simplification 2025-03-29 13:18:54 +00:00
Adrian Conlon b461eb97d6 Prefer to use events directly, rather than through "On" methods 2025-03-29 11:31:47 +00: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 4db203de48 All interrupt handling state tests to work 2025-03-27 11:13:41 +00:00
Adrian Conlon e3258846a8 Whoops: missed addition of SM83 tests to solution. 2025-03-27 10:19:59 +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 3d6b549c76 Turns out using lambdas to control pins is lovely and correct, but terribly slow. Back to a more traditional method. 2025-03-24 20:18:04 +00:00
Adrian Conlon d4dc99b454 Use lambda functions to simplify CPU pin control 2025-03-23 11:08:36 +00:00
Adrian Conlon 8a68fc5856 Library fixes 2025-03-18 21:32:44 +00:00
Adrian Conlon a9db2f58bd miscellaneous fixes, especiall flags 2025-03-18 18:38:47 +00:00
Adrian Conlon 21770b2460 Take some analysis suggestions 2025-02-23 12:14:30 +00:00
Adrian Conlon 4676ea669a Simplification, but no fixes 2025-02-13 12:35:49 +00:00
Adrian Conlon e8d770c6bb Simplify i/o port handling in Z80 implementation 2025-01-27 21:23:47 +00:00
Adrian Conlon a15cff4588 Fix compilation problem 2025-01-26 21:57:05 +00:00