Open KrisKennaway opened 5 years ago
There are so many things going on here - opinions on new unrelated functionality, opinions on testing methodologies, additions of reams of outside code using an outside assembler, etc. It would be much easier to review a simpler patch that just fixes flag incompatibilities and tests that using the existing methods.
Yes fair enough. Since it's taken me more than 2 years to get the code cleaned up (I lost it for a while) I wanted to get it into a complete form at least. But I'll try to split out the core fixes soon.
On Wed, Aug 21, 2019 at 1:20 AM Mike Naberezny notifications@github.com wrote:
There are so many things going on here - opinions on new unrelated functionality, opinions on testing methodologies, additions of reams of outside code using an outside assembler, etc. It would be much easier to review a simpler patch that just fixes flag incompatibilities and tests that using the existing methods.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mnaberez/py65/pull/56?email_source=notifications&email_token=AGSNUV4SJY2W2GR6BOQRDWTQFSC4TA5CNFSM4IN5ZNVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4YBJUI#issuecomment-523244753, or mute the thread https://github.com/notifications/unsubscribe-auth/AGSNUV3BKSX4XWMZTIIN7ATQFSC4TANCNFSM4IN5ZNVA .
Fixes the remaining issues with BCD compatibility discussed in #33 (but not the additional opcodes). This leans heavily on the following resources:
I have added a few things here that were useful in development:
added the ability to trace execution with a flag to mpu.step(). This was critical when trying to debug the behaviour of 6502 functional test code. At this point it is not necessary for the patch though, so I could remove or reimplement it.
helpers for executing test cases that are implemented as 6502 binary code
wired up Bruce Clark's BCD test suite, which now passes
added a test harness for executing Klaus Dormann's test suite, if the binary object files are separately provided (they are skipped if not present). These tests also now pass, with the exception of: 1) BBR/BBS opcodes available on the Rockwell/WDC 65c02 implementations, which are not supported yet 2) tests for NOP behaviour of certain unimplemented opcodes (in some 65c02 variants)