[jingle] Well the ARM based Macs are here. And despite any concerns anyone might have had, it looks like this transition will be just as smooth as the last... two. Yes, by this point, switching architecture is like a party trick for Apple. Even Bill Gates has remarked on how well they pulled it off in the past. But speaking of Microsoft, there was one notable thing that the Mac could do during its brief stint in the Intel world that it couldn't do before and likely won't be able to do now: run good old Michaelsoft Binbows. ['O Fortuna' plays] [record scratch] Yeah, yeah, dogs and cats living together, mass hysteria, etc. By now, none of this is really news, and while buying a Mac to run Windows is still kind of an unusual thing to do, there were certainly some advantages to at least being able to do it. Developers could test their programs on both OSes with the same computer, my friends when I was in school often did their work on macOS and then rebooted into Windows to play games. And while people have been working valiantly on getting Linux running on the new M1 chip, and the community may even get Windows working too after some time, it'll likely never be the same as having full support right out of the box. It really is the end of an era. So to send off the old architecture, we're gonna be doing something you can only do on Intel. Run Windows... ME. Why ME? Well... just to make Steve Jobs roll in his grave one more time. Let me introduce the guinea pig. This is actually an older iMac by this point, from late 2009. But honestly, could you tell? Maybe from the side because it got a lot thinner over the years, but from the front, it basically hasn't changed at all. There is actually a purpose to choosing an older model, beyond just that's what I happened to have lying around. Not only am I hoping older hardware will have slightly better compatibility, but also as Windows switched from MBR booting to UEFI booting, the Mac also ended up dropping the PC BIOS emulation layer that was necessary for older versions of Windows to boot. So while it'll probably be hard enough to pull this off on an old iMac, it wouldn't be possible at all on any Intel Mac released recently. So without further ado, let us bid farewell to macOS High Sierra and replace it with something far... less functional. Holding down Alt brings us to the boot device menu, as well as our first problem: my Windows Me CD isn't bootable. Apparently OEM CDs are, but this happens to be a retail copy. I'm uh... not sure I get the point of that. I guess they figured most home users would use the Windows GUI app, which by the way, for some reason makes the Windows 98 startup sound. [Windows 98 startup sound plays] You know, people often call ME a lazy and careless release, but I just really can't imagine why! Anyway, what you're supposed to do is use an official system disk, which loads MS-DOS with CD drivers that allows you to boot the installer. But, uhh, you know, we're a little floppy drive deficient right now, so that won't work for us. So instead, for convenience, I made a copy of the ME disc and modified it to include a system disk as the CD's boot sector. Yeah you can actually do that, in fact it's exactly what Microsoft did on OEM versions like my copy of 98. Still don't really know why retail versions didn't do this. I tested in a VM to make sure it works, and it does. Now we just have to burn it to disc, and yes, it does need to be on a disc, this iMac will not boot MBR from USB. My understanding is that later Macs that are missing a CD drive do support booting MBR from USB, but back in this era, you were very much expected to install Windows from a CD. Alright our new disc is done, let's stick it in. There we go! Let's boot it up! I should mention I don't actually expect the installer to run right off the bat, I can already say pretty confidently that we'll need to limit the RAM since like all 9x-es, ME has trouble with RAM that's larger than a certain amount. But I do want to try this out vanilla anyway just to get a better idea of exactly what we're dealing with here. So immediately I noticed that the CD driver didn't detect the CD drive, which I honestly somewhat expected. It's a SATA drive and since the oldest version Apple supported on here was XP, I don't think they would have bothered with an IDE compatibility mode. Basically right now, we have access to the emulated system disk, but not the rest of the CD. Also, god damn this screen is glossy. I apologize in advance for any time that you have to see... me. This thing's so reflective I could probably do a makeup tutorial with it. Well, with no CD access, we obviously can't start the installer yet, so where do we go from here? Last time I did a project like this, I was running everything off a USB flash drive so it was easy to make modifications to the boot medium directly. But that was also very slow to run and as we've established, this computer will only boot MBR from CDs, CDs that DOS still can't even see. So instead of that, this time I'm going to do something a little bit... unorthodox? I'm essentially gonna try creating the install environment directly on this iMac's hard drive. Basically once we have DOS booting from the hard drive itself, we can start making changes to it. Install some new memory drivers and whatnot, and hopefully get it to the point where the Windows ME installer will actually run. Yep, I tricked you, this video is actually "Installing MS-DOS on an iMac!" After repartitioning the drive, my first thought was to run the SYS command from the ME boot disk. It's supposed to turn any disk into a bootable system disk, or basically just a disk that boots MS-DOS. But it turns out that command actually only works after you've already installed Windows ME. Lovely. Next I tried installing FreeDOS, which will happily install from a regular CD. I know there are potential incompatibilities with FreeDOS and early versions of Windows, but I've had decent luck with it in the past so I thought it was worth a shot. However, for some reason the installer kept hanging at "Installing software package base\command". Every single time I tried to run it, it froze at the same place. Occasionally it would show this LBACACHE error which is apparently something FreeDOS uses to improve drive performance, but I guess it's causing an issue here? So I could try to troubleshoot this, but I then remembered about this other DOS distribution that could be installed from CD. So MS-DOS is obviously the best DOS to use when working with anything Windows related. And as I'm sure you're aware, it was never officially released on any sort of CD medium. But, unofficially... Say hello to MS-DOS 7.1 released by the China DOS Union! Yeah, the China DOS Union. If you've never heard of MS-DOS 7, there's a good reason, it was never actually a real product. Officially, that's the version of MS-DOS that sits underneath Windows 9x, and that was all Microsoft intended for it to do. But then the China DOS Union, whoever they are, decided to build an actual standalone distribution around it and now this is a thing that exists. Hilarious it actually installed perfectly fine, so yeah, now we have an iMac that runs nothing but DOS. I feel like Steve Jobs would shoot me if he could. I almost wanna try playing some old DOS games or something, but maybe that can be a different video. Predictably, the included memory managers are not functioning correctly, these are just the same ones from Windows 9x that we already know don't work. Here's where we can work on creating that install environment I mentioned. I'm going to boot Ubuntu from USB, which does work because it's an EFI bootloader, and using that we can modify the hard drive directly. Well, like I did with the modern laptop, I'm going to replace Microsoft's HIMEM driver with Jack R. Ellis' XMGR driver. I also copied all the setup files from the disk to the hard drive so I could start the installer even without CD drivers. Rebooting into DOS... nice! Seems to have loaded fine. Let's try the setup... Oh! Oh!! Oh. Oh... Well it's progress, but it was also too good to be true. The setup just hangs at 100%. It didn't take long to find a link to an old Microsoft Knowledge Base article that seemed to describe my issue pretty well. It's about the ME setup hanging at 100% during the install wizard. I don't know which part of the install wizard it means, but hey, it's a better lead than nothing. Except Microsoft has since removed all their old knowledge base articles, which is great. So we have to go on the Wayback Machine just to see what it might have said. "When you install Windows Millennium Edition (Windows Me), Setup may stop responding during the Preparing Install Wizard process." Hey, this might actually be our issue! "This behavior can occur if you have a Y-E Data universal serial bus floppy disk drive attached to the computer." Never mind! Unless the flash drive I was using are causing some sort of problem? Oh- Oh my god... It actually was! Okay...?! Unfortunately, we are not out of the woods yet. While the USB keyboard and mouse were fine in MS-DOS, the setup doesn't want anything to do with them. What I think is happening is when we're in DOS, the iMac is emulating a PS/2 keyboard which is still fairly common practice for computers just for backwards compatibility. But when the OS loads its USB stack, the BIOS will disable this emulation under the assumption that the OS will now be able to handle USB peripherals. However, the USB controller on this iMac is most likely well outside the comfort zone of Windows ME, and with no driver for it, the keyboard ends up just not working at all. That's my theory at least. I've mentioned before that the Windows setup is kind of done in two stages and this first one actually happens in a mini-Windows 3.1 install. Funnily enough, the China DOS Union also isolated that and made it its own Windows 3.1 distribution that runs entirely from a single floppy disk. But I was wondering if the USB not working might just be Windows 3.1, and once we got into the second phase, which is Windows ME proper, then maybe it would work. So we basically just have to get through this first part somehow. This was when I noticed the Windows setup supports unattended installations. Basically writing a script to automate the whole setup process so it requires zero input from the user. I actually used to do this all the time back in the days of XP, where you could script essentially your own custom version of XP. This could effectively get us all the way through the installation whether the keyboard was working or not. Okay so that's all well and good, but how do we actually make the script? The Windows 95 CD includes example scripts that you can edit to fit your needs, the Windows 98 CD includes a whole utility that generates a script automatically, the ME CD contains... nothing. It clearly supports unattended installations, it just doesn't provide any ways to do it. Maybe this would kind of make sense with a retail copy, I mean, after all, how many home users would be doing this? But even the OEM copy, which I tracked down just to be sure, has nothing on it to help with batch scripting. So about that whole lazy careless release thing-- But I figured that the 98 and ME setups probably weren't super different, so that utility might generate a script that still ends up working on ME. Alright, well there we go, we've made a script file. I'll copy it over to the iMac through Ubuntu again, and let's give this a shot. Well hey, the script does work! It got us much further into the installer, but now as it checks for available disk space, it throws this error. We really are just chipping away at this installer aren't we? But I did at least have an idea about this one. I kept seeing this "Locking volumes" message from DOS on startup. Now I remember while I was installing DOS 7 that it did ask me something about enabling that, but honestly I had no idea what it meant, something about long filename support? I guess it sounded good at the time, but now I'm thinking it might be interfering with the setup that probably isn't expecting whatever that thing or all of this stuff is doing. I decided to just straight up disable everything except for XMGR, which is the only one we should need, and try the setup again. This time finally went off without a hitch. We got all the way through phase one, and all the all the way through phase two with no problems whatsoever. You know, these really are the best moments of installs like these, when against all the odds, you actually end up getting old software to run on hardware it was never meant to run on. Finally, it booted into the system, and what an incredible sight. This iMac is officially running ME natively. Unfortunately, the excitement didn't last long. Turns out the keyboard and mouse still don't work even now that we're in Windows proper. I guess that wasn't entirely unpredictable, but I'm not even sure what to do about it. How can I fix something that I can't even interact with? Before I at least had access to DOS, but Microsoft infamously locked down the DOS subsystem in Windows ME making accessing it much less possible. So yeah, I'm not even sure what my options are here. But with a stroke of luck, I quickly discovered that booting into safe mode must bypass the USB stack, because suddenly the keyboard actually works! Well, kind of, some of it doesn't. Keys like the Windows key don't work at all, so you have to use Ctrl+Escape, Alt+Tab doesn't work for some reason, it also sometimes misses key presses, especially if I type too quickly. These symptoms happened in MS-DOS too. I didn't think much of it then because I assumed we'd be getting real drivers soon, but I guess they're here to stay for the time being. Still at least I can control it. For a second there, I thought this was going to be game over. Here I am browsing through the files. Oh, let's try loading a screensaver. Oh, oh my god. Now there's something you don't see every day. Yep, it's a classic 95 Plus screensaver in glorious 16 colors running natively on an iMac. That is... amazing, really. Alright, well let's try getting this as usable as we can. I already know it'll never be 100% perfect, but that doesn't mean we can't get close. First we gotta try solving this USB issue. But already there's a problem. Windows ME actually doesn't let you install drivers in safe mode. Instead you're just told to reboot into normal mode, of course if we do that, we can't control the computer enough to actually initiate a driver installation. Looking at device manager, I found two unknown devices with no drivers, but ME also wouldn't give me any information about them in safe mode, so I don't know what they are or what drivers I should be installing. I made a random stab in the dark that maybe the Intel USB 2.0 drivers, which were available for ME, might help. They didn't, but that might just still be safe mode interfering? I-I don't know, I've never had this sort of problem before. For a while, I tried looking for ways to just disable the USB stack from loading, just on the offchance we could get this keyboard fallback outside of safe mode. I tried perusing through MSCONFIG and device manager, I even tried renaming driver files so they wouldn't load, but nothing made any difference. Admittedly I have no idea about how USB drivers work in Windows ME and I highly doubt it's one of those things anyone ever had to find out. I mean, all of the solutions I found for "my USB keyboard doesn't work" amount to buy a cheap PS/2 keyboard and use that until you can get a driver installed. [sigh] If only it were that simple here. Well, this would require more out of the box thinking, so this is what I tried next. The Mac has something called "target disk mode". If you hold T on startup, a big Firewire logo will appear, or a Thunderbolt logo on newer models, and from there, the Mac will essentially function as an oversized external hard drive. If you're one of those rare few who still have a firewire port, and I am, you can just plug it in and it'll mount, assuming that your OS can read the file system. Oh, and on Windows 10 you need to install a legacy driver for some reason, but anyway after that we now have access to the hard drive again. Alright you're probably thinking why is that a big deal? We already had that through Ubuntu right? Yes we did, but here's the actual trick. I'm going to use this drive as the main virtual drive of a virtual machine so we can essentially boot directly into it. Yes, this actually works and it's kind of crazy technology. As you can see, it's the same exact install, but now it's encased in a little window on my desktop. Unfortunately this didn't actually help as much as I thought it would. I'd forgotten that if the hardware I'm trying to install isn't present, then Windows probably won't bother to install drivers for it. I also remembered at this point that I still didn't know what driver I actually needed, since Windows was still refusing to give me any vendor or device IDs. But then I realized it didn't have to. I've been switching to Linux this whole time, and it never once occurred to me to just look up the hardware with it. I'm actually surprised I didn't think of this. Some of you were probably screaming at me through your monitors. Indeed the USB controller is something else entirely, I was way off. This iMac is centered around the NVIDIA MCP79 chipset. Well, the good news is we know what we're looking for now. The bad news is, we now can find out much more efficiently that there were never drivers for this chipset for anything older than Windows XP. Which I guess isn't all that surprising. Not to be deterred, back in that virtual machine, I installed KernelEx to see if it would get the drivers at least partially working. It uhh... didn't. The drivers just complained about the OS not being Windows 2000 and that was it. But I guess the takeaway is that Windows 2000 might work on this? So... I think that might be it. With no drivers whatsoever, I can't even install VBEMP to make it look nicer, I think this is about as far as functional as we can make it. Which, I'll be the first to admit, is not very functional. But I guess we'll always have 16 color screensavers to watch! So can you install Windows Me on an iMac? Barely. It's funny, on the one hand I'm amazed we actually got this far, but on the other hand I'm disappointed it didn't get any further. But I guess if you remember how relatively non-functional Windows 98 on a modern laptop was, it shouldn't exactly be surprising that an Apple computer with far less incentive to support anything even close to this would end up being a little bit worse. Anyways, thank you so much for watching, I hope you all enjoyed this as much as I did, and I'll see you all in the next video. Bye guys.