The good old days
The good old days
The good old days
Hah! This might be the best use of this meme template I've seen. And this template has a lot of good ones.
I feel like I should understand this, but I don't.
This is x86 assembler. (Actually, looking at the register names, it's probably x86_64. On old school x86, they were named something like al, ah (8 bit), ax (16 bit), or eax (32 bit).) Back in the old days, when you pressed a key on the keyboard, the keyboard controller would generate a hardware interrupt, which, unless masked, would immediately make the CPU jump to a registered interrupt handler, interrupting whatever else it was doing at the point. That interrupt handler would then usually save all registers on the stack, communicate with the keyboard controller to figure out what exactly happened, react to that, restore the old registers again and then jump back to where the CPU was before.
In modern times, USB keyboards are periodically actively polled instead.
The virgin USB: hey, uh, when you get a chance, uh, if it's not too much trouble, could you, uh, put an 'e' there? Whenever you get the chance is fine
The chad PS/2: THE USER SAID E.
You're right, but rax is amd64.
I think there were a few early amd64 systems with genuine ps2, and I think you can still get one, but it wasn't common, and honestly it's probably usb->ps/2.
To be a pedantic asshole: mov eax, ecx? Unless you're commenting on the insanity of interrupt driven i/O in the modern age of high performance, deep-pipelined superscalar OOO cores.
does that mean though that if I connect a PS/2 keyboard or mouse to my relatively modern computer (a "gamer" motherboard made ~6 years ago) 's PS/2 port, that it'll still trigger such an interrupt?
I had to write a mini os and it handled keyboard interrupts. Certainly made it make a lot more since after writing it for my uni course
The small bird is a CPU executing its instructions. The big bird is a keyboard sending an interrupt for the CPU to process immediately.
And their interrupt routine has an error that leads to changed memory and you don’t know why your Programm calculates „2+6=E“ and that only sometimes on every other run.
REISUB
Raising Elephants Is So Utterly Boring
!!! I just learned about this recently because my PC has an Nvidia GPU and it sometimes wakes up from sleeping to a blank screen with just the mouse cursor showing.
I try that REISUB first but if that doesn't do anything, I have to go to Ctrl-Alt-F3 and do "sudo reboot".
Linux is fun except for when it's not.
PS/2 ports?
Don't forget the xt/at port
I'm still mad they killed PS/2 on recent motherboards. So much for NKRO I guess.
Don’t want break your illusion but for the most part those were just USB adapters so you didn’t had any of the implementational benefits because under the hood it was still USB
Never mind recent motherboards, I'm still salty about the era of boards from 2004-2010 or so which had USB ports but the BIOS would refuse to accept inputs from them until after POST so you'd have to dredge up a separate PS/2 keyboard and jack it in to be able to configure the damn thing or use the boot menu.
And I had at least one board from that time period which has this same flaw, but with the added layer of joy and excitement that they've removed the PS/2 port block in order to appear "modern." It's still there, of course, but only as a pin header that you need to access from inside the case and plug a breakout board into. If you lose that board the gods themselves couldn't even help you. I used to keep it stuck with painters tape to the inside of the case side panel.
NKRO is available for USB keyboards too.
I don't know about AM5, but I'm running a 5700X3D on a motherboard that still has a PS/2 port. (Not that I'm using it, but it's there.) You can still have a pretty modern system with PS/2 if you really want it.
MOV AX! RB da X!