[HN Gopher] Windows NT for GameCube/Wii
___________________________________________________________________
Windows NT for GameCube/Wii
Author : zdw
Score : 223 points
Date : 2025-03-01 17:47 UTC (3 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| sillywalk wrote:
| The same person did NT for PowerMacs[0], which was discussed
| earlier[1].
|
| [0] https://github.com/Wack0/maciNTosh
|
| [1] Windows NT for Power Macintosh (github.com/wack0)
|
| 298 points by TazeTSchnitzel 7 months ago | hide | past |
| favorite | 215 comments
|
| https://news.ycombinator.com/item?id=40945076
| cloudbonsai wrote:
| It seems that Windows NT naitively supported IBM's PowerPC
| processors (in addition to IA-32/x86). The "PowerPC Edition"
| did not sell much, so Micorosft discontinued the support in
| 1997.
|
| Because Wii and GameCube were PowerPC-based, both can
| technically run Windows NT. This seems to be the main reason
| why this project was doable.
|
| I think we are witnessing a historical accident materialized by
| obscure hardware legacies.
| roywashere wrote:
| There was also Windows NT for Alpha and RISC, neither were
| popular. And now we have yet again Windows for ARM.
| Everything old is new again :-)
| jasongill wrote:
| Windows NT for Alpha was quite popular, second only to
| Windows NT for x86
| mc32 wrote:
| 500Mzh vs 233Mhz, if you could afford the cooling. Maybe
| exaggerating the gap, but I think it was pretty big which
| contributed to the enthusiasm for DEC alpha.
| zdw wrote:
| That or more was the gap.
|
| Also, "cooling" is relative - the highest power draw of a
| 21164 Alpha is around 40-60w, which is normal to low
| these days, but was huge back then.
| asveikau wrote:
| People forget the excitement around alpha from the mid
| 90s. It was the first Linux port to non-x86 for example.
| It was a little bit before the AMD vs Intel wars and race
| to 1ghz kicked off, so it represented a challenge to
| Intel's monopoly.
| trentnelson wrote:
| I remember my first job in 2000, straight out of 1.5
| years of college, getting to play directly with Digital
| UNIX and Alpha processors! The Alpha 21264 was a beast at
| the time.
| wcfields wrote:
| IIRC: There was a bonanza of DEC Multia Alpha's[1] that
| made it's way to some salvage seller in the late 90's for
| like $100-ish. The catch was they didn't include RAM and
| it had to be True Parity RAM which was fairly expensive.
|
| [1] http://www.obsolyte.com/dec/multia/
| themadturk wrote:
| I remember a law firm I worked at buying an Alpha server
| running NT to host a SQL Server database system in the
| mid-90s. I was network admin, but we ran Netware at the
| time an I didn't touch that machine, we had an Alpha
| sysadmin/dba for it. I left a few months later to a firm
| that was already running NT on its servers; learning a
| new network OS in a stable environment was much
| preferable to converting from Netware to NT.
| sumtechguy wrote:
| The NT PE executable format supports quite a few processors
| families.
|
| https://learn.microsoft.com/en-us/windows/win32/debug/pe-
| for...
|
| I just like the valid MSDOS stub header executable on the
| front of every DLL and executable.
| RajT88 wrote:
| And why? We can see that a number of those architectures
| eventually got a WindowsCE release.
|
| Notably the Dreamcast ran WinCE on SH4 CPU.
| dfox wrote:
| Mostly because that format is not strictly speaking
| Windows-specific but comes from Unix System V release 4.
| Also various oddball embedded platforms use the full NT-
| style PE COFF as their native object/image format (but
| these usually either specify i386 as machine type or
| place some invalid value there).
| asveikau wrote:
| Internally, NT first targeted Intel i860, not x86. This
| was a deliberate decision to break old assumptions. It
| was designed to be multiplatform from the beginning. The
| fact that it had an NT syscall layer but also a Win32
| one, then formerly an OS/2 subsystem, also reflected this
| heritage of adaptability, multi-platform, portability
| etc.
| sumtechguy wrote:
| That is controlled by this bit in the subsystem field.
| https://learn.microsoft.com/en-us/windows/win32/debug/pe-
| for...
|
| Subsystems https://learn.microsoft.com/en-
| us/windows/win32/debug/pe-for...
|
| There are also a few others usually NE for older win16
| and LE for OS2 and other interesting win16 overlay types.
| RobotToaster wrote:
| Wait, does that mean there's a risc-v version of windows?
| p_ing wrote:
| If there is, it isn't public. .NET does apparently have
| RISC-V architecture support in some sense due to a pull
| request by a Samsung engineer.
|
| https://github.com/dotnet/runtime/pull/82382
|
| From a technical standpoint, there's no reason Windows
| couldn't be brought to RISC-V in some form or fashion.
| It's designed for that portability.
| hawflakes wrote:
| Iirc MIPS was on the installation CD and possibly what the
| team used. There was also a pa-risc port that never
| shipped...
|
| https://www.osnews.com/story/139479/windows-nt-and-
| netware-o...
| mavhc wrote:
| NT was designed to be CPU and OS level API independent, of
| course mainly being used with closed source software meant
| hardly anything supported non x86 CPUs, and if you wanted
| Unix you could just run Linux by then
| bombcar wrote:
| At the time it was in no way certain that x86 was long for
| the world, let alone that it would take the world by storm
| and eat almost every other CPU architecture.
|
| The OS-level was much more CPU agnostic at the time and
| programs would aim for an OS rather than an OS/CPU combo.
|
| Linux preserved that for much, much longer than many others
| (the only other big name was NeXT into MacOS).
|
| Now with ARM finally "catching up" we see it growing again;
| nothing is new.
| toast0 wrote:
| > The "PowerPC Edition" did not sell much
|
| NT4 included all the supported architectures on the cd-rom.
| You didn't buy an x86 version or a PPC version or a MIPS
| version or an Alpha version... You just bought NT4 client or
| server and it was all there. Microsoft may have had analytics
| of use on ppc, but not specifically sales. OEM sales, sure.
|
| More likely, no PPC oems were interested in selling NT5
| (Windows 2000) bundled with their hardware, and so Microsoft
| gave up on that. Alpha was supported into the release
| candidates (and I've seen comments that builds continued but
| were no longer distributed outside Microsoft), but Alpha
| imploded during the release time frame.
| ndiddy wrote:
| After Compaq decided they wouldn't support Windows on
| Alpha, Microsoft continued using the hardware for
| developing 64-bit Windows (the previous Alpha releases were
| all 32-bit) until Itanium hardware became available. Here's
| a blogpost where someone goes over an Alpha 64-bit version
| of Windows 2000:
| https://virtuallyfun.com/2023/05/15/windows-2000-64-bit-
| for-...
| my123 wrote:
| 2210 isn't a Windows 2000 build even, but a Windows XP
| prerelease
| yjftsjthsd-h wrote:
| > After Compaq decided they wouldn't support Windows on
| Alpha, Microsoft continued using the hardware for
| developing 64-bit Windows
|
| I seem to recall hearing that Linux also developed its
| 64-bit support on Alpha.
| classichasclass wrote:
| Worse than that: other than Apple and the clones, there
| were hardly any PPC OEMs at all, and Old World Power Mac
| hardware wasn't PReP (which is why it couldn't run it).
| Largely only IBM's hardware could, like the rare as hen's
| teeth Power Series ThinkPads, or the unobtainium Power
| Series workstations, and some of Motorola's equally rare
| stuff. Those landed with a thud in the market and were
| extremely expensive, and it made sense for Microsoft to
| jettison it.
|
| Apple was going to get NT on at least the Apple Network
| Server (Ellen Hancock once claimed there would be upgrade
| ROMs that could boot it), but that never happened.
|
| Alpha, at least, had vendors, and existed in some numbers.
| My AlphaPC 164LX [0] was made by Samsung.
|
| [0] http://oldvcr.blogspot.com/2023/03/refurb-weekend-dec-
| alphap...
| kridsdale1 wrote:
| Did MSFT use this as a basis for The Xbox360 kernel?
| ge96 wrote:
| crazy no image in the readmes
| dark-star wrote:
| Has anyone tried this on real hardware? I've searched for videos
| on YouTube but haven't found any.
|
| Would love to see it running before I go searching for my old
| GameCube to try it myself :)
| dark-star wrote:
| To answer my own question: This looks like it is being run on
| real hardware (with some sort of SD card adapter/loader):
|
| https://www.youtube.com/watch?v=BrcZ2-I0CbQ
| unleaded wrote:
| It doesn't work on Dolphin--probably won't for quite a while
| https://github.com/dolphin-emu/dolphin/pull/12426
| rvnx wrote:
| Nobody asked for that, I love it, this is brilliant, and like
| art.
| michh wrote:
| I think not just like art, it is art. Making something for the
| sake of making it, not because it serves a practical need or
| purpose. Perhaps even _because_ it doesn 't.
| qingcharles wrote:
| Obligatory Jeff Goldblum:
|
| https://bennadel-cdn.com/resources/uploads/2018/jurrasic-par...
| jakupovic wrote:
| Great work!
| anaisbetts wrote:
| This is an insane amount of work, holy crap
| jchw wrote:
| Heard about this recently. Extremely fun and interesting. Would
| really like to try it, not sure if I should try it on a GameCube
| or Wii.
|
| I believe non-x86 versions of Windows NT came with MS-DOS
| emulation in the form of SoftPC, at least in NT4. If anyone
| happens to have an appropriate copy of SoftWindows to try, that
| sounds like potentially even more fun.
| unixhero wrote:
| SoftWindows is located here
| https://winworldpc.com/product/softwindows/30
| jchw wrote:
| That seems to be a version for Mac. However, the Windows NT
| version _does_ seem to be on Archive.org at least:
|
| https://archive.org/details/softwindows-32-powerpc-v1.01
| hawflakes wrote:
| DEC made fx!32 to allow x86 emulation on alpha only. They
| didn't tackle ppc or mips.
|
| https://en.wikipedia.org/wiki/FX!32
| fredoralive wrote:
| All 32 bit versions of NT had support for x86 DOS and Win16
| programs, which on non-x86 systems was implemented with an
| emulator. FX!32 was for x86 Win32 apps, which was indeed a
| DEC specific thing, they seemed to be far more interested in
| pushing NT than IBM or SGI/MIPS, and clearly realised that
| they needed to run all this software being written for
| Windows 95 to be taken seriously as a Windows system.
| hawflakes wrote:
| Both DEC and HP were pushing for NT. (I interned at dec and
| worked briefly at HP while both were still pushing Alpha
| and PA)
|
| HP foodnote: HP had this vision of NT at the desktop and
| HP/UX server iron. Folks preferred Solaris over HP/UX so
| that was their idea to adopt windows. The guy at hp pushing
| that agenda, Belluzo, eventually left and went to
| Microsoft.
| cbm-vic-20 wrote:
| DEC was one of the few vendors who built hardware designed
| to run multiple operating systems from day one. Alpha had
| VMS, OSF/1 (aka Tru64, aka Digital UNIX) and NT. VAX had
| VMS and Ultrix. The short MIPS era also had Ultrix. PDP-11
| had RSTS/E, RSX-11, RT-11, and some early primitive OSes,
| and late in the game, Ultrix.
|
| FX!32 was really cool. The Alpha systems were crazy fast
| compared to the Pentium systems of its time, so even using
| the translation layer, x86 Windows NT apps performed
| reasonably well under FX!32. The intent was to have that be
| a stop-gap until third-party software vendors made native
| Alpha builds of their NT apps.
| ndiddy wrote:
| One other cool project is that someone ported the SoftPC MS-DOS
| emulation layer to x86, allowing for 64-bit Windows to run
| 16-bit DOS software (it couldn't do this without emulation
| because x86-64 doesn't have access to virtual 8086 mode).
| Obviously there's DOSBox as well but that doesn't allow for
| integration into the Windows CLI like this does, so for example
| you can't pipe the output of a Windows program into a DOS
| program. https://github.com/leecher1337/ntvdmx64
| jchw wrote:
| I would bet you're already aware of this, but just in case
| you're not there was also already a Wine NTVDM port to
| Windows, too. It's not as interesting, but it uses no
| illegally-acquired code, so there is that.
| badgersnake wrote:
| Did they implement the whole USB stack? If I remember correctly
| NT4 had no usb stack - USB was one of the new things in Windows
| 2000.
| fredoralive wrote:
| On the Wii I believe USB is mostly handled by the ARM "starlet"
| processor and it's IOS software, rather than the PowerPC.
| LetsGetTechnicl wrote:
| I know what I'm doing later today!
| bsimpson wrote:
| <but-why.gif>
|
| For those that don't remember the Dreamcast, it was Sega's final
| system before they left the hardware business. It was based on
| Windows CE, another Microsoft OS without the NT kernel.
| pdntspa wrote:
| This isn't quite accurate... _some_ games were based on Windows
| NT, but many others did not use that abstraction layer. The
| console itself didn 't have an OS in the 'Windows' sense of the
| word.
| p_ing wrote:
| Here's the list of Windows CE games on Dreamcast:
|
| https://gamefaqs.gamespot.com/boards/916412-dreamcast/794530.
| ..
|
| A short list out of 556 games developed for the console per
| https://www.mobygames.com/platform/dreamcast/.
| bsimpson wrote:
| I'm surprised it's a relatively low percentage, considering
| the thing came with a Windows sticker (and might have shown
| the logo while it turned on).
| p_ing wrote:
| CE came on the game disc rather than the console and
| developers mostly preferred Sega's tooling/API.
|
| This is a decent review of what happened with CE on
| Dreamcast:
|
| https://www.youtube.com/watch?v=QKHSlBi5qok
| toast0 wrote:
| The wince logo showed up while booting a wince game.
| There's a field in the boot file where you can drop a
| logo that gets inserted in the boot splash animation. Of
| Sega licensed games, I think it's just blank or WinCE;
| but for unlicensed games there's more variation, it's a
| nice place to acknowledge the developer OS you used.
|
| A sticker on the front is just branding. Image search
| says it shows 'compatible with Windows CE' which is true.
| Doesn't mean it was built around it, and doesn't mean it
| was a good idea, but certainly some games used it. I'm
| sure Microsoft could have put together Windows CE for
| gamecube or ps2 if they wanted to, and wouldn't have
| needed a sticker on the front... ps1 and saturn could
| probably swing it too; you really just need to put
| drivers around the hardware and the bios functions, and
| maybe structure memory properly if bios functions make
| assumptions.
| whalesalad wrote:
| I can finally live my dream of running a domain controller on my
| gamecube
| jeffbee wrote:
| It's amusing to me that I am reading this readme and I know just
| what they mean about this not working with NT build 944, but then
| I wonder whether when they say "RTM" it would work with the build
| 1037 that was common warez are the time. It was the version
| everyone had, and if I had to rummage through closets I am sure
| that is the only CD I would find.
| rambojohnson wrote:
| why
| tombert wrote:
| Not the person who made this, but I suspect the reason is
| "because it's cool". I personally think that's a perfectly
| valid reason to do anything.
|
| Why does everything we do with coding have to be for a
| practical purpose? When I play a video game for fun, it's not
| like I'm getting anything out of it. Sometimes it's fun to code
| up something just because you can.
| plun9 wrote:
| cause
___________________________________________________________________
(page generated 2025-03-04 23:01 UTC)