In todays edition of “stuff that I found in my storage” a PS/2 meme

Image transcription:

mov rax, rbx add rax, rcx HELLO IT’S THE KEYBOARD I HAVE AN IMPORTANT MESSAGE E

      • fatalicus@lemmy.world
        link
        fedilink
        arrow-up
        33
        ·
        2 months ago

        Ps/2 keyboards used interrupt when transferring data, meaning instead of waiting for the cpu to get the data it is trying to send when it is free, it will just interrupt what the cpu is currently doing and tell it to process what the keyboard is sending.

  • fulg@lemmy.world
    link
    fedilink
    arrow-up
    13
    arrow-down
    1
    ·
    2 months ago

    What bothers me the most here is that those are 64 bit instructions, which did not exist when PS/2 was a Thing. But I still chuckled, nice work.

    Back then our registers were 32 bits wide, and we liked it 🤣

      • fulg@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        My mistake then! Except for the 486 series I was strictly an Intel kid. I guess we often forget that AMD is the one who “won” the 64 bit war.

        I have fond memories of writing interrupt handlers (staying on topic…) and using Soft-ICE on my side monochrome monitor to debug them. Good times!

      • ZILtoid1991@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        I’m still using one PS/2 keyboard (BTC 5139), although it might be a PS/2 -> USB converter chip on the motherboard.

        • Aceticon@lemmy.world
          link
          fedilink
          arrow-up
          4
          ·
          2 months ago

          It makes sense given that even microcontrollers (which are a lot simpler than microprocessors) have dedicated hardware doing the send/receive part of the work which is independent of the processing core and will only fire interrupts if the send or receive buffers reach an empty state.

          This way of doing things was already usual before USB for things like I2C, Serial and SPI and whilst the USB protocol is significantly more complex, the same kind of design was also used for it.

      • gedhrel@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        Does usb use general dma or just a small n-byte buffer that needs regular servicing?

        (The last time I cared about serial IO it was for an atari 800, curious what the state of the art is.)

      • kevindqc@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        Oh, is that what the frequency I can set in my mouse app for? So it does the USB polling more frequently?

  • JackbyDev
    link
    fedilink
    English
    arrow-up
    5
    ·
    2 months ago

    Knock knock

    Who’s there?

    Interrupting cow

    Interrupting cow w-

    MOO!

    • TheRealKuni@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 months ago

      PS/2 keyboards and mice send an interrupt to the CPU and the CPU stops whatever it’s doing, handles the mouse or keyboard input, then goes back to what it was doing.

      This is not true of USB devices.

    • JackbyDev
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      edit-2
      2 months ago

      WRONG. While it interrupts the CPU the protocol is still orders of magnitude slower than USB. You’d be able to have read the key press from USB before PS2 even finished sending it.