Commit Graph

  • 647be6f224 More style changes Adrian Conlon 2024-10-09 21:16:55 +01:00
  • d5c0dcc175 Correct style issues Adrian Conlon 2024-10-09 20:05:37 +01:00
  • dc677e5358 Namespace tidying Adrian Conlon 2024-10-09 19:48:33 +01:00
  • ed4b4e3736 Flatten symbols namespace Adrian Conlon 2024-10-07 19:34:48 +01:00
  • 8d9e603165 Simplify section parsing Adrian Conlon 2024-10-07 19:23:12 +01:00
  • 297f3b8dff Make the intel hex file format parser easier to use. Adrian Conlon 2024-10-07 09:40:26 +01:00
  • b6043c3659 Whoops! Avoid joined test harness output Adrian Conlon 2024-10-06 15:56:05 +01:00
  • 591290c3f5 Refactor section entry extraction for clarity Adrian Conlon 2024-10-06 15:55:04 +01:00
  • ffe559d792 Add some simplifications for argument null exception handling Adrian Conlon 2024-10-06 13:24:04 +01:00
  • fa353d062c Exception simplification Adrian Conlon 2024-09-27 12:43:38 +01:00
  • d67cafe297 Prefer a more straightforward register exchange Adrian Conlon 2024-09-27 12:43:14 +01:00
  • e764033948 Make the Z80 test harness more like the 6502 Adrian Conlon 2024-09-27 12:41:06 +01:00
  • 34fb59eea0 Simplify addresable scope building Adrian Conlon 2024-09-25 16:32:58 +01:00
  • 709c71f14b Simplify dictionary access a little and note missing "multiples" references. Adrian Conlon 2024-09-25 10:31:23 +01:00
  • e9e558db98 Slight refactoring for clarifcation Adrian Conlon 2024-09-24 22:00:17 +01:00
  • 61ba72f10a Fully embrace reflected method of parsing symbols Adrian Conlon 2024-09-24 21:40:43 +01:00
  • 5d796ef669 Fully embrace reflection to define the debugging parser Adrian Conlon 2024-09-19 11:49:44 +01:00
  • b4e130aa9c Profile clarifications Adrian Conlon 2024-09-18 11:23:51 +01:00
  • 489b7b21e6 Clarifications of EightBit library Adrian Conlon 2024-09-18 11:23:18 +01:00
  • 0621b9ed1d More symbols improvements Adrian Conlon 2024-09-18 11:19:41 +01:00
  • 93c753c596 Easiest to use output from Split directly, rather than via a List Adrian Conlon 2024-09-17 20:08:45 +01:00
  • e221c5a0f0 Allow the "unparsed" case to run successfully (fixes Harte 6502 tests) Adrian Conlon 2024-09-17 18:26:12 +01:00
  • 53aa4a8820 Make the parser lazy Adrian Conlon 2024-09-17 12:31:02 +01:00
  • a2b3427b5c Improve symbol/span access speeds Adrian Conlon 2024-09-17 10:54:22 +01:00
  • de309e90db The frozen dictionary is interesting, but not used enough in this code to justify the extra complexity. Adrian Conlon 2024-09-17 08:51:38 +01:00
  • ac38312e50 Try to avoid intermediate data structures Adrian Conlon 2024-09-16 12:57:00 +01:00
  • 7ba78a830b First stab at asynchronous sysmbols parsing Adrian Conlon 2024-09-15 13:12:19 +01:00
  • 33a131b361 Updated 6502 test roms Adrian Conlon 2024-09-14 10:08:21 +01:00
  • b867b25408 Bring a little closer to the C++ test harness Adrian Conlon 2024-09-14 10:07:18 +01:00
  • 315ed8e040 Work in progress to correct fixup effect storage Adrian Conlon 2024-09-14 10:06:00 +01:00
  • c3f76bd3c7 Fix misspelled exception Adrian Conlon 2024-09-14 10:04:55 +01:00
  • ee0fd13ad5 More exception tidying Adrian Conlon 2024-09-14 10:03:49 +01:00
  • da56e79784 Correct a couple of small parser errors Adrian Conlon 2024-09-13 22:33:09 +01:00
  • 4ff8a22878 Correct exception text Adrian Conlon 2024-09-13 22:29:13 +01:00
  • 8a0f7736ed More W65C02 instruction implementations Adrian Conlon 2024-08-23 15:04:56 +01:00
  • f2e0be5006 Small speedup Adrian Conlon 2024-08-07 11:05:01 +01:00
  • 90c887d169 Use intrinsics, if possible Adrian Conlon 2024-08-05 20:32:34 +01:00
  • bb6bcb9e70 Fix "JAM" for latest version test revion Adrian Conlon 2024-08-05 17:09:52 +01:00
  • b3dee2ea80 Remove warning, re initialisation. Adrian Conlon 2024-07-26 12:14:32 +01:00
  • b4c2d5fcff Implement WAI and STP Adrian Conlon 2024-07-26 12:13:50 +01:00
  • a4e7e1c499 Some small tidy ups Adrian Conlon 2024-07-26 09:31:28 +01:00
  • c8ac0f20dc Step can be split a little to make it easier to override. Adrian Conlon 2024-07-24 17:21:49 +01:00
  • e746f218e3 Simplify some address assignment Adrian Conlon 2024-07-22 12:24:14 +01:00
  • bc8352f96a Start implementing W65C02 as a derived MOS6502 core. Adrian Conlon 2024-07-22 11:18:36 +01:00
  • c8055d65c3 Remove "unfixed page" output Adrian Conlon 2024-07-22 11:00:14 +01:00
  • 9c6586cdd0 Tie the 6502 disassembler to the "core" processor. Adrian Conlon 2024-07-22 09:31:03 +01:00
  • bba60b68bc Whoops: correct compilation error Adrian Conlon 2024-07-22 09:29:26 +01:00
  • d8735899d3 Harte test JSON files may be empty Adrian Conlon 2024-07-19 10:34:35 +01:00
  • ee584867c2 Modernise some more c# code Adrian Conlon 2024-07-18 11:38:02 +01:00
  • 68c7d4bfbd Note differing cycle counts in the line profiler output Adrian Conlon 2024-07-15 18:05:39 +01:00
  • 95fbfb3ccd Tidy total cycles calculations Adrian Conlon 2024-07-14 14:12:53 +01:00
  • fcc97bea7b Add address to line profile output Adrian Conlon 2024-07-14 14:06:37 +01:00
  • b62620d306 Add instruction counters to 6502 profiler Adrian Conlon 2024-07-10 20:38:55 +01:00
  • 607e93daad Simplify access to reflected symbol properties Adrian Conlon 2024-07-10 20:36:01 +01:00
  • f2b6fb1660 Better access to symbol scope dictionary from profiler. Adrian Conlon 2024-07-08 10:13:13 +01:00
  • e73d7a52b2 Show processor, as well as elapsed time in test harness. Adrian Conlon 2024-07-08 10:12:33 +01:00
  • b38cabc96d Parsing symbols shouldn't be done in constructor, but also, only when required. Adrian Conlon 2024-07-08 10:11:59 +01:00
  • b1eb4482fe Throw exception if section key already exists Adrian Conlon 2024-07-08 10:11:16 +01:00
  • bda4e14819 Save a single byte assignment in JSR implementation Adrian Conlon 2024-07-04 08:49:27 +01:00
  • d80f340081 Simplfy access to Z80 registers Adrian Conlon 2024-07-04 08:47:53 +01:00
  • 1321a909d0 Speedup profiler symbol lookup for 6502 Adrian Conlon 2024-07-01 23:30:30 +01:00
  • 0c8ed57b0d Add easy to use Register16 assignment methods Adrian Conlon 2024-07-01 23:27:35 +01:00
  • a9020ef0f0 Optimise Board events Adrian Conlon 2024-06-30 22:14:52 +01:00
  • 38c4c2972c More Word optimisations Adrian Conlon 2024-06-30 16:04:15 +01:00
  • 276b53eda6 Update test framework Adrian Conlon 2024-06-30 15:07:21 +01:00
  • 0039b06465 Couple of hacked Z80 disassembler changes Adrian Conlon 2024-06-30 15:06:46 +01:00
  • 1a9b6d3db6 More "Word" optimisations Adrian Conlon 2024-06-30 14:36:32 +01:00
  • d8fad7b988 Try to minimise use of "Word" from Register16 Adrian Conlon 2024-06-30 12:30:07 +01:00
  • 325bee8539 Couple of small processor improvements Adrian Conlon 2024-06-29 22:50:52 +01:00
  • 86d9b7d8eb Tidy some spelling inconsistencies in the 6502 implementation Adrian Conlon 2024-06-29 22:27:39 +01:00
  • 9e733730b9 Split the 6502 implementation, so I can implement variants Adrian Conlon 2024-06-29 21:20:25 +01:00
  • 9979606757 Small performance/readability mod Adrian Conlon 2024-06-29 18:36:54 +01:00
  • 6e46c8e47f Rationalise use of "intermediate" Register16 Adrian Conlon 2024-06-29 13:38:55 +01:00
  • 7f0ca27412 Simplify 6502 ADC a little Adrian Conlon 2024-06-29 10:52:09 +01:00
  • 060481e4df For the moment, go back to the non-optimised (non-cached) access methods to symbol properties Adrian Conlon 2024-06-25 19:41:21 +01:00
  • ddef969d34 First stab at controlling debug symbols parsing y using attributes. Adrian Conlon 2024-06-24 17:09:13 +01:00
  • 7e7f10885a Show the fix/unfixed page on HarteTest failures. Adrian Conlon 2024-06-24 15:49:46 +01:00
  • f4757074d6 Hold unfixed page and make both fixed and unfixed page publically available. Adrian Conlon 2024-06-15 11:06:57 +01:00
  • 03d9ca9fe7 Simplfy some board/bus code. Adrian Conlon 2024-06-14 23:04:27 +01:00
  • ed830bfd53 Really, nulling and clearing parser data is just for debug builds. Adrian Conlon 2024-06-14 22:45:29 +01:00
  • 30f8b8a600 Some code simplifications Adrian Conlon 2024-06-12 16:36:54 +01:00
  • ef8f9f476b Experiment with FrozenDictionary Adrian Conlon 2024-06-12 00:13:30 +01:00
  • 445853f3fc Use IDictionary, rather than Dictionary to allow for different implementations Adrian Conlon 2024-06-11 16:40:12 +01:00
  • 84351ea0a8 Some minor code tidying Adrian Conlon 2024-06-10 20:49:03 +01:00
  • 5a58d2051f use a pre-determined list capacity, if available Adrian Conlon 2024-06-10 20:47:44 +01:00
  • fb79d456b0 Correct relative branch offset calculations in disassembly Adrian Conlon 2024-06-10 11:13:02 +01:00
  • 09f44ab28c Emit address hit counts Adrian Conlon 2024-06-10 11:12:02 +01:00
  • fa46edc8ba Instruction execution begins when the SYNC line is raised. Adrian Conlon 2024-06-10 09:48:28 +01:00
  • 889c632e1a Cache address scope resolution Adrian Conlon 2024-06-08 23:38:29 +01:00
  • 494b1ab8ac Let's try some LINQ Adrian Conlon 2024-06-07 18:53:47 +01:00
  • 8b6ef38a07 Some more tidying/optimisation Adrian Conlon 2024-06-07 11:11:22 +01:00
  • afed01cb8f Improve performance by not using a tuple to indicate range Adrian Conlon 2024-06-07 09:39:48 +01:00
  • 0089bde117 Switch entirely to fast lookups. Around 10 times faster than original code! Adrian Conlon 2024-06-06 21:30:49 +01:00
  • 71ce8cde51 Many speed-ups for profiler generation. Especially scope resolution Adrian Conlon 2024-06-06 15:11:26 +01:00
  • 35ea9c7b7d Fix profiler scope output Adrian Conlon 2024-06-06 09:08:54 +01:00
  • 0218652650 Tidy for possible klaus/sudoku testing Adrian Conlon 2024-06-06 00:47:17 +01:00
  • 93e1e903f6 Transition entirely to new symbols framework and wire profiler. Adrian Conlon 2024-06-05 23:52:35 +01:00
  • 81e9068310 Remove some more warnings Adrian Conlon 2024-06-05 21:57:37 +01:00
  • 0e9967bfa2 Improve time complexity of symbol lookup Adrian Conlon 2024-06-05 15:35:57 +01:00
  • 2123d2195a Sort out null warnings Adrian Conlon 2024-06-05 14:45:46 +01:00