-
-
Notifications
You must be signed in to change notification settings - Fork 98
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
The big cycle unit rework #534
Conversation
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.
Thanks a lot, Sono! I appreciate that you took the time to survey the whole doc, and corrected some inconsistencies.
Arguably, what's left is explaining those two terms somewhere, but that would be part of a "overview"/"introduction" PR, so it's fine not to deal with it here.
This should go in the "Glossary" (see: #194) |
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.
Are those handwritten?
As a general practice, to have some maintainability, those graphs should be drawn on something like draw.io and both the "project" file (more easily editable) and the svg should be uploaded and kept in the repository.
Also, there are lot of useless arrow "diversion" caused by elements not aligned, such as:
Those are, indeed, hand-written. No editing tool I'm aware of supports "themed" SVGs. I understand the theoretical maintenance loss, but hear me out:
All of these are why I personally consider the tradeoff acceptable when weighed against the gains, chiefly in accessibility and hackability. Footnotes |
I paid a lot of attention trying to avoid bending the arrows, which required a lot of tweaking overall. Both of these are actually intentional, so I will lay out my rationale for you to judge. This is actually so that the "Timer tick" bubble lies at the same place on both the DMG and CGB diagrams. This mattered more in a tentative design I made where the two diagrams were shown on separate (responsive) columns, side by side. Now that this design has been dropped (the diagrams are too horizontal, they were terribly squished), I guess the bubble can be moved down a little? This was done because the two elements the arrows originate from are too close, necessitating at least one bend. Then, I felt that having only a single bend looked awkward, and made the two actions look asymmetrical, and thus having different priority. (Am I reading too much into it?) I considered another workaround in making one of the arrows arrive to the register from the top or bottom instead of the side; but looking at the diagrams, vertical arrows designate single bits of registers, whereas horizontal ones designate the register as a whole... which made such a workaround impractical. Another design I considered was pointing either of the two arrows (probably the "Reset" one) at the register title itself; only problem is, Footnotes |
And to answer a question that was asked on IM: yes, I'd say this PR should be considered content-complete; there is one last diagram not converted on the "Timer Obscure Behavior" page, but during the conversion process I realised that it is plain wrong, and fell into a rabbit hole of researching and correcting behaviour. Which is to say, I'd rather keep those corrections to a separate PR, working on it after this one is deemed acceptable. And I'd rather not expend the effort to convert a diagram before modifying it into something correct, even if it means temporarily having a style discrepancy and keeping some wrong info. (We already have many differing styles throughout the document anyway; big whoop.) |
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.
Alright, as far as my opinion goes, there's only the single TODO left to take care of. I expect someone other than me will want to review the few changes I have introduced, though.
The M-cycle crusade!
Fixes gbdev#492 by moving the DIV-APU bits from 5 and 6 to 4 and 5. Also applies the "TODO: correct the diagram" note. Also tries to reorganise the diagram and reword some bits to be more consistent with the rest of the document, and improve clarity.
Also restore the CGB version of that diagram
0034097
to
d66694d
Compare
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.
Alright, now this PR looks good to me!
Considering the last month of inactivity, and that the last change had some agreement from @avivace, I'll be merging this PR. Follow-ups can happen in separate ones.
SVGs have been accepted (on IM), if reluctantly, as a good enough compromise for now
I've read all pages, searching for instances where clock units in particular were either confusing, ambiguous, misleading, or simply just used wrong. This PR aids to fix all of these.
Notes:
TODO (perhaps for other PRs if these are outside of the scope of this PR):