3 ms·
> I think many people are used to the idea that even if the OS does not provide drivers for specific devices, basic functionality like keyboard, mouse, and vide
by geocar 10y ago
> I think many people are used to the idea that even if the OS does not provide drivers for specific devices, basic functionality like keyboard, mouse, and video (even if it's something like a VGA 640x480 16 colours mode) should still be present --- partly to enable "bootstrapping" into more functionality by installing and troubleshooting the drivers.
Then I think people need to step back and appreciate that this "basic functionality" is actually really expensive in terms of price, space, power and performance.
Would they really pay more for Apple hardware if it booted up with a full internal USB or a PS/2?
What if it made the laptop heavier? Shortened the battery life? These things are very important to me: I wouldn't buy a heavier Mac.
Could this be mitigated with custom ASICs? Or a new power switch and some extra power controllers (e.g. a soft switch to turn off the fallback 8042 and start using the faster more sensible SPI interface)? Perhaps, but someone has to pay for it.
Moaning about things that don't make sense to change -- that someone just doesn't like, just makes that someone unhappy.
- userbinator 10y agoCould this be mitigated with custom ASICs? Or a new power switch and some extra power controllers (e.g. a soft switch to turn off the fallback 8042 and start using the faster more sensible SPI interface)? Perhaps, but someone has to pay for it. PS/2 has not been implemented with a real 8042 for a very long time. Standard laptop ECs which are cheap and widely available have optimised dedicated hardware to handle the protocol. Speed is not a problem either, because this doesn't need to be a physical PS/2 interface with a separate keyboard on the end of it --- in the designs I've seen, the EC scans the key matrix itself and just provides a PS/2 software interface. It really doesn't matter what the physical interface on a laptop is, since the software interface is what's important here; Apple could've used something similar to PS/2 but increased the clock rate to whatever they needed, and it'd still look the same and be compatible to existing software. USB is not a good idea from a power perspective since it is a polled bus and there's plenty of additional unneeded complexity throughout the whole stack, but PS/2 is interrupt-driven and extremely low-power. In fact, it is a synchronous serial protocol just like SPI, so what appears to have happened with these MacBooks is that Apple basically reinvented PS/2 in their own "Think Different" way.
- mjg59 10y ago>In fact, it is a synchronous serial protocol just like SPI, so what appears to have happened with these MacBooks is that Apple basically reinvented PS/2 in their own "Think Different" way. Ugh. Almost everybody uses SPI for touchpads these days, although they frequently also provide a PS/2 compatibility mode. Apple don't care about working with stock operating systems other than their own (the Bootcamp installer injects additional drivers for Windows), so they decided not to bother.
- geocar 10y ago> Apple could've used something similar to PS/2 but increased the clock rate to whatever they needed, and it'd still look the same and be compatible to existing software. If you deliver a byte per interrupt to be compatible with PS/2 then your system has to wake up more frequently than a DMA/SPI interface. > USB … is a polled bus > PS/2 is interrupt-driven and low-power enough for me. This is wrong. USB and PS/2 both deliver an interrupt when there is data available. USB can be configured to directly store the data in memory, so that in the ISR the operating system simply scans memory. PS/2 on the other hand has to be polled inside the ISR, whether there is data available or not. Not a problem for a keyboard, but touchpads send a lot of data (of course, this is why everyone uses SPI for touchpads) > It really doesn't matter what the physical interface on a laptop is, since the software interface is what's important here This is a common, but fundamental misunderstanding of how software and hardware work. Hardware is not mere programmable matter, it has wires and current, and those wires take up space, and that current draws down your battery. A lot of laptop vendors have to include "compatibility chips" that take up space and draw down battery because they don't control the software, but if they did control the software they could make their users happier.
- userbinator 10y agoIf you deliver a byte per interrupt to be compatible with PS/2 then your system has to wake up more frequently than a DMA/SPI interface. Nothing says Apple couldn't just add DMA capabilities to a PS/2 controller, sort of like how bus-master IDE works. USB can be configured to directly store the data in memory, so that in the ISR the operating system simply scans memory. That's just DMA, but the USB controller itself has to physically poll the bus. (Excepting some features in USB 3.x, which I don't think I've seen any use of currently for keyboards or mouses.) PS/2 on the other hand has to be polled inside the ISR, whether there is data available or not. Not a problem for a keyboard, but touchpads send a lot of data (of course, this is why everyone uses SPI for touchpads) If I remember correctly, the polling is only necessary for writing commands to the controller+device, and not the usual reading of data. There are plenty of touchpads that use PS/2 as well, and they usually appear to be mouses until switched to a different protocol mode. A lot of laptop vendors have to include "compatibility chips" that take up space and draw down battery because they don't control the software, but if they did control the software they could make their users happier. "compatibility chips" - such as? Hardware is not mere programmable matter, it has wires and current, and those wires take up space, and that current draws down your battery. The amount of processing required for a USB stack is far greater than for PS/2 and presumably Apple's custom SPI solution. I think the main point to take away from all this discussion is that although Apple could've taken an existing widespread and compatible interface with similar characteristics and enhanced it to fit their requirements, they didn't. ...and that obviously many users here are not "happier" because of it, but Apple doesn't care.