4 comments

  • addaon3 days ago
    ADB was pretty solid. A shared-single-wire bus that allows multiple slaves by including an address in the message... but includes a protocol-level reset that's used regularly, so a missed single bit doesn't jam things up unrecoverably. When I think of how many fewer hours of my life I would have wasted had I2C learned this lesson...
    • buildbot3 days ago
      Oh is that why I2C seems to just hang/break whenever I use it for a DIY project? Does everyone just reset the bus all the time?
      • addaon3 days ago
        The I2C protocol is a distributed state machine. Each slave node needs to know what bit in the message sequence is being sent, to match it against its own address. As a result, a single missed bit results in a slave not recognizing its own address and going dark -- or, worse but rarer, potentially recognizing its address in the midst of data sent to another slave, and responding inappropriately. Observing this in a real system indicates either a signal integrity issue or a bug, but signal integrity issues do happen, and this non-recoverable behavior is somewhat unique to I2C, and somewhat cursed, turning what would be a transient error into a permanent one. In practice, most I2C devices have some mechanism for recovering (sufficiently long pulse on clock line, so many clock edges all low, a dedicated reset pin); and for the few that don't, forcing a reset of the device through a high-side drive or similar works fine; but the fact that these mechanisms are outside of the protocol, rather than inside it, is also cursed, and means that for an I2C bus of mixed devices there's not guaranteed to be a single method acceptable to all of them.
      • eternityforest2 days ago
        Yes, but every device is slightly different and sometimes you need obnoxious hacks to even detect that there is a problem at all...
  • korhojoa3 days ago
    As the author mentions doing it, a note regarding retrobright: it seems to cause faster yellowing than not using it. <a href="https:&#x2F;&#x2F;youtu.be&#x2F;_n_WpjseCXA" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;_n_WpjseCXA</a><p>Maybe just let your items show their age.
    • inferiorhuman17 hours ago
      Honestly it&#x27;d be really cool to see some repro parts for these like an upper case (even without the Apple logo).<p>I junked my old AE2 ages ago and finally got a replacement today. If I knew then what I know now I would&#x27;ve salvaged a bunch of stuff off of it. Oh well.
  • zdw2 hours ago
    Has anyone calculated or measured the input lag of ADB vs other protocols such as PS&#x2F;2 or USB? This is unfortunately hard to search because most references on the web to ADB are for the Android Debug Bridge.<p>From the numbers given, it seems like ~2ms to send a packet (my math may be off), which is quite good when compared with other contemporary&#x2F;modern protocols (see: <a href="https:&#x2F;&#x2F;danluu.com&#x2F;input-lag&#x2F;" rel="nofollow">https:&#x2F;&#x2F;danluu.com&#x2F;input-lag&#x2F;</a> for examples)
  • justin661 hour ago
    It&#x27;s okay. It&#x27;s not as good as the SIO that came with the Atari 8-bit computers, but it&#x27;s alright.