-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix implementation of BCD mode quirks on 6502 and 65c02 #56
Draft
KrisKennaway
wants to merge
20
commits into
mnaberez:main
Choose a base branch
from
KrisKennaway:decimal
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
https://github.com/Klaus2m5/6502_65C02_functional_tests for source and binary images (GPL'ed so not committing here) The 65C02 one currently is not passing.
trace the execution of the currently failing decimal-mode ADC test, see mnaberez#33
This fixes various bugs with ADC/SBC in decimal mode found by Klaus Dormann's test suite.
65C02 including invalid BCD arguments. These are ; Written by Bruce Clark. This code is public domain. ; see http://www.6502.org/tutorials/decimal_mode.html and obtained via Klaus Dormann's https://github.com/Klaus2m5/6502_65C02_functional_tests
6502-specific. The handling of invalid BCD arguments differs between 6502 and 65C02 and these are testing 6502-specific behaviour.
This reverts commit 5e7ade9.
This reverts commit fab1174.
klaus 65C02 one)
amb5l (Klaus2m5/6502_65C02_functional_tests#8) Minor modification to BRK when test completes instead of using 65C02 STP.
completion PC Streamline test harness a bit
Dormann ones if not present.
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 ***@***.***> 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
<#56?email_source=notifications&email_token=AGSNUV4SJY2W2GR6BOQRDWTQFSC4TA5CNFSM4IN5ZNVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4YBJUI#issuecomment-523244753>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGSNUV3BKSX4XWMZTIIN7ATQFSC4TANCNFSM4IN5ZNVA>
.
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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: