1. 37
  1. 7

    There’s also this option: https://github.com/k4zmu2a/SpaceCadetPinball

    Plays pretty well.

    1. 1

      Thanks! I’d forgotten I installed this a few months ago. Feels weird knowing that it’s running natively on ARM64 when I play it.

    2. 4

      NCommander created a 30 minute YouTube video looking into the truthfulness of this blog post, and while Raymond Chen isn’t lying, there might be more to the story than just the bugs he found…


      1. 7

        There was a very recent follow up which covers this https://devblogs.microsoft.com/oldnewthing/20220106-00/?p=106122 and expect was the impetus for this post, the follow up was already submitted here: https://lobste.rs/s/tutknz/filling_some_gaps_story_space_cadet

        1. 1

          Can you give an executive summary of that 30 minute video?

          1. 10

            Space Cadet is present on the installation disks for every single version of 64-bit Windows XP, but is manually disabled and is not automatically installed (although, curiously, it is installed in very late 64-bit XP builds). After extracting the game files and running the game, there are a couple minor graphical glitches but the game works entirely fine, despite what Raymond Chen claimed. He also reverse engineers the source of the floating point rounding error Raymond is talking about and speculates that the bug was fixed for one of the 64-bit versions without the dev teams knowing that this fix also fixed the bug on the other 64-bit architectures. Raymond later posted an updated second post where he responds and tells a story about how when the 64-bit porting process was happening, they only had access to long-discontinued 64-bit Alpha AXP processors with architecture-specific bugs which created far more severe collision issues than the ones NCommander managed to reverse engineer. When the Alpha AXP 64-bit dev port was then ported to Itanium and AMD64 these bugs went away, and Pinball was left with the more minor collision issues NCommander found, which both NCommander and Raymond speculate were caused by some compiler or C runtime floating-point precision bug, which one or the other of those teams later fixed, accounting for why Pinball existed on the later systems. Whoever added it back just never told Raymond that they got it working.

            1. 2

              Hah! Thanks.

        2. 3

          What’s most interesting for me is that lots of the source code of the programs that come with Windows is created by third-party entities. As this post suggests, in several cases, the supplied code has little to no documentation.