-
-
Notifications
You must be signed in to change notification settings - Fork 93
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
Behaviour of "open" serial transfers #558
Comments
I have some limited test results about this. I tested various no-connection and live disconnection scenarios (cable out, power down, The table shows the various scenarios (remote status) and the value received.
Each status includes booting up in that configuration as well as forcing that configuration after some amount of successful transfers. I found no differences in that sense so I just condensed the table down. Test notes:
|
From a hardware standpoint, not connected and connected, unpowered are exactly what I would expect. For the "not connected" case, the SI pin has an internal pullup resistor, which sets a default value of 1. For the "connected, unpowered" case, the SoC pins other side will have clamping diodes going to ground and Vcc, for protecting against ESD and excursions outside the voltage rails. You could backfeed power to a device through these diodes, as showcased in this classic hack using an ATTiny microcontroller as an RFID tag. However, in this case there won't be enough power to power the SoC due to all the series resistors, and instead this will effectively just clamp everything to a logic low. For "connected, SC.7 == 0" I would expect the other side to permanently drive whatever was the last bit it output on the link port, in other words the previous transfer's bit 0, or a starting value of 0 if no transfer had been done since last reset. At least according to DMG-CPU-Inside, this is a fairly simple circuit where the ELYS latch in the bottom right of the schematic drives the output. Might be interesting to do some corner case research on GBC and especially GBA where the circuitry might be shared with the GBA's more advanced link port circuit. |
Originally raised as #556 (review):
This can be expanded to "what happens if the serial port is not connected to another console?"; to the best of my knowledge, bits shifted in are 1s, but this isn't stated clearly.
The text was updated successfully, but these errors were encountered: