Fun fact, the installer has more registry keys than there are seconds in this video. Can't believe the amount of effort that went into this whole thing! Utterly incredible.
@@dogewasfoundyeah it apparently bas 5409... and thats just for version 2, i can only imagine tbe amount .net 8 has if microsoft didnt eventually get their shit together since then...
That's because there's this thing called DCOM, or COM+ that basically takes a C++ class and turns it into 10 registry keys at minimum in the registry, so that C++ class can be used by any other DLL or software. Its all done because C++ never had binary compatibility between compilers and systems. DotNet uses it heavily internally because you know, it is made in C++, but C# must be able to call C++ objects and there's this JITtted code that must be able to use it via the marshall interop laywer, and the rest of the other software on the system, like Office and the rest of Windows also communicates like that. Really, that's an ingenuous solution to a very hard problem, how do you do Inter-process communication at scale ! It seems a lot of registry keys, but they are automatically generated, I remember using ATL for that in C++. So instead of just loading a DLL and calling C prototypes, you have to put them in the registry, for each "function", its literally just a more complex database of symbols, like the symbol table any EXE has.
I have to admit, I started the video just listening to it in the background, but as the story progressed, I became more and more invested in your struggle, until I stopped my chores altogether and was completely engrossed, gripping the arm of my couch, bating my breath to see whether you'd break the code or not (even if the title spoiled the end result). But at the end, seeing the programs run flawlessly, your hard work having been paid off, made a rush of endorfins flow through me and I was audibly cheering for your victory. I guess it just tells something about your narrative/editing skills, that even when knowing the ending, you were still able to capture my full attention. Windows 95 was part of my childhood, and whenever I see the chunky UI, I'm filled with nostalgia. I'm happy to see people still caring enough for this obsolete piece of software, to be spending hours and upon hours of their time to make something like this. As a token of my appreciation, here's a little something for your trouble, King! 🏆
Wow thank you so much! I really appreciate the kind words, it's the greatest compliment in the world to hear people genuinely enjoying and excited about what I make. Long live 9x!
I am 3/4th of the way into the video. I had to stop and write this. This is literally insane. I have never seen someone so unfazed by such a ginormous task. And with a SMILE on his face. It blows my mind that on top of that you made an entire top notch movie production and editing. Honestly I would have given up so so long ago or gone mad. I feel so small, as if this mission of yours is like asking me to carve down the Everest, with a spoon. A plastic spoon. Great job, this video now lives in my head for the next few years. Thanks. P.s: for my sanity, i must know, how? How did you manage to muster the willpower to follow through even when you faced brick walls?????
It's hard to begin but the point comes when something makes 'click' inside you and you just can't stop until you are finished. Maybe you must have at least some preposition for OCD or similar.
As someone who has been working at Microsoft for more than 30 years, and started around Windows 3.1, what you have accomplished has me completely amazed. Impeccable work, dedication, and drive for trying to push the envelope on what is possible. Your approach to troubleshooting was amazing, and your reasons behind it were amazing. It was a mountain in front of you that you felt needed to be climbed. Great job, this is fantastic!
Hi! Glad to see one of the windows developers! I have a questions: What was your first reaction when you found out that the Windows XP source code was leaked online? And what do you think about the possibility that there might be some group of enthusiasts who could rewrite the Windows XP kernel to perform tasks similar to the NT 10.0 kernel?
@@AndrewLentayreactos is trying to get the latter via reactos longhorn although no way for 10, as most of the core 10 api is current windows 11 (there are lots of new things)
Dude the fact that you did this project is insane on its own, but you also just MADE A FILM NOIR IN THE MIDDLE OF THIS VIDEO? So nuts dude, amazing work
the fact that this is not even remotely an uncommon thing to deal with when it comes to computers hurts my soul. You have no fucking idea how many hours I spent before I finally realized that, *_unlike every single other thing in the entire god damn language,_* C Macros are white-space sensitive. I literally lost like 5 straight hours of my life because there was a fucking space before a parenthesis. The greatest trick the devil ever pulled was inventing computers, because I refuse to believe anything else in human history has caused more suffering than computers and their BS antics.
This is one of the most impressive programming videos on the Internet - both from the actual achievement perspective, but also from the filming/editing/pacing/skit perspective. Bravo.
Sometimes it actually might matter more than we think. When I was doing my thesis in chemistry less than 10 years ago, we had this chromatograph that needed to be connected to a computer with win 95. Mostly because of the port used to connect the machine to the PC, but also the software wouldn't properly run on more modern versions. While a bit older than two other models we owned, the fact was that this was the best chromatograph we owned - not as versatile or flexible, but it was the one less prone to weird malfunctions and was very reliable (while the more modern one, I spent more time "debugging" - ergo, moving screws and valves around - than actually working) and cheap to run thousands of analysis. This meant that my working process was: - Run stuff on 95 and save to a floppy disk. I could only save 2 or 3 runs (my thesis involved thousands) per floppy due to file size. - Get the floppy on another computer with XP, because it had both floppy disk and support USB. This PC does not support either the modern software I needed to run analysis on, neither the old software from the other PC. It also didn't have internet, presumably, because the USB was connected to a PCI port instead of network card. Realise that most modern usbs aren't recognised by the PC for some odd reason, needed to find a 1Gb drive to be able to make it work. Save to usb. - Take the USB across the hall to a modern computer running (at the time) Win 8.1 and finally shove the files into my analysis software and upload them to the cloud. - Repeat this 10x a day. Everyday. For two years. While I'm not sure backporting would've solved anything here (but probably we would've been able to transfer that port into a more modern computer if we had been able to run the software), this just goes to show that there is still a lot of specialised equipment still to this day running on win95 and good will (because I very much doubt they bought a 20k equipment - 20k is considered economical by this equipment standards - to replace a fully functioning old one).
I checked ndphlpr.vxd file with a disassembler and it's really just a simple wrapper to get and set the thread context. Presumably on Windows 9x they could not use GetThreadContext and SetThreadContext because of some quirk. On newer versions they do not load that driver (obviously) and use GetThreadContext and SetThreadContext directly. Judging by paths in the .NET dlls (such as "f: tm dp\clr\src\debug\ee\debugger.cpp") ndp is just an internal codename or abbreviation for .NET. EDIT: I looked at the Win9x kernel and I think I understand why this is needed. In Win9x SetThreadContext changes the context immediately regardless of whether it's the current thread or another thread, while on newer versions an APC is used when changing the context of another thread. Presumably .NET needs the latter and it implements it through ndphlpr.vxd, also using an APC.
Okay, hear me out. 10:44 - I own that chair. I bought it for my daughter when she was 1 thinking it was a cheap plushy chair. It is easily the best-upholstered, nicest piece of furniture in my entire house. It is stupidly-nice for a elmo-faced piece of child furniture. Seeing it pop up in this video killed me.
The technical hurdles needed to do this are both significant and numerous, but the fact that you created an entire Oscar-worthy feature-length movie documenting some of the struggles involved is absolutely bonkers. Bravo good sir, bravo indeed!
ngl, my mans not only pulled the craziest card on us by putting in hours upon hours to contribute to software preservation, but produced a film on top of it. In all seriousness, I was not prepared to watch an hour long video, but the in-between bits were genius and made me watch the whole thing without stopping. Another W upload.
Not only does this scratch my nerd itch, but it is so well written and the sketches are fantastic. You’ve found a way to keep getting better over time.
I was interested in technological side of this video, would've sat, watched, and enjoyed it if it was just a dry explanation of what was done. But the creativity shown here had me hooked on a whole new level. Their was genuine suspense, I was sucked in. Honestly most modern studio produced films don't have the immersion and I'm glued to screen factor that this video does. MattKC you're incredible. Keep doing great things.
i rlly like mattkc, and expected nothing more than a video where he does this, like his previous videos. This is now my fav youtube video EVER. I hope we will see more.
You have God level patience and dev skills and your filmmaking skill is on another level. I had a lot of work to do but I simply couldn't stop watching. This was an experience!
This is the perfect intersection of retro nostalgia, technical prowess, insane dedication and artistic vision. Probably one of my favorite UA-cam videos of all time. I will show this around at the following chaos computer club meetings.
I wish! I'm only learning how to program. It would take me a decade to learn all this stuff. But I would totally make a parody film out of the journey to getting Pro Pinball games to work on modern machines. You can't even make an image of the discs that work without using some niche format only some programs, like Alcohol120% or DAEMON tools can make or use. And on modern machines there are security issues with the original discs and even disc images you can buy from the company. I have a cracked version of Big Race USA someone gave to me a couple of decades ago that still works on all machines and operating systems from Win98 to WIndows 11. So it's definitely possible. Maybe it even runs on Win95. I'm pretty sure I've only gotten and played the game after I got Win98. And I bought a disc copy and later all the other games as well and the digital versions in one pack and ended up sticking with playing the crack because it just works, unlike the disc and digital versions. But they did some really cool stuff.The physics, including spin and bounce against the glass worked very well. And they used audio tracks of live played music in the games, which was pretty rare back when The Web came out (didn't have bounce on glass yet) for MsDos. But it also makes it impossible for most disc burning software to copy both the files and the audio so they both work without a CD-rom. I found an old msi file I made with Alcohol120% way back when and I got that one to work by copying the game files and ignoring the installer, and it will play the audio and the game on Windows 10. So that's pretty cool. I would love to get all 4 games fixed and working properly on all systems. Two of them never worked without sound glitches on any system I've tried them on and some didn't work at all. And they've got great music and they're still great pinball games with a lot of cool and fun options to play with.
That's a LOT of armature porn They'd probably have to rebrand as Get Only Fans Hub or something... and that only covers half the primary functions the intranets were purposed for What about the cute kitty pics?
Wow... Just... Wow. I enjoyed *every* second of that. I don't know if it's a good thing or not, but, again... Wow. Both your technical and editing skills are amazing.
Oh wow, the lego island guy promised a technical deep dive, and delivered not only that, but a metric ton of editing AND an intriguing murder mystery on top of that. Great video!
Actually had a dream where people were using older OSs due to their simplistic designs and making it easy for programmers to make their apps backwards compatible. In my dream it was a retro movement and people were replacing things like smart TVs and smart appliance’s built in operating systems with older ones like 98 and using that to operate the devices. Not how any of that works but it’s wild to see a part of it even manifest in reality.
I had a story of sorts in mind similar to this but depending on what I want to tell it's either an alternate version of the early 2000s where human-like androids could run with Windows 95 through XP on the backend or something set in the aftermath of an apocolyptic event that lead to new tech becoming harder to come by. It's an interesting idea. And I'm also a HUGE sucker for retro futuristic settings in fiction ngl.
What's funny about this video is that it's basically a UA-camr movie and is better than other, "professional", UA-camr movies. On top of that, it's with a topic that you'd think would never be able to be generally entertaining. Fuckin' hell Matt, good job.
I have done exactly this but in reverse. Windows 95 16 bit software on windows 10. We had an old gateway PC for a UV-vis spectrometer that grad students kept alive with parts from ebay. Vendor wanted $10,000 for a the new software that runs on windows 10. So, I grabbed all the dependencies, registry keys, MFC dlls, and started them moving over from the Win 95 machine to the windows 10. Every time it threw an error, fix, patch, solve it, only to get another one. After a week it worked, flawlessly. It was like turning water into wine. We literally had a stack of floppy disks because thats the only way to get the data from the win 95.... But no more, now everyone can sign in with their SSO and get the data directly to their network drive. it was amazing...
"We literally had a stack of floppy disks because thats the only way to get the data from the win 95." Had a similar dilemma trying to rescue 15 years of Lloyd's Tensile machine data from a '95 box, fortunately it had an old optical drive so I could boot from a Puppy Linux CD which does support USB.
Oh boy, I hope you made a record of each of those items that were migrated, where they came from and where they go because if that machine ever were to be re-imaged… I’ve done a similar project but with a very “throw shit at the wall until it works” approach, got it working but then the machine went kaput before we could image it. Re-creating each step to get that old software working took longer than the first go-around. That was the day I learned creating step-by-step documentation is a vital task in the service of your future self not going insane.
I write NET 2.0 projects all the time. You'd be shocked the private companies, cities, government, and other projects that all still run on dinosaur technology. Though, the depressing part is so little people utilize NET 2.0 and they continue making their ever expanding code/framework in the old framework that will never translate to the new one. It's such a pain to force clients to move to NET 2.0 because I've got to tell them, "Your code won't last forever. Use Net 2.0 because then you can continue coding but the library will translate to newer projects". Because in the NET world, there was an apocalyptic event that split the NET environment. Anyone who was on the 4.7 (or now 4.8) NET framework got completely dropped by Microsoft for the newer NET core framework. The newer one is millions of times better, but it screwed everyone on the old framework. So I've basically been employed for a long time simply helping project after project after project get off of 4.7 and onto the newer core. That's my developer rant. Your welcome. You're weird if you read this. But if you did. Remember. USE NET 2.0 IF YOU ARE STUCK ON THE OLD FRAMEWORK! Please!
8 years ago I got a recruiter offer for compiler engineer job at a Texas bank who wanted a COBOL frontend written for LLVM and a backend for their System/360 mainframe which they no longer had a supported COBOL compiler for. A bank still using System/360 in ~2016 wasn't too surprising, and I briefly debated sending them a gigantic estimate for the labor (and then even though it would have been a doable project, fleeing to a remote Island with the money) but the scare words aside from COBOL which could no longer instill fear in me at that point and the ancient mainframe were "no longer supported compiler"... this implied a terrible lifetime spent supporting this machine until I drove to texas in a fit of rage, grabbed a 6 shooter out of the free 6-shooter basket at the entrance of the bank (I assume they have those, we nearly do in the midwest in [redacted] and we're not even known as a gun happy state) and plugging that machine full of hollow points until someone physically pried that gun from my warm live hands and forced me to start supporting the damn COBOL compiler again. I made the right decision in completely ignoring the recruiter, I think.
@@IllidanS4 No, not NET Framework 2. There's a completely different thing literally called, "NET Standard 2". It's not the same thing as NET Framework 2. You can thank Microsoft for that naming confusion lol. But the NET Standard project is compatible between the core and pre core frameworks. Thus, it's a great intermediary library to start translating data from a NET Framework 4 project. Which then means once your project in whatever capacity is ready to take the jump off of the NET Framework 4. The data you put on NET Standard 2.0 will be directly useable in the new core environment. Jumping straight from Framework 4 to the newer core versions is obviously the most preferred path. But many projects that're wayyyyyy too large can't convert immediately and have to continue to develop features in the old framework to keep operations going. But you can continue development in NET Standard 2.0 to keep operations moving while still moving the code to a location that'll translate towards the future. hope that makes sense.
@@slurp50s All clear; in fact I use .NET Standard 2.0 regularly as well. Though in my experience it is sometimes even less than the intersection of .NET Framework and .NET Core, but it is still nice and, of course, compatible with everything.
@@slurp50s .NET Standard 2.0 has been a great tool for us to port applications from .NET Framework to .NET Core. Well, the parts that *could* be ported anyway.
Oh my god, the bit of you on stage at the comedy club is killing me. I was laughing so hard my wife asked me to let her in on the joke. I ensured her it was very deep programmer humor and she wouldn't like it, but she insisted. I explained for about five minutes until she stopped me and said 'oh wait, you were right, this isn't actually funny at all.'
There's a lesson I'm taking from this that I love dearly. Sometimes there's not a elegant way to engineer your way out of a hole in a reasonable amount of time. Sometimes you have to roll up your sleeves and just brute force the problem to wrap your arms around it. There's some really nice nuggets of troubleshooting methodology in here and I'm a big fan.
Neighbor Discovery Protocol Helper and 0x40 means "NDP_NEIGHBOUR_SOLICITED" A network mode to connect 2 computers without a router. And this step announces the computer on this network.
We can now use way, way later versions of software on Windows 95. This is a huge step in the direction of allowing these older operating systems to fluidly integrate into society!
Someone, somewhere has a embedded Windows 95 OS controller in a factory that had no upgrade path options due to the vendor no longer being in business and being unable to afford anything beyond maintenance of the existing machines. You have no idea who is going to come out the woodwork but you almost certainly just saved a few million jobs globally with this project.
Not just some_one,_ *thousands* of mission-critical computers still run Win9x because redeveloping abandoned proprietary code has been cost prohibitive or not legally possible. If more industry apps were open-source, the situation might be different; closed-source code results in massive lost functionality once the rights-holders stop supporting it or change their business model.
When I worked at VMware, the primary reason that Windows 95 was an officially supported guest operating system was the demand from customers who used VMware to run legacy software on contemporary hardware.
Its funny you say that, youd be surprised how many 486 based machines are out in the field still running and useing win9x . the military is one for sure 386 and 486 still out at sea in ships being used to do one specific task and are good at it and continue to do so.
YES! Try my CNC Jr. Milling machine that ran Win3.1 on an IBM clone 80286. I bought it from a lock factory in Virginia in 2006 and immediadely built a new controller because there was no documentation on the card and I wasn't even sure of the bus architecture, I think it's pre- ISA bus. I upgraded to a computer running Win98, Win95's evil descendent.
I have to say, I am very surprised to not only see such a technical feat of backporting, but a good noir parody film. I've made movies with people, it's a lot of work. But you're also debugging. You are an inspiration!
@TUUK2006 i think its just you incorrectly thinking that. We arent talking plug in devices, these are custom built industrial devices with bespoke soldered motherboards and pin outs id dread to think what it would take to get that into a modern OS or virtualization. To be able to add newer apps via a later version of .net to 95 would assist their test outputs being trapped with the app versions of the time. They had some newer systems running on Seimens pcs7 devices that overcome some legacy issues but not by much.
@@TUUK2006 Read the comment again. *If* they need anything, it would be to run new code on 95. There are plenty of emulators and VMs that can make 95 apps work on modern OS's anyway so its the other way around that is the problem.
@@TUUK2006 You have some amazing audacity to misread a comment and tell the original commenter that they are wrong about a situation they experienced first hand and you haven't experienced at all.
This all is absolutely incredible! Your tremendous work, the fun and optimism you describe it with, and the film you've made! I truly love how deeply you dive into the details! Thank you, this is a video I'll be telling my friends about the next few days.
I cannot imagine how long this took to make but it was worth it. Your videos constantly remind me that in programming there is always a solution no matter how insurmountable a problem may look at first glance
Fun fact: the way that Microsoft used to make C# available everywhere was to acquire the company that created the unofficial port of C# to Linux and Mac, Mono, and take over the maintenance as an official MS project
Dude, the fact that you actually went out into the world to act out scenes for 2 second bits, spliced seamlessly into the flow of the video is the epitome of dedication to the craft. Absolutely top notch stuff, mate! 😸👍
I agree fully with your conclusion about software preservation being important, but there's an even simpler rationale for all this effort: Doing hard things is how we level-up.
Several things. 1. This was awesome - production quality was phenomenal - guest stars were awesome - beard growth was on fire 2. Dude, grow your beard you devilish man you 3. Cannot overhype these long form videos
I used to work in IT in the meat industry, we had multiple machines in factories across the world that still ran on 95 or 98 and had zero upgrade paths. When one went down if the spare didn't work (or just didn't exist) we would frantically scramble to bring up a VM backup of the machine and fight for ages to get it to talk with the old hardware. I can think of many situations where having this solution would have been useful. You sir, are a genius!
@@LumemDH So you value your taste over the lives of sentient non-human animals. Does that make murdering them okay? Would it be okay to kill humans for the same purpose?
I had a blast watching this! I don't know if UA-cam still does some annual award thing for best videos (or whatever it's called), but I would definitely nominate this one. WELL DONE, sir! ❤
You fucking popped off with this one WOW! I can't stress enough how good this vid is! Not only did you cover in detail your painful journey to running this thing, you also added a nice done narrative and comic gags to keep us entertained on this really long video, and having a very nice conclusion too. Glad to see how much you evolved over the years and looking forward to what you come up to next. Even when I was short aged I used to tinker around with old stuff and I still like to do, I remember that even at 9 years old I was tinkering with virtual machines and Windows XP on my Windows 7 netbook.
program: "what the FUCK. the driver did not send me the number i need. i will now refuse to work whatsoever until this issue is resolved" "0x40" program: "oh ok ☺"
I came for the retro-memes, but I stayed for a poignant lesson in why doing things because they are hard provides its own riches. Mad respect to you for this journey into the Win9x equivalent to the movie "Brazil".
31:52 Just speculating that the VXD file might be called "No Debugger Present HeLPR" and just checks on a kernel level (therefore loaded as a driver) if there's an active debugger.
Actually, scratch that. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP is where .net lists all the installed .net versions and NDP might be short for ".net Developer Pack" (which is what Microsoft used to call .net's distributable package in development/early on and then of course they couldn't ever change that registry key after that). So ndphlpr.vxd might be some kernel module to help figure out which version of .net is installed?! Not sure why this would need a driver, but it'd fit.
You just made history. you literally changed history. saved an unknown amount of programs which are unreadable - and dropped a movie while doing so. BRAVO!!!!
but if you embrace 30 year old version of windows Microsoft employees cannot spy on you record you on your webcam and master bate to you watching porn on your computer because windows 95 computers even the laptops did not have a built-in webcam so they cannot record from the webcam if you do not have one this is why new laptops have a built in webcam so Microsoft employees can record and watch you play with yourself and make you pay 45 grand so they can make the video disappear
Aside from the impressive effects and hard work, I like how you explained programming stuff to a newbie like myself. Had no idea what encoding was for example.
The crazy thing is that this would've been incredibly impressive even *without* the excellent cinematic sections but he absolutely blew all expectations out of the water, this is MattKC's magnum opus
The cinematography in this is amazing. Not only did you produce a genuinely informative and entertaining retro-tech video but you also made a FILM out of it. The sheer quality of it absolutely knocked my socks off and I loved the take on noir you added in the mix. Big W's all around man, this was a masterpiece.
At first i was skeptical, almost clicking off because i feared it would be a cringefest... i am so happy i didn't do that. I would have missed the best video he has done so far.
The fact that MattKC can revolutionize windows 95 backporting like this, creating something that will make similar projects indescribably easier and still have less than 1 million subscribers is insane to me. This man deserves millions of subscribers.
Seeing f4mi and CS188 was the best part. I love this little corner of UA-cam. Now I feel like I missing out on something by not knowing the first guesser.
There are so many bits and ideas and asides in this video, and I'm astounded by how basically all of them work and flow beautifully, not to mention the stellar execution. I've been subscribed for a good few years now, but you keep finding ways to surpass expectations. You're shining so brightly, I just hope you don't burn yourself out. Also, somehow putting aside the production (which I can't praise enough) for a moment, the project is an amazing achievement in and of itself. I don't know how you manage to get these things done while also documenting the process thoroughly enough to later tell the story in a compelling way. I'm in genuine awe. Thank you for your hard work! PS Also, you totally rock the facial hair.
Wow, was not expecting such a long-form return o_o Really digging the experimentation with filming styles in this video. It adds some variety that makes it really engaging to watch.
I distinctly remember going into CompUSA with my father when Windows 95 launched and it was a zoo. Wall to wall people, I had never seen anything like it...I was more interested in pawing through the discount software bin (found a cheap copy of the PC port of "Primal Rage")
i got weirdly invested in the noir section. especially when you came into the house with the gun & it was all tense, I legit forgot I was watching a video about windows 95 for a moment. great job on this!
but if you embrace 30 year old version of windows Microsoft employees cannot spy on you record you on your webcam and master bate to you watching porn on your computer because windows 95 computers even the laptops did not have a built-in webcam so they cannot record from the webcam if you do not have one this is why new laptops have a built in webcam so Microsoft employees can record and watch you play with yourself and make you pay 45 grand so they can make the video disappear
I clicked on this expecting a technological explanation of everything. I was not expecting a whole narrative arc, complete with a full noir detective case.
WOW. I have seen you do neat stuff, but I don't think I had any idea of the level of amazing software engineering skills you possess. Bravo, Matt. Also, I feel like you should tell Dave Plummer of Dave's Garage about this. I'm sure he would find it so cool!
2 parts really got me. 1: The comedian. I get that! Any time I try to talk to someone who isn't a computer programmer about programming they are dismayed. Like I am telling bad jokes. Some even heckle. Very real. And then there was the part where you dog walked a decompiler through 2 different systems at the same time. Win 95 and win 98. Dude, my jaw dropped. That would have been a nightmare. In the win 95 days, I used to walk the memory of my computer with a debugger for the love of it. I was bored, memory is interesting. Trying to track down an error like that? Well, it wouldn't take forever, but it would feel like it. It left me with a question, how did you figure out the instruction was SSE2? Your debugger flopped, and you wrote your own injectable .dll? Woah! That was miles beyond my level. The noir was cheeky. But this video was fantastic. I subscribed. Wow, dude. You are a code magician. Just wow!
Re: figuring out it was SSE2, he probably just searched up a suitably comprehensive x86 opcode chart and Ctrl+F'd through it for the initial byte of the un-decoded instruction.
The way you're simultaneously able to present this video in a way which non-developers can digest (me) and also offer very in-depth code analysis (for developers) is awesome. This is really good work.
"So I threw the files into the right places in Win95 and tried it out to see what would happen." It was at this point that my browser tab for this video crashed, in a moment of absolute comedic timing.
Back in the late 80's I tried learning assembly by just using the C128 monitor and not an actual compiler program. You stepping through the program line by line brought nightmare flashbacks.
Don't feel bad. I keep having to step through bash scripts, HTML, and other server code on a regular basis - and I'm not a programmer. I just run some servers.
A wise man once said DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS
Heck yeah!
Didn't expect a Steve Ballmer reference.
He also said "AAAAAHHAAAAAAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHH! WOO! COME ON!"
A wise man indeed
😂😂😂😂
DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS
DEVELOPERS DEVELOPERS DEVELOPERS
DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS
This is a phenomenal piece of cinematography you've produced here. It doesn't even look low-budget! (well, except for my 2 second cameo)
Aw c'mon the video would be nothing without that red hot 𝕾𝖎𝖝𝖙𝖞 𝕹𝖎𝖓𝖊
i honestly didn't even realize you were in the video, but just knowing you were in it makes it even cooler
holy shit cs is heh sis
oh, was CS the guy that said 69 was the number of registry keys added by the .net 2.0 installer?
YOO THE GOD OF YTPS IS HERE
Fun fact, the installer has more registry keys than there are seconds in this video. Can't believe the amount of effort that went into this whole thing! Utterly incredible.
so it has more than 3,113 registry keys? damn.
edit:
shit i didn't watch the whole dvideo before responding it does yes
@@dogewasfoundyeah it apparently bas 5409... and thats just for version 2, i can only imagine tbe amount .net 8 has if microsoft didnt eventually get their shit together since then...
That's because there's this thing called DCOM, or COM+ that basically takes a C++ class and turns it into 10 registry keys at minimum in the registry, so that C++ class can be used by any other DLL or software.
Its all done because C++ never had binary compatibility between compilers and systems. DotNet uses it heavily internally because you know, it is made in C++, but C# must be able to call C++ objects and there's this JITtted code that must be able to use it via the marshall interop laywer, and the rest of the other software on the system, like Office and the rest of Windows also communicates like that.
Really, that's an ingenuous solution to a very hard problem, how do you do Inter-process communication at scale !
It seems a lot of registry keys, but they are automatically generated, I remember using ATL for that in C++.
So instead of just loading a DLL and calling C prototypes, you have to put them in the registry, for each "function", its literally just a more complex database of symbols, like the symbol table any EXE has.
Why so many registry keys though? Does someone know?
@@tomaszsikora6723(ignore this lol) Around 5.000, Matt said it in act 2
Program: where’s my 40?
Matt: 40.
Program: there it is.
Ohhh, it just wants a cold 40oz, understandable
40
I have to admit, I started the video just listening to it in the background, but as the story progressed, I became more and more invested in your struggle, until I stopped my chores altogether and was completely engrossed, gripping the arm of my couch, bating my breath to see whether you'd break the code or not (even if the title spoiled the end result). But at the end, seeing the programs run flawlessly, your hard work having been paid off, made a rush of endorfins flow through me and I was audibly cheering for your victory.
I guess it just tells something about your narrative/editing skills, that even when knowing the ending, you were still able to capture my full attention.
Windows 95 was part of my childhood, and whenever I see the chunky UI, I'm filled with nostalgia. I'm happy to see people still caring enough for this obsolete piece of software, to be spending hours and upon hours of their time to make something like this. As a token of my appreciation, here's a little something for your trouble, King! 🏆
GOLLY!!!
Couldn't agree more. This truly was a captivating video. 10/10 production quality all around.
Wow thank you so much! I really appreciate the kind words, it's the greatest compliment in the world to hear people genuinely enjoying and excited about what I make. Long live 9x!
100 Dollars vor Euros? Holy banana pie's choco cream
@@HabibiBlxbergwhat
I am 3/4th of the way into the video. I had to stop and write this.
This is literally insane. I have never seen someone so unfazed by such a ginormous task. And with a SMILE on his face.
It blows my mind that on top of that you made an entire top notch movie production and editing.
Honestly I would have given up so so long ago or gone mad.
I feel so small, as if this mission of yours is like asking me to carve down the Everest, with a spoon. A plastic spoon.
Great job, this video now lives in my head for the next few years. Thanks.
P.s: for my sanity, i must know, how? How did you manage to muster the willpower to follow through even when you faced brick walls?????
It's hard to begin but the point comes when something makes 'click' inside you and you just can't stop until you are finished. Maybe you must have at least some preposition for OCD or similar.
Three quarterth
what currency is that
Yep, I don't know how he bypassed the Windows 3D Maze brick walls.LOL🤣🤣🤣
@@atomictransfusion israeli shekel
I did not expect this to be such a cinematography masterpiece. An amazing mix of education, entertainment, and raw passion. Thank you.
Its even got proper captions!!!
I wish i could donate to Matt, I'm just broke haha 😢
cinematography masterpiece?
what’s a BYN and why did you give MattKC 20 of them?
real
As someone who has been working at Microsoft for more than 30 years, and started around Windows 3.1, what you have accomplished has me completely amazed. Impeccable work, dedication, and drive for trying to push the envelope on what is possible. Your approach to troubleshooting was amazing, and your reasons behind it were amazing. It was a mountain in front of you that you felt needed to be climbed. Great job, this is fantastic!
Hi! Glad to see one of the windows developers! I have a questions:
What was your first reaction when you found out that the Windows XP source code was leaked online?
And what do you think about the possibility that there might be some group of enthusiasts who could rewrite the Windows XP kernel to perform tasks similar to the NT 10.0 kernel?
@@AndrewLentayreactos is trying to get the latter via reactos longhorn although no way for 10, as most of the core 10 api is current windows 11 (there are lots of new things)
That’s cool! What do you do?
But WHAT did you actually port over and how can we get it or use it?!
@@mauk2861What do you mean?
Dude the fact that you did this project is insane on its own, but you also just MADE A FILM NOIR IN THE MIDDLE OF THIS VIDEO? So nuts dude, amazing work
First 30 seconds I thought it was supposed to be parodying Mr. Robot tbh
@@EthanBlesch I was thinking that, he almost sounds like Elliot lol
I'm curious about what role more time: make it or produce a film about it
Still completely useless.
@@suprememasteroftheuniverse yeah man, art is definitionally useless. And?
Program: *eldritch screeching*
Matt: "40"
Program: *purring*
That would be 0x40, thank you very much 😉
Program: YOU SHALL NOT PASS
Matt: no u
Program: ... you know what, that's a valid point. Here's some more obscure clues for you to follow.
the fact that this is not even remotely an uncommon thing to deal with when it comes to computers hurts my soul.
You have no fucking idea how many hours I spent before I finally realized that, *_unlike every single other thing in the entire god damn language,_* C Macros are white-space sensitive. I literally lost like 5 straight hours of my life because there was a fucking space before a parenthesis. The greatest trick the devil ever pulled was inventing computers, because I refuse to believe anything else in human history has caused more suffering than computers and their BS antics.
@@robonator2945 autism
0x40*
This is one of the most impressive programming videos on the Internet - both from the actual achievement perspective, but also from the filming/editing/pacing/skit perspective. Bravo.
Minor spelling mistake
YEP
indeed, I don't like to think about perfection in life but this video changed my mind
Sometimes it actually might matter more than we think.
When I was doing my thesis in chemistry less than 10 years ago, we had this chromatograph that needed to be connected to a computer with win 95. Mostly because of the port used to connect the machine to the PC, but also the software wouldn't properly run on more modern versions. While a bit older than two other models we owned, the fact was that this was the best chromatograph we owned - not as versatile or flexible, but it was the one less prone to weird malfunctions and was very reliable (while the more modern one, I spent more time "debugging" - ergo, moving screws and valves around - than actually working) and cheap to run thousands of analysis.
This meant that my working process was:
- Run stuff on 95 and save to a floppy disk. I could only save 2 or 3 runs (my thesis involved thousands) per floppy due to file size.
- Get the floppy on another computer with XP, because it had both floppy disk and support USB. This PC does not support either the modern software I needed to run analysis on, neither the old software from the other PC. It also didn't have internet, presumably, because the USB was connected to a PCI port instead of network card. Realise that most modern usbs aren't recognised by the PC for some odd reason, needed to find a 1Gb drive to be able to make it work. Save to usb.
- Take the USB across the hall to a modern computer running (at the time) Win 8.1 and finally shove the files into my analysis software and upload them to the cloud.
- Repeat this 10x a day. Everyday. For two years.
While I'm not sure backporting would've solved anything here (but probably we would've been able to transfer that port into a more modern computer if we had been able to run the software), this just goes to show that there is still a lot of specialised equipment still to this day running on win95 and good will (because I very much doubt they bought a 20k equipment - 20k is considered economical by this equipment standards - to replace a fully functioning old one).
you could have made a serial connection between the two computers or used a network card between the two computers to transfer the files.
@@joelpichette well... that was kinda out of his field to know that hahahaha he did what he could
I could be wrong, but I really feel like this is the sorta situation where it's better to just use either a VM or something like WINE.
@@robonator2945 industrial standard would say absolutely no.
@@AVSE69 ah yes, the famous industrial standard "you must use a shitty, unreliable OS, otherwise your research is completely meaningless"
Windows 95❌
A fucking movie:✅
LETS GO
Oh jeez, I just noticed it’s an hour long! Today is a good day.
australian scott the woz with no glasses in computer diy hannel
This sort of video is why we should stop saying "content", and instead call it a film
@@BrokenCircus a film is technectly content just alot of it
I checked ndphlpr.vxd file with a disassembler and it's really just a simple wrapper to get and set the thread context. Presumably on Windows 9x they could not use GetThreadContext and SetThreadContext because of some quirk. On newer versions they do not load that driver (obviously) and use GetThreadContext and SetThreadContext directly.
Judging by paths in the .NET dlls (such as "f:
tm
dp\clr\src\debug\ee\debugger.cpp") ndp is just an internal codename or abbreviation for .NET.
EDIT: I looked at the Win9x kernel and I think I understand why this is needed. In Win9x SetThreadContext changes the context immediately regardless of whether it's the current thread or another thread, while on newer versions an APC is used when changing the context of another thread. Presumably .NET needs the latter and it implements it through ndphlpr.vxd, also using an APC.
This could be helpful
Given future projects at Microsoft have the pattern NxP (.NET Compiler Platform = Roslyn), I would guess that NDP means .NET Developer(?) Platform.
@@ZiggyTheHamster oh so it means .NET Developer Platform Helper
I'm so glad people understand this stuff so I don't have to.
How were you able to look at the kernel? Did it leak at some point?
Matt: 48:56 “the kind of patience you only have as a kid”
Also Matt: steps through a program for “days on end”
Windows 95 I love you come back to me not like Windows 11 which has me grey with all its problems
I had to look for a better version on BNH Software and it works fine.
While I definitely prefer the UI of 95 and subsequent 9x releases, modern systems even with their headaches are far more stable lmao
As the author of Rust9x (Rust language/standard lib ported to 9x/NT), glad to see other weirdos do similar things
wait, do people use rust unironically?
@@jailsonmendes6120 yeah?
@@jailsonmendes6120people use it ironically?
You did such a great job with Rust9x, it's a lot of fun to use!
Fuck rust
Okay, hear me out. 10:44 - I own that chair. I bought it for my daughter when she was 1 thinking it was a cheap plushy chair. It is easily the best-upholstered, nicest piece of furniture in my entire house. It is stupidly-nice for a elmo-faced piece of child furniture. Seeing it pop up in this video killed me.
lol
lol
Lol
lol
lol
The technical hurdles needed to do this are both significant and numerous, but the fact that you created an entire Oscar-worthy feature-length movie documenting some of the struggles involved is absolutely bonkers. Bravo good sir, bravo indeed!
I was more involved in the plot than most of the movie released last year.
Just incredible content. Big ups dude!
ngl, my mans not only pulled the craziest card on us by putting in hours upon hours to contribute to software preservation, but produced a film on top of it. In all seriousness, I was not prepared to watch an hour long video, but the in-between bits were genius and made me watch the whole thing without stopping. Another W upload.
I just finally stopped at the crime scene white board to give the 4 F's for respect. This is phenomenal so far. Damn I must be a total nerd.
"Preservation"
@@clownstep in retrospect it's probably not the right term
He basically tortured himself for our entertainment ☺️
It is only 30 min for me 😂😏
Not only does this scratch my nerd itch, but it is so well written and the sketches are fantastic. You’ve found a way to keep getting better over time.
I was interested in technological side of this video, would've sat, watched, and enjoyed it if it was just a dry explanation of what was done. But the creativity shown here had me hooked on a whole new level. Their was genuine suspense, I was sucked in. Honestly most modern studio produced films don't have the immersion and I'm glued to screen factor that this video does. MattKC you're incredible. Keep doing great things.
i just wish the sketches felt more intertwined, as by the end they felt like interruptions instead of being part of the entire point of the video.
i rlly like mattkc, and expected nothing more than a video where he does this, like his previous videos. This is now my fav youtube video EVER. I hope we will see more.
@@blazen123that's what all sketches are
@@oz_jones no sketches should not interrupt the flow of the video if they are a major part of it, these do however
You have God level patience and dev skills and your filmmaking skill is on another level. I had a lot of work to do but I simply couldn't stop watching. This was an experience!
This is the perfect intersection of retro nostalgia, technical prowess, insane dedication and artistic vision. Probably one of my favorite UA-cam videos of all time. I will show this around at the following chaos computer club meetings.
17:16 As someone who had to battle with encoding to read visual novels in the dark dark times of over a decade ago, this feels very personal
NEW MATTKC CONTENT!! 🥰🥰🥰
I only knew about encoding as a 16 year old because of Katawa Shoujo, man
@@dad_hoc based
Luckily these days you can just use WinRAR or PeaZip, set the encoding (from a drop-down list) and then extract.
I still see C:¥Users¥user¥Downloads
Imagine if every time you put a project on GitHub, you had to spend six months making a parody film explaining your process.
I wish! I'm only learning how to program. It would take me a decade to learn all this stuff. But I would totally make a parody film out of the journey to getting Pro Pinball games to work on modern machines. You can't even make an image of the discs that work without using some niche format only some programs, like Alcohol120% or DAEMON tools can make or use. And on modern machines there are security issues with the original discs and even disc images you can buy from the company.
I have a cracked version of Big Race USA someone gave to me a couple of decades ago that still works on all machines and operating systems from Win98 to WIndows 11. So it's definitely possible. Maybe it even runs on Win95. I'm pretty sure I've only gotten and played the game after I got Win98. And I bought a disc copy and later all the other games as well and the digital versions in one pack and ended up sticking with playing the crack because it just works, unlike the disc and digital versions.
But they did some really cool stuff.The physics, including spin and bounce against the glass worked very well. And they used audio tracks of live played music in the games, which was pretty rare back when The Web came out (didn't have bounce on glass yet) for MsDos. But it also makes it impossible for most disc burning software to copy both the files and the audio so they both work without a CD-rom.
I found an old msi file I made with Alcohol120% way back when and I got that one to work by copying the game files and ignoring the installer, and it will play the audio and the game on Windows 10. So that's pretty cool.
I would love to get all 4 games fixed and working properly on all systems. Two of them never worked without sound glitches on any system I've tried them on and some didn't work at all. And they've got great music and they're still great pinball games with a lot of cool and fun options to play with.
That's a LOT of armature porn They'd probably have to rebrand as Get Only Fans Hub or something... and that only covers half the primary functions the intranets were purposed for What about the cute kitty pics?
by this metric im already 50 years old
Should be a necessity
You know what? Let's make filmmaking a mandatory computer science class
Wow... Just... Wow. I enjoyed *every* second of that. I don't know if it's a good thing or not, but, again... Wow. Both your technical and editing skills are amazing.
You have won a subscriber for life, your work is amazing, shout out to you and your amazing team.
IT'S HERE
I've enjoyed seeing you and MattKC pop up in each other's videos!
Smasnug :D
your comment shows 1 day ago on a video uploaded 1 hour ago. time traveller
You're really EVERYWHERE on UA-cam !!! (and it's nice :))
old nerdy tech Cinematic Universe
why is this a cinematic masterpiece? i expected a documentary on how some guy ported some modern windows apps to windows 95
ifkr!! i didn't even realise this was a hour long
I wonder what took longer do to. Figuring out this kinda insane endeavor. Or turning it all into a freaking arthouse movie.
It's because it was not by his hand that he was once again given WinDbg.
Oh wow, the lego island guy promised a technical deep dive, and delivered not only that, but a metric ton of editing AND an intriguing murder mystery on top of that. Great video!
Actually had a dream where people were using older OSs due to their simplistic designs and making it easy for programmers to make their apps backwards compatible. In my dream it was a retro movement and people were replacing things like smart TVs and smart appliance’s built in operating systems with older ones like 98 and using that to operate the devices.
Not how any of that works but it’s wild to see a part of it even manifest in reality.
I had a story of sorts in mind similar to this but depending on what I want to tell it's either an alternate version of the early 2000s where human-like androids could run with Windows 95 through XP on the backend or something set in the aftermath of an apocolyptic event that lead to new tech becoming harder to come by. It's an interesting idea. And I'm also a HUGE sucker for retro futuristic settings in fiction ngl.
What's funny about this video is that it's basically a UA-camr movie and is better than other, "professional", UA-camr movies. On top of that, it's with a topic that you'd think would never be able to be generally entertaining. Fuckin' hell Matt, good job.
I have done exactly this but in reverse. Windows 95 16 bit software on windows 10. We had an old gateway PC for a UV-vis spectrometer that grad students kept alive with parts from ebay. Vendor wanted $10,000 for a the new software that runs on windows 10. So, I grabbed all the dependencies, registry keys, MFC dlls, and started them moving over from the Win 95 machine to the windows 10. Every time it threw an error, fix, patch, solve it, only to get another one. After a week it worked, flawlessly. It was like turning water into wine. We literally had a stack of floppy disks because thats the only way to get the data from the win 95.... But no more, now everyone can sign in with their SSO and get the data directly to their network drive. it was amazing...
I'm such a fan of such hikes
"We literally had a stack of floppy disks because thats the only way to get the data from the win 95."
Had a similar dilemma trying to rescue 15 years of Lloyd's Tensile machine data from a '95 box, fortunately it had an old optical drive so I could boot from a Puppy Linux CD which does support USB.
Oh boy, I hope you made a record of each of those items that were migrated, where they came from and where they go because if that machine ever were to be re-imaged… I’ve done a similar project but with a very “throw shit at the wall until it works” approach, got it working but then the machine went kaput before we could image it. Re-creating each step to get that old software working took longer than the first go-around. That was the day I learned creating step-by-step documentation is a vital task in the service of your future self not going insane.
I'm so confused, why did the vendor want $10,000?
So 10.000 usd diveded by a 40hr/ work week…. This guy was charging 250 usd/hour !
I write NET 2.0 projects all the time. You'd be shocked the private companies, cities, government, and other projects that all still run on dinosaur technology. Though, the depressing part is so little people utilize NET 2.0 and they continue making their ever expanding code/framework in the old framework that will never translate to the new one. It's such a pain to force clients to move to NET 2.0 because I've got to tell them, "Your code won't last forever. Use Net 2.0 because then you can continue coding but the library will translate to newer projects". Because in the NET world, there was an apocalyptic event that split the NET environment. Anyone who was on the 4.7 (or now 4.8) NET framework got completely dropped by Microsoft for the newer NET core framework. The newer one is millions of times better, but it screwed everyone on the old framework. So I've basically been employed for a long time simply helping project after project after project get off of 4.7 and onto the newer core.
That's my developer rant. Your welcome. You're weird if you read this. But if you did. Remember. USE NET 2.0 IF YOU ARE STUCK ON THE OLD FRAMEWORK! Please!
8 years ago I got a recruiter offer for compiler engineer job at a Texas bank who wanted a COBOL frontend written for LLVM and a backend for their System/360 mainframe which they no longer had a supported COBOL compiler for. A bank still using System/360 in ~2016 wasn't too surprising, and I briefly debated sending them a gigantic estimate for the labor (and then even though it would have been a doable project, fleeing to a remote Island with the money) but the scare words aside from COBOL which could no longer instill fear in me at that point and the ancient mainframe were "no longer supported compiler"... this implied a terrible lifetime spent supporting this machine until I drove to texas in a fit of rage, grabbed a 6 shooter out of the free 6-shooter basket at the entrance of the bank (I assume they have those, we nearly do in the midwest in [redacted] and we're not even known as a gun happy state) and plugging that machine full of hollow points until someone physically pried that gun from my warm live hands and forced me to start supporting the damn COBOL compiler again.
I made the right decision in completely ignoring the recruiter, I think.
So if you are on .NET Framework 4, you downgrade to .NET Framework 2?
("Core" is crucially missing here)
@@IllidanS4 No, not NET Framework 2. There's a completely different thing literally called, "NET Standard 2". It's not the same thing as NET Framework 2. You can thank Microsoft for that naming confusion lol.
But the NET Standard project is compatible between the core and pre core frameworks.
Thus, it's a great intermediary library to start translating data from a NET Framework 4 project.
Which then means once your project in whatever capacity is ready to take the jump off of the NET Framework 4. The data you put on NET Standard 2.0 will be directly useable in the new core environment.
Jumping straight from Framework 4 to the newer core versions is obviously the most preferred path. But many projects that're wayyyyyy too large can't convert immediately and have to continue to develop features in the old framework to keep operations going. But you can continue development in NET Standard 2.0 to keep operations moving while still moving the code to a location that'll translate towards the future.
hope that makes sense.
@@slurp50s All clear; in fact I use .NET Standard 2.0 regularly as well. Though in my experience it is sometimes even less than the intersection of .NET Framework and .NET Core, but it is still nice and, of course, compatible with everything.
@@slurp50s .NET Standard 2.0 has been a great tool for us to port applications from .NET Framework to .NET Core. Well, the parts that *could* be ported anyway.
You made a whole damn movie about debugging and compiling a hello world program, you're insane and I love you 😂❤ Happy holidays Matt! 🎅🍾
"The dump bin? What is this, my house?" got me so hard.
DAMN this production quality is GREAT
ONG
Eh
I thought it was filler and was 3 times longer than it needed to be
@@onlypuppy7 I mean you are technically correct, even I found some parts unnecessary but you can't deny that there was a lot of effort
@@pranavkulkarni6921 effort yes, but misplaced
This was beyond amazing. So much effort and hard work clearly went into this and it totally made it awesome!!
Bro is Scott the Woz, Vsauce, Linus Tech Tips all at the same time
i’m a game developer, and the workaround for printing the unhandled exception to the gui made me CRY laughing. genius.
As a webdev, I agree
you ever write for the GPU?
tanzytechgem490
just make updates, basic support only !
6:36 You cheeky for that one
yes
Vsauce reference
You know it's real when you hear moon men
Dang, it's so -subliminal- familiar I missed it
Oh my god, the bit of you on stage at the comedy club is killing me. I was laughing so hard my wife asked me to let her in on the joke.
I ensured her it was very deep programmer humor and she wouldn't like it, but she insisted.
I explained for about five minutes until she stopped me and said 'oh wait, you were right, this isn't actually funny at all.'
life of the programmer
There's a lesson I'm taking from this that I love dearly. Sometimes there's not a elegant way to engineer your way out of a hole in a reasonable amount of time. Sometimes you have to roll up your sleeves and just brute force the problem to wrap your arms around it.
There's some really nice nuggets of troubleshooting methodology in here and I'm a big fan.
Neighbor Discovery Protocol Helper
and 0x40 means "NDP_NEIGHBOUR_SOLICITED"
A network mode to connect 2 computers without a router. And this step announces the computer on this network.
Thanks, ancient wizard!
No way. Someone always knows!
probably looked in reactos or whatever
My guess was "New Driver Protocol Helper". I was close.
A wild greybeard has appeared!
As a .net dev I felt your pain when you discovered the GAC. So many problems on old framework versions were always just the fucking GAC.
I learned about the GAC during my masters but had forgotten about it until this vid, clearly I'd surpressed it lol
More like "Gak!" am I right??
We can now use way, way later versions of software on Windows 95. This is a huge step in the direction of allowing these older operating systems to fluidly integrate into society!
Embrace Operating system fluidity! Osfluidity!
Ageism is truly one of the most severe issues in tech.
I needed this, thanks!
Someone, somewhere has a embedded Windows 95 OS controller in a factory that had no upgrade path options due to the vendor no longer being in business and being unable to afford anything beyond maintenance of the existing machines. You have no idea who is going to come out the woodwork but you almost certainly just saved a few million jobs globally with this project.
Not just some_one,_ *thousands* of mission-critical computers still run Win9x because redeveloping abandoned proprietary code has been cost prohibitive or not legally possible.
If more industry apps were open-source, the situation might be different; closed-source code results in massive lost functionality once the rights-holders stop supporting it or change their business model.
@@prophetzarquon but if industry apps were open source it could be more easy to hack too.
When I worked at VMware, the primary reason that Windows 95 was an officially supported guest operating system was the demand from customers who used VMware to run legacy software on contemporary hardware.
Its funny you say that, youd be surprised how many 486 based machines are out in the field still running and useing win9x . the military is one for sure 386 and 486 still out at sea in ships being used to do one specific task and are good at it and continue to do so.
YES! Try my CNC Jr. Milling machine that ran Win3.1 on an IBM clone 80286. I bought it from a lock factory in Virginia in 2006 and immediadely built a new controller because there was no documentation on the card and I wasn't even sure of the bus architecture, I think it's pre- ISA bus. I upgraded to a computer running Win98, Win95's evil descendent.
I have to say, I am very surprised to not only see such a technical feat of backporting, but a good noir parody film. I've made movies with people, it's a lot of work. But you're also debugging.
You are an inspiration!
Wouldn't $19.95 have been better to donate...?
no.
I worked at a tape manufacturer not long ago that has all the lab testing equipment still on 95. Youll be making some very happy people out there.
Would be a great follow up video.
It's not working that way. He's got newer code working on an older OS. Not making 95 code work on modern OS.
@TUUK2006 i think its just you incorrectly thinking that. We arent talking plug in devices, these are custom built industrial devices with bespoke soldered motherboards and pin outs id dread to think what it would take to get that into a modern OS or virtualization. To be able to add newer apps via a later version of .net to 95 would assist their test outputs being trapped with the app versions of the time. They had some newer systems running on Seimens pcs7 devices that overcome some legacy issues but not by much.
@@TUUK2006 Read the comment again. *If* they need anything, it would be to run new code on 95. There are plenty of emulators and VMs that can make 95 apps work on modern OS's anyway so its the other way around that is the problem.
@@TUUK2006
You have some amazing audacity to misread a comment and tell the original commenter that they are wrong about a situation they experienced first hand and you haven't experienced at all.
This all is absolutely incredible! Your tremendous work, the fun and optimism you describe it with, and the film you've made! I truly love how deeply you dive into the details! Thank you, this is a video I'll be telling my friends about the next few days.
I cannot imagine how long this took to make but it was worth it. Your videos constantly remind me that in programming there is always a solution no matter how insurmountable a problem may look at first glance
Fun fact: the way that Microsoft used to make C# available everywhere was to acquire the company that created the unofficial port of C# to Linux and Mac, Mono, and take over the maintenance as an official MS project
Embrace, extend... then just keep doing that?
yeah pretty much lmaoo
although i guess by making the official runtime cross-platform it is _kinda_ being extinguished???
It's now named .NET Core,
So, Extinguish as "Return of the .NET Framework"?
@@stevethepocket why extinguish what makes money?
@@p4rk5hEven better, it's now the only version and just called .Net it's pretty neat
Dude, the fact that you actually went out into the world to act out scenes for 2 second bits, spliced seamlessly into the flow of the video is the epitome of dedication to the craft. Absolutely top notch stuff, mate! 😸👍
Many retro tech UA-camrs do this every once in a while, just saying (maybe retro Brite in your driveway doesn't count though).
Don't wanna mess up your 95 thumbs up but I +1 your comment.
@@TheSliderW it's 101 now haha
@@awesomeferret X )
I agree fully with your conclusion about software preservation being important, but there's an even simpler rationale for all this effort: Doing hard things is how we level-up.
This video about Windows 95 has no fucking business being this good.
Several things.
1. This was awesome
- production quality was phenomenal
- guest stars were awesome
- beard growth was on fire
2. Dude, grow your beard you devilish man you
3. Cannot overhype these long form videos
I used to work in IT in the meat industry, we had multiple machines in factories across the world that still ran on 95 or 98 and had zero upgrade paths. When one went down if the spare didn't work (or just didn't exist) we would frantically scramble to bring up a VM backup of the machine and fight for ages to get it to talk with the old hardware. I can think of many situations where having this solution would have been useful. You sir, are a genius!
What is your justification for murdering animals?
@@crtx3they taste good.
@@LumemDH So you value your taste over the lives of sentient non-human animals. Does that make murdering them okay? Would it be okay to kill humans for the same purpose?
@@crtx3 Their screams sound good to the ears.
"you don't wanna know how the sausage is made", in more than one way...
I had a blast watching this! I don't know if UA-cam still does some annual award thing for best videos (or whatever it's called), but I would definitely nominate this one. WELL DONE, sir! ❤
You fucking popped off with this one
WOW! I can't stress enough how good this vid is!
Not only did you cover in detail your painful journey to running this thing, you also added a nice done narrative and comic gags to keep us entertained on this really long video, and having a very nice conclusion too. Glad to see how much you evolved over the years and looking forward to what you come up to next.
Even when I was short aged I used to tinker around with old stuff and I still like to do, I remember that even at 9 years old I was tinkering with virtual machines and Windows XP on my Windows 7 netbook.
Matt: Makes a fucking movie
Also Matt: "Sorry it took so long to come out"
Bro don't be so hard on yourself, this was incredible!!!!
program: "what the FUCK. the driver did not send me the number i need. i will now refuse to work whatsoever until this issue is resolved"
"0x40"
program: "oh ok ☺"
I came for the retro-memes, but I stayed for a poignant lesson in why doing things because they are hard provides its own riches. Mad respect to you for this journey into the Win9x equivalent to the movie "Brazil".
31:52 Just speculating that the VXD file might be called "No Debugger Present HeLPR" and just checks on a kernel level (therefore loaded as a driver) if there's an active debugger.
either that or something to do with printing (Line PRinter). I know that's what the device was called in DOS
@@MiaKiesman I don't know whether to be afraid or amazed you guys know this...
Maybe something IPv6 related? NDP (Neighbor Discovery Protocol) Helper?
Actually, scratch that.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP is where .net lists all the installed .net versions and NDP might be short for ".net Developer Pack" (which is what Microsoft used to call .net's distributable package in development/early on and then of course they couldn't ever change that registry key after that).
So ndphlpr.vxd might be some kernel module to help figure out which version of .net is installed?! Not sure why this would need a driver, but it'd fit.
@@Manawyrm Have you seen when IPv6 was launched?
Really well done, loved the story and top notch editing. Thanks!
I really love your videos, but this one was just amazing. Thank you very much for this masterpiece!
You just made history.
you literally changed history.
saved an unknown amount of programs which are unreadable - and dropped a movie while doing so.
BRAVO!!!!
"50 minutes? what could he possibly have?" I didn't know the half of it. You nearly had me in tears by the end that was quite the incredible delivery
but if you embrace 30 year old version of windows Microsoft employees cannot spy on you record you on your webcam and master bate to you watching porn on your computer because windows 95 computers even the laptops did not have a built-in webcam so they cannot record from the webcam if you do not have one this is why new laptops have a built in webcam so Microsoft employees can record and watch you play with yourself and make you pay 45 grand so they can make the video disappear
Your videos are the most entertaining and interesting content out there for our "niche" 7:21 - seriously amazing work!
When you got to Orca, I had PTSD of forward porting installers for 16-bit apps to Windows XP for a School Network in a previous life!
Aside from the impressive effects and hard work, I like how you explained programming stuff to a newbie like myself. Had no idea what encoding was for example.
40:55 its so obvious he has no idea how to hold a gun
Oh my God, this is one of the best videos I've seen on your channel and in a long time on UA-cam!
The amount of effort and skill that went into this video is actually hella amazing, good stuff matt
The crazy thing is that this would've been incredibly impressive even *without* the excellent cinematic sections but he absolutely blew all expectations out of the water, this is MattKC's magnum opus
@@soli-ethd He really gave us an entire movie
People start singing in musicals for the same reason they start fighting in shonen anime: it's a way to convey intense emotion.
Thanks for an amazing (and relatable) video. Awesome job :)
The cinematography in this is amazing. Not only did you produce a genuinely informative and entertaining retro-tech video but you also made a FILM out of it. The sheer quality of it absolutely knocked my socks off and I loved the take on noir you added in the mix. Big W's all around man, this was a masterpiece.
At first i was skeptical, almost clicking off because i feared it would be a cringefest... i am so happy i didn't do that. I would have missed the best video he has done so far.
The fact that MattKC can revolutionize windows 95 backporting like this, creating something that will make similar projects indescribably easier and still have less than 1 million subscribers is insane to me. This man deserves millions of subscribers.
That's not how the algorithm works, you have to click bait, be the most annoying and pander to little kids to have millions of subscribers
I blame the fact that it was not by his hand that he was once again given... WinDbg.
Awesome stuff!
GUYS MATTKC JUST UPLOADED
AND ITS 51 MINUTES LONG
AND ITS ABOUT WINDOWS 95
YOOOO!!!
thanks for letting me know
YAY!
That was incredible! And you made a truly cinematic piece!
6:39 Vsauce logged in:
To many vsauce comments and im 5 hours late, im deleting mine
@@WastedDad Bro just keep it.
I've grown so accustomed to people using that as a vsauce reference that it didn't even register in my mind as one
the man just casually dropped the hardest cinematic masterpiece about back-porting the god damn dotnet framework
Seeing f4mi and CS188 was the best part. I love this little corner of UA-cam.
Now I feel like I missing out on something by not knowing the first guesser.
For what it's worth, I only recognized f4mi.
@@dominiknovosel883For me it's the other way around
Sounded like kenadian to me
There are so many bits and ideas and asides in this video, and I'm astounded by how basically all of them work and flow beautifully, not to mention the stellar execution. I've been subscribed for a good few years now, but you keep finding ways to surpass expectations. You're shining so brightly, I just hope you don't burn yourself out.
Also, somehow putting aside the production (which I can't praise enough) for a moment, the project is an amazing achievement in and of itself. I don't know how you manage to get these things done while also documenting the process thoroughly enough to later tell the story in a compelling way.
I'm in genuine awe. Thank you for your hard work!
PS Also, you totally rock the facial hair.
Wow, was not expecting such a long-form return o_o
Really digging the experimentation with filming styles in this video. It adds some variety that makes it really engaging to watch.
I distinctly remember going into CompUSA with my father when Windows 95 launched and it was a zoo. Wall to wall people, I had never seen anything like it...I was more interested in pawing through the discount software bin (found a cheap copy of the PC port of "Primal Rage")
i got weirdly invested in the noir section. especially when you came into the house with the gun & it was all tense, I legit forgot I was watching a video about windows 95 for a moment. great job on this!
Matt has massively matured both as a programmer and a content creator. It's really remarkable to see, love this so much. Kudos!
but if you embrace 30 year old version of windows Microsoft employees cannot spy on you record you on your webcam and master bate to you watching porn on your computer because windows 95 computers even the laptops did not have a built-in webcam so they cannot record from the webcam if you do not have one this is why new laptops have a built in webcam so Microsoft employees can record and watch you play with yourself and make you pay 45 grand so they can make the video disappear
Impeccable!
I clicked on this expecting a technological explanation of everything.
I was not expecting a whole narrative arc, complete with a full noir detective case.
I don't understand how so much production quality and gags were made for a video about porting apps to windows 95. Quality work, well done.
WOW. I have seen you do neat stuff, but I don't think I had any idea of the level of amazing software engineering skills you possess. Bravo, Matt. Also, I feel like you should tell Dave Plummer of Dave's Garage about this. I'm sure he would find it so cool!
31:30 In case its of any help, I think the driver is supposed to be called "NDP Helper"
2 parts really got me.
1: The comedian.
I get that!
Any time I try to talk to someone who isn't a computer programmer about programming they are dismayed.
Like I am telling bad jokes.
Some even heckle.
Very real.
And then there was the part where you dog walked a decompiler through 2 different systems at the same time.
Win 95 and win 98. Dude, my jaw dropped. That would have been a nightmare.
In the win 95 days, I used to walk the memory of my computer with a debugger for the love of it.
I was bored, memory is interesting.
Trying to track down an error like that?
Well, it wouldn't take forever, but it would feel like it.
It left me with a question, how did you figure out the instruction was SSE2?
Your debugger flopped, and you wrote your own injectable .dll?
Woah!
That was miles beyond my level.
The noir was cheeky.
But this video was fantastic. I subscribed. Wow, dude. You are a code magician.
Just wow!
Re: figuring out it was SSE2, he probably just searched up a suitably comprehensive x86 opcode chart and Ctrl+F'd through it for the initial byte of the un-decoded instruction.
It was not by my hand that he was once again given - WinDbg. 😆😂
Not having had a Qt 3.1.4 seems like such a wasted opportunity @04:06
They hadn't invented pie back then so they couldnt make this joke :(
@@ashleybyrd2015I'm amazed
What is Cute Pi? /j
@GerinoMorn chibi Pi.
The way you're simultaneously able to present this video in a way which non-developers can digest (me) and also offer very in-depth code analysis (for developers) is awesome. This is really good work.
"So I threw the files into the right places in Win95 and tried it out to see what would happen."
It was at this point that my browser tab for this video crashed, in a moment of absolute comedic timing.
Back in the late 80's I tried learning assembly by just using the C128 monitor and not an actual compiler program. You stepping through the program line by line brought nightmare flashbacks.
Don't feel bad. I keep having to step through bash scripts, HTML, and other server code on a regular basis - and I'm not a programmer. I just run some servers.