Commit Graph

288 Commits

Author SHA1 Message Date
Adrian Conlon
e746f218e3 Simplify some address assignment 2024-07-22 12:24:14 +01:00
Adrian Conlon
bc8352f96a Start implementing W65C02 as a derived MOS6502 core. 2024-07-22 11:18:36 +01:00
Adrian Conlon
c8055d65c3 Remove "unfixed page" output 2024-07-22 11:00:14 +01:00
Adrian Conlon
9c6586cdd0 Tie the 6502 disassembler to the "core" processor. 2024-07-22 09:31:03 +01:00
Adrian Conlon
bba60b68bc Whoops: correct compilation error 2024-07-22 09:29:26 +01:00
Adrian Conlon
d8735899d3 Harte test JSON files may be empty 2024-07-19 10:34:35 +01:00
Adrian Conlon
ee584867c2 Modernise some more c# code 2024-07-18 11:38:02 +01:00
Adrian Conlon
68c7d4bfbd Note differing cycle counts in the line profiler output 2024-07-15 18:05:39 +01:00
Adrian Conlon
95fbfb3ccd Tidy total cycles calculations 2024-07-14 14:12:53 +01:00
Adrian Conlon
fcc97bea7b Add address to line profile output 2024-07-14 14:06:37 +01:00
Adrian Conlon
b62620d306 Add instruction counters to 6502 profiler 2024-07-10 20:38:55 +01:00
Adrian Conlon
607e93daad Simplify access to reflected symbol properties 2024-07-10 20:36:01 +01:00
Adrian Conlon
f2b6fb1660 Better access to symbol scope dictionary from profiler. 2024-07-08 10:13:13 +01:00
Adrian Conlon
e73d7a52b2 Show processor, as well as elapsed time in test harness. 2024-07-08 10:12:33 +01:00
Adrian Conlon
b38cabc96d Parsing symbols shouldn't be done in constructor, but also, only when required. 2024-07-08 10:11:59 +01:00
Adrian Conlon
b1eb4482fe Throw exception if section key already exists 2024-07-08 10:11:16 +01:00
Adrian Conlon
bda4e14819 Save a single byte assignment in JSR implementation 2024-07-04 08:49:27 +01:00
Adrian Conlon
d80f340081 Simplfy access to Z80 registers 2024-07-04 08:47:53 +01:00
Adrian Conlon
1321a909d0 Speedup profiler symbol lookup for 6502 2024-07-01 23:30:30 +01:00
Adrian Conlon
0c8ed57b0d Add easy to use Register16 assignment methods 2024-07-01 23:27:35 +01:00
Adrian Conlon
a9020ef0f0 Optimise Board events 2024-06-30 22:14:52 +01:00
Adrian Conlon
38c4c2972c More Word optimisations 2024-06-30 16:04:15 +01:00
Adrian Conlon
276b53eda6 Update test framework 2024-06-30 15:07:21 +01:00
Adrian Conlon
0039b06465 Couple of hacked Z80 disassembler changes 2024-06-30 15:06:46 +01:00
Adrian Conlon
1a9b6d3db6 More "Word" optimisations 2024-06-30 14:36:32 +01:00
Adrian Conlon
d8fad7b988 Try to minimise use of "Word" from Register16 2024-06-30 12:30:07 +01:00
Adrian Conlon
325bee8539 Couple of small processor improvements 2024-06-29 22:50:52 +01:00
Adrian Conlon
86d9b7d8eb Tidy some spelling inconsistencies in the 6502 implementation 2024-06-29 22:27:39 +01:00
Adrian Conlon
9e733730b9 Split the 6502 implementation, so I can implement variants 2024-06-29 21:20:25 +01:00
Adrian Conlon
9979606757 Small performance/readability mod 2024-06-29 18:36:54 +01:00
Adrian Conlon
6e46c8e47f Rationalise use of "intermediate" Register16 2024-06-29 13:38:55 +01:00
Adrian Conlon
7f0ca27412 Simplify 6502 ADC a little 2024-06-29 10:52:09 +01:00
Adrian Conlon
060481e4df For the moment, go back to the non-optimised (non-cached) access methods to symbol properties 2024-06-25 19:41:21 +01:00
Adrian Conlon
ddef969d34 First stab at controlling debug symbols parsing y using attributes. 2024-06-24 17:09:13 +01:00
Adrian Conlon
7e7f10885a Show the fix/unfixed page on HarteTest failures. 2024-06-24 15:49:46 +01:00
Adrian Conlon
f4757074d6 Hold unfixed page and make both fixed and unfixed page publically available. 2024-06-15 11:06:57 +01:00
Adrian Conlon
03d9ca9fe7 Simplfy some board/bus code. 2024-06-14 23:04:27 +01:00
Adrian Conlon
ed830bfd53 Really, nulling and clearing parser data is just for debug builds. 2024-06-14 22:45:29 +01:00
Adrian Conlon
30f8b8a600 Some code simplifications 2024-06-12 16:36:54 +01:00
Adrian Conlon
ef8f9f476b Experiment with FrozenDictionary 2024-06-12 00:13:30 +01:00
Adrian Conlon
445853f3fc Use IDictionary, rather than Dictionary to allow for different implementations 2024-06-11 16:40:12 +01:00
Adrian Conlon
84351ea0a8 Some minor code tidying 2024-06-10 20:49:03 +01:00
Adrian Conlon
5a58d2051f use a pre-determined list capacity, if available 2024-06-10 20:47:44 +01:00
Adrian Conlon
fb79d456b0 Correct relative branch offset calculations in disassembly 2024-06-10 11:13:02 +01:00
Adrian Conlon
09f44ab28c Emit address hit counts 2024-06-10 11:12:02 +01:00
Adrian Conlon
fa46edc8ba Instruction execution begins when the SYNC line is raised. 2024-06-10 09:48:28 +01:00
Adrian Conlon
889c632e1a Cache address scope resolution 2024-06-08 23:38:29 +01:00
Adrian Conlon
494b1ab8ac Let's try some LINQ 2024-06-07 18:53:47 +01:00
Adrian Conlon
8b6ef38a07 Some more tidying/optimisation 2024-06-07 11:11:22 +01:00
Adrian Conlon
afed01cb8f Improve performance by not using a tuple to indicate range 2024-06-07 09:39:48 +01:00