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

Merged
merged 1 commit into from
Jun 28, 2024

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.

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.

@quinnyo
Copy link
Contributor Author

quinnyo commented Jun 24, 2024

Thanks for the feedback!
I see no reason to port either statement over.

Details

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

This is a detail of the electronics and is the most obvious way that serial communication is implemented -- the signal level is only changed once for each bit, on the leading edge of each clock pulse. This is the default, simple, obvious way to do it. To do otherwise would "break the contract" with the connected device.

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

Mentioning wake-on-LAN out of nowhere is confusing. It also suggests the Game Boy has some sort of networking capability, but is lacking that feature.
The list of events and conditions that don't terminate stop mode may well be endless.

@avivace avivace requested a review from ISSOtm June 24, 2024 20:01
@ISSOtm ISSOtm merged commit 00ef66a into gbdev:master Jun 28, 2024
2 checks passed
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
4 participants