Reverse engineering a 1985 IBM keyboard (and building a USB converter for it)

Поделиться
HTML-код
  • Опубликовано: 26 окт 2024

Комментарии • 17

  • @graemedavidson499
    @graemedavidson499 Год назад +3

    You gave me a big Deja Vu moment. The 8021 keyboard controller died in my Victor 9000 keyboard which led me on a wonderful journey in replacing it with an Arduino Nano. Works a treat but it was very much a personal challenge!

  • @klingklangklongklung
    @klingklangklongklung Год назад +1

    Really great reverse engeneering, but take care, those kinds of typewriters are really rare and worth enough to preserve in original condition!

  • @andreasbaumann6943
    @andreasbaumann6943 Год назад +1

    Cool project. 🙂
    I also managed to get my IMC-2001 keyboard working (roughly 1984). It had some defect ICs and some broken cables. That keyboard has a MCS-48 clone CPU in it (CIC8039E) and the protocol proved to be simple 7-bit ASCII with a stop bit on serial 19200 baud. There is an additional signaling line leading directly to a register on the motherboard (presumably latching in the current value of the key pressed into a memory mapped byte in memory). And it has a active low reset line for the Apple ][ reset key.

  • @frankjansson7563
    @frankjansson7563 10 месяцев назад +1

    Great video!

  • @sereminar4
    @sereminar4 3 месяца назад

    Really cool video!

  • @diamanteduul8084
    @diamanteduul8084 Год назад +1

    great watch thanks!

  • @LynxSnowCat
    @LynxSnowCat Год назад +2

    Great use (adaptation) of a typewriter keyboard.
    Poking at the code you've shared - I wonder if the original programmer used goto's to keep their switch statement orderly, or if it's a quirk introduced by the compiler.

    • @hjalfi
      @hjalfi  Год назад +2

      I'd imagine that the original code would have been hand-written assembly. It's actually all strung together with gotos, written as a big state machine, and makes clever use off the 8051 register banks so a lot of state is kept in registers long term (not that the 8051 really has RAM, as such!). The original source would be interesting to see.

    • @LynxSnowCat
      @LynxSnowCat Год назад

      @@hjalfiI'd like to see it too.
      There used to be an Atom (depreciated) plugin that would allow scope-aware renaming of {function and variable} names that I found really useful when un-obstuficating code.
      I wonder if it has been ported to another editor yet.
      *EDIT:* better, there are many more 'refactoring' plugins for other editors now than way back when I last searched.
      *Edit 2:* questionable, not all of them claim to be scope aware...

  • @agranero6
    @agranero6 Год назад +3

    You used a buck converter? I bet with you that the -5V line is powered by a 7905, the fix would be simpler than you think.

    • @hjalfi
      @hjalfi  Год назад

      Most likely, yeah, but simply getting access is a pain. I also wonder whether the sensor failure is because something else is relying on the -5V line upstream of my fix, although I can't imagine what.

  • @BobMonsen
    @BobMonsen 9 месяцев назад +1

    What is that reverse engineering tool you were using? Thx

    • @hjalfi
      @hjalfi  8 месяцев назад

      That'll be ghidra, courtesy of the NSA.

  • @scarpaz
    @scarpaz Год назад

    Amazing work!

  • @evilcraftknife5705
    @evilcraftknife5705 Год назад +1

    Can I have your old Unicomp keyboard? And your channel intro reminds me of @backofficeshow

    • @hjalfi
      @hjalfi  Год назад +1

      NO IT'S MINE! Although after the 6770 keyboard it does feel disappointingly mushy and imprecise...