I really appreciate that CPU manufacturers started adding dedicated hardware for things like decoding MP3's. Not sure about the machine learning hardware they put in it nowadays, but then, that's mainly Apple who do a lot of that for e.g. your pictures (so they don't have to send it to their servers).
MMX is integer math only. MP3s require floating point unless you hand code fixed point version of the decoder. In real life just recompiling with MMX support gives marginal difference https://www.cs.cmu.edu/~barbic/cs-740/mmx_project.html
MMX was pretty useless (reuses FPU registers = cant run FPU code in parallel) marketing gimmick from Intel designed to tick boxes, promoted with fake "designed for MMX" campaign https://www.mobygames.com/images/covers/l/51358-pod-windows-... spoilers: MMX enables one sound filter in the whole game, no speed difference. Ubisoft just made some extra cash by printing this on the box.
MMX was one of Intel's many Native Signal Processing (NSP) initiatives. They had plenty of ideas for making PCs dependent on Intel hardware, something Nvidia is really good at these days (physx, cuda, hairworks, gameworks). Thankfully Microsoft was quick to kill their other fancy plans https://www.theregister.co.uk/1998/11/11/microsoft_said_drop... Microsoft did the same thing to Creative with Vista killing DirectAudio, out of fear that one company was gripping positional audio monopoly on their platform.
> MP3s require floating point unless you hand code fixed point version of the decoder.
This is a weird statement. "MP3 encode/decode requires floating point unless you implement in fixed point such that you don't need floating point." It's perfectly possible to write fixed point MP3 decoders.
Sure, MMX wasn't that great, but it was Intel's first SIMD extension, was definitely intended to help with "things like MP3 decoding," and was followed by a ton of improved extensions with similar goals.
What's interesting is, I used to have this old 486 laptop. With Linux on it, I could run XMMS playing my MP3s and do other things and you could barely tell it was there. In Windows, playing an MP3 file with WinAmp took up so much CPU, you were stuck running only WinAmp.
Windows 9x had preemptive multitasking bolted on as an afterthought. Same engineering flaw that made it so crash-prone, with much of the kernel exposed read/write to the application for backwards compatibility with Windows 3.1. And Windows 3.1 did not have preemptive multitasking at all. Everything was cooperative running in one address space. If an application used anything from that era, the kernel could end up wasting way too many cycles handling the request. This made multitasking under high load dicey at best.
Linux is a fully preemptive OS with a kernel designed to return from system calls quickly, without blocking all the processes in the system. No surprise it fared better.
When I was a kid my school got a Sinclair ZX81 with 1k of memory. One 1k computer for the whole school! Once in a blue moon we would get class time on the computer - Our class got to program a 'turtle' to draw shapes on a big piece of paper.
I was so excited about it, and my mom had done some punch-card programming in university and so knew that this was going to be the future.
The Sinclair Spectrum 48k had just come out, and so we splurged and bought one.
We lived in Asia at the time, and games on cassette were difficult to get, so at 10 years old I spent hours typing in BASIC games from magazines, debugging and POKEing and PEEKing to see how things worked.
We must be nearly the same age. I remember entering pages of poke codes from a magazine for a game on my Commodore 64. Those really were great (if tedious) times :)
When I was a kid we had a BBC Micro. In university we had CD burners but if you bumped the computer or did anything else while it was burning the CD, the disc was ruined. :P
Oh yes and then right around the time 8x became possible (but cd-r only, cd-rw was still 4x initially I think) someone invented a way to continue after a buffer underrun instead of throwing away the disc. I think that really sold the faster burners because otherwise they were kind of useless for the increased risk of having a buffer underrun skmewhe in the process.
They were expensive coasters back then too! When I was in high school, I spent like $30 (was a ton of money to me back then) on blank CDs (like a 10 pack) only to have them all stolen out of my locker. No idea what the thief would have done with them, as CD burners were not common at all.
When I was 6 my parents decided to buy a PC for our home. I think it must have been a 286, but I really don’t remember. I do remember moving to a 386 and then a 486.
Lots of fond memories of norton commander, wordperfect and the old versions of battle chess.
Good times! I wish I had understood back then how much computers were going to change the world. Luckily my parents did.
Same story here. I remember being 5 or 6 years old. We had a DOS PC with an orange CRT display. I think it was also a 286. I still remember the commands to run Word Perfect and this game called Fun House. My first command line experience. Mostly my mom used the computer for word processing and printed off letters on our dot matrix printer.
Peeling off the edges of the pages printed on a dot matrix printer was either super relaxing or super stressful depending on what you had just printed.
Lucky you! The Commodore 64 to Pentium time frame was only 11 years (1982 -> 1993), and computers were expensive then. Being able to make major upgrades every ~2 years would have been a luxury.
These anecdotes mesh with what I remember. A friend in high school around 1999 had a Pentium 133; it could play MP3s without stuttering but it couldn’t do anything else while it did that.
I bought my first PC in the late 80s. It was an 8086 by Amstrad, with a 4Mhz processor, 512kb of RAM and no HDD.
It was running MS DOS 3.30 Plus and I made my first programs in GW-Basic.