Live data from Hacker News

Why was Pinball removed from Windows Vista?

blogs.msdn.com

111–120 of 149 posts

Re: Why was Pinball removed from Windows Vista?

#111
post #74
post #60

Earlier quoted context omitted.

Which is MS's separate OS for 64-bit? I believe you'll find it to be Windows 64-bit Edition. A quick googling suggests that Windows 7 retail copies have both 32-bit and 64-bit editions, but I'm guessing you still have to pick the right edition when you go to install it. And if you don't have a retail disc, then you probably only got one of the two architectures. Compare this with Mac OS X, where there is no "32-bit e…

Mac OS X actually has three modes: http://yuhongbao.blogspot.ca/2009/09/mac-os-xs-64-bit-modes....

That's a nice description of what's going on, but it really boils down to:

* Running 32-bit kernel on 32-bit hardware

* Running 32-bit kernel (mostly; enough that kexts are 32-bit) on 64-bit hardware

* Running 64-bit kernel on 64-bit hardware

Interestingly, for a while only the Xserve defaulted the kernel to 64-bit mode, whereas all consumer machines used the 32-bit kernel mode, though this could be toggled using a certain keyboard chord at startup (I think it was holding down 6 and 4). Eventually this shifted so the 64-bit kernel became the default, but only after giving kext authors enough warning so they could update their kexts.

In any case, as diverting as this is, it doesn't really matter to the consumer. There was only one version of OS X to install, and it ran in whatever mode was appropriate for the machine in question. The only reason consumers ever had to care what mode their kernel was running in was if they wanted to use a kext that did not have both 32-bit and 64-bit support, and by the time the kernel switched to 64-bit mode by default, this was pretty rare.

Re: Why was Pinball removed from Windows Vista?

#112
post #97
post #60

Earlier quoted context omitted.

Which is MS's separate OS for 64-bit? I believe you'll find it to be Windows 64-bit Edition. A quick googling suggests that Windows 7 retail copies have both 32-bit and 64-bit editions, but I'm guessing you still have to pick the right edition when you go to install it. And if you don't have a retail disc, then you probably only got one of the two architectures. Compare this with Mac OS X, where there is no "32-bit e…

>Everybody installs the same OS, and it transparently works for both 32-bit and 64-bit machines. Or doesn't work. Didn't the recent releases drop support for 32-bit Macs?

I do believe that Mountain Lion dropped 32-bit kernel support. But Apple hasn't produced a 32-bit machine in years, and every new major version of the OS does tend to drop support for old hardware. The fact that the motivating factor here was dropping the 32-bit kernel is fairly irrelevant.

Re: Why was Pinball removed from Windows Vista?

#113
post #74

Earlier quoted context omitted.

Mac OS X actually has three modes: http://yuhongbao.blogspot.ca/2009/09/mac-os-xs-64-bit-modes....

That's a nice description of what's going on, but it really boils down to: * Running 32-bit kernel on 32-bit hardware * Running 32-bit kernel (mostly; enough that kexts are 32-bit) on 64-bit hardware * Running 64-bit kernel on 64-bit hardware Interestingly, for a while only the Xserve defaulted the kernel to 64-bit mode, whereas all consumer machines used the 32-bit kernel mode, though this could be toggled using a c…

More precisely:

* Running 32-bit kernel in 32-bit legacy mode

* Running 32-bit kernel (mostly; enough that kexts are 32-bit) in 64-bit long mode

* Running 64-bit kernel in 64-bit long mode

I wrote this blog article because I often see these modes being confused.

Re: Why was Pinball removed from Windows Vista?

#114

The best part of this article is in the comments. An original programmer on the game explains the reason that the bug was occurring and also why the code was unreadable (hint: they did it in assembly) Ah, the quantum tunneling pinball! We ran into this while writing the original code at Cinematronics in 1994. Since the ball motion, physics, and coordinates were all in floating point, and the ball is constantly being…

So all it needs it a really good cup of tea.

Re: Why was Pinball removed from Windows Vista?

#115

Earlier quoted context omitted.

"I've never seen any programmer seriously suggest that code should be deliberately made difficult to understand." Then you've not worked with some of the people I've worked with. The clever "it was hard to write, it should be hard to read" mantra has been thrown out by a few ex-colleagues trying to be clever, and a couple of them really meant it. Whether it was a hatred for others, or a misguided attempt at "job secu…

One guy I worked with would do it to protect his bailiwick. He was intensely territorial, and knew that writing code so ugly that nobody wanted to even look at it, much less take the time to understand it, was an effective way to make sure that nobody else on the team would ever touch anything he wrote.

Sounds like "mortgage code"... code that is intentionally so complex that noone in the company other than yourself can maintain it, hence you end up with a job for life that pays your mortgage.

Re: Why was Pinball removed from Windows Vista?

#116
post #47

Earlier quoted context omitted.

Take the argument a step further: Microsoft "should" have required the 3rd party to provide the code under an open-source license.

Open source wasn't exactly a huge priority for Microsoft in 1995 when the application came into existence. In fact I think it's a testament to their backwards compatibility that pinball survived for as long as it did with little or no maintenance.

Quite the opposite. In 1995, killing open source was one of Microsoft's top priorities. It isn't much lower on the list these days.

Re: Why was Pinball removed from Windows Vista?

#117
post #57

The best part of this article is in the comments. An original programmer on the game explains the reason that the bug was occurring and also why the code was unreadable (hint: they did it in assembly) Ah, the quantum tunneling pinball! We ran into this while writing the original code at Cinematronics in 1994. Since the ball motion, physics, and coordinates were all in floating point, and the ball is constantly being…

I'm so happy you posted that - otherwise I would not read down more than a couple first comments and would miss this!

My procrastination from studying for finals says "you're welcome"

Re: Why was Pinball removed from Windows Vista?

#118

> nobody at Microsoft ever understood how the code worked (much less still understood it), and that most of the code was completely uncommented, we simply couldn't figure out why the collision detector was not working. Heck, we couldn't even find the collision detector! This continues to be one of my pet peeves, particularly with code samples and a lot of what is posted on Github, even major libraries. Almost no comm…

Assembler makes the point even more apparent: MSG_LOOP_PostMessage: mov a, MSG_Head cjne a, #MSG_BUFFER_END - 2, mlpm0 mov a, #MSG_BUFFER sjmp mlpm1 mlpm0: inc a inc a mlpm1: cjne a, MSG_Tail, mlpm2 clr a ret mlpm2: mov r0, MSG_Head mov @r0, MSG_Code inc r0 mov @r0, MSG_Parameter mov MSG_Head, a mov a, #1 ret I wrote that about fifteen years ago. Of course, the routine's label tells you something: "MSG_LOOP_PostMessa…

This code is definitely readable, but I feel like the port from assember to C might have been too direct. Originally head was a pointer and it made sense to have conditional jumps, but in the C code head is an offset starting at 0. Why keep the entire if structure when you can simply have

  msg_loop.head = (msg_loop.head + 1) % MESSAGE_LOOP_SIZE  // Advance head and wrap

Re: Why was Pinball removed from Windows Vista?

#119
post #85
post #78

Earlier quoted context omitted.

And I think ia64 has yet another different 82-bit floating point architecture that is supposed to be compatible with x87.

Bear in mind, IA64 is not x86-64, but rather the ISA for Itanium chips.

The port was to Windows XP 64-bit Edition. That's the Itanium version. The x64 version was Windows XP Professional x64.

Re: Why was Pinball removed from Windows Vista?

#120
post #56

Earlier quoted context omitted.

What's really annoying is that most of the time you see this kind of comment there is no explanation why 10 was chosen.

That's why you should use constants. Still self documenting without the need for comments (usually).

    const TEN = 12;
Post reply on HN