-
Notifications
You must be signed in to change notification settings - Fork 193
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
hfe: Process opcodes when writing #825
Conversation
Also what's the test case? Is it particularly hard-sector index opcodes, or are other opcodes also tested? |
The start of a write corrupting OP_Bitrate applies to v3. That's hard to reliably trigger, but disasterous. Writing over OP_Bitrate in other cases is asking for confusion, but could probably be done a bunch without being noticed. OP_Index is important for v4, as otherwise writing to the last sector would break the track. Overwriting OP_Index could impact v3, but only sofar as you corrupt the image so it no longer works in HxC. |
Thanks. I added some more review comments. Hopefully the ones regarding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The w[i++]
stuff worked out well.
I've made the changes, but it is essentially untested (I ran FF_TestBed, but that doesn't use hfev3). I'm going on vacation and not bringing Goteks, so it'll probably be two weeks before I can do that. I can rebase my file-cache branch on top of this while on vacation though, so it is ready when I get back.
Looking really good. Two minor comments. This can all wait until after vacation as I'm not making a v3.x release in the immediate future. I also want to rework the DSK, IMG streaming write code a little bit anyway, as I realised that in getting you to check for 128 bytes available in the main loop, I at least theoretically broke the Data Field CRC check (which needs only 2 bytes). I may end up doing more and if so I may make it a PR for you to review. |
Thanks for iterating on this. I've squashed it all together and committed to |
No description provided.