Skip to content
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

Properly handle unimplemented opcodes? #114

Open
st3fan opened this issue Dec 31, 2016 · 1 comment
Open

Properly handle unimplemented opcodes? #114

st3fan opened this issue Dec 31, 2016 · 1 comment

Comments

@st3fan
Copy link
Owner

st3fan commented Dec 31, 2016

We resolved #105 (ProDOS 2.4.1 crashing because it tried to use an unimplemented 6502 instruction for CPU detection) by simply aliasing all unimplemented instructions to nop.

But is that actually the right thing to do? Did Apple II programs rely on these instructions?

@st3fan st3fan changed the title Properly handle unimplemented opcode Properly handle unimplemented opcodes Dec 31, 2016
@st3fan st3fan changed the title Properly handle unimplemented opcodes Properly handle unimplemented opcodes? Dec 31, 2016
@paulhagstrom
Copy link

Some early protection schemes took advantage of undocumented opcodes. Not so much for function, I don't think, but most for "arity" (some undocumented opcodes take 1- or 2-byte arguments). So, later when the 65C02 defined some of them, the older programs would no longer boot. See, for example, 4am's writeup of Beer Run, specifically chapter 6 of the write-up txt file: https://archive.org/details/BeerRun4amCrack

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants