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

Describe serial interrupt in serial interrupt section #555

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

quinnyo
Copy link
Contributor

@quinnyo quinnyo commented Jun 15, 2024

This removes the (out of place) description of the serial port from the 'Interrupt Sources' page and replaces it with a description of when the serial interrupt is requested (which is the main thing that should be there).

This fixes #528, but I haven't moved any of the deleted text to the Serial Data Transfer page. It was almost all redundant. I don't think we're losing anything. But there is a couple of statements that aren't definitely wrong and also aren't explicitly mentioned on the main Serial page:

The state of the last bit shifted out determines the state of the output line until another transfer takes place.

I read this as saying that the output line level is only changed when transmitting a bit that differs from the last one -- i.e., once per clock cycle at most.
I don't see how or why the behaviour would be otherwise. So maybe it's just describing something obvious (to me?) or maybe I don't know what it means.

The Game Boy does not support wake-on-LAN. Completion of an externally clocked serial transfer does not exit STOP mode.

This one is just weird. Wake-on-LAN?!
I wouldn't expect the serial port to be doing anything during STOP mode.
There's no reason to expect the/a remote device to have such control via the serial port.


Again, I don't think these are important enough to keep/move, but I found them confusing so maybe I'm missing something.

Replace the full text (a misplaced general description of serial data transfer) of the serial interrupt section with a short explanation of when the serial interrupt is requested.
@ISSOtm
Copy link
Member

ISSOtm commented Jun 18, 2024

Here's what I think they are intended to mean:

The state of the last bit shifted out determines the state of the output line until another transfer takes place.

This is saying that the last bit emitted on the bus "sticks" until the next clock cycle, instead of e.g. briefly pulsing one way or another.

The Game Boy does not support wake-on-LAN. Completion of an externally clocked serial transfer does not exit STOP mode.

I'd guess that the serial circuitry still functions in STOP mode (since it's essentially async from the rest of the system?), but does not exit STOP mode?

@pinobatch
Copy link
Member

pinobatch commented Jun 18, 2024

"Wake-on-LAN" refers to a feature by which an Ethernet adapter can bring a PC out of its counterpart to STOP mode. If there were a way to wake an externally clocked Game Boy through the serial port, some specialized uses would become possible.

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

Successfully merging this pull request may close these issues.

Serial transfer is re-described in the interrupts page
3 participants