they do this so much so that the x86 based instruction set is cluttered with crap we don't need anymore
The unnecessary crap (like the BCD support) is so tiny that there's absolute no benefit in removing it. The rest of the x86 instruction set may look odd, but it actually works well.
So while it's a little weird to me that the buttons go through serial shift registers and the DIP switches don't, what you're describing is not what I see. For all that it feels slightly untidy, I'm pretty sure this design just results from minimizing the number of ICs on the board.
They used a single '165 to support 8 buttons. Even if it looks a bit clumsy, you can't really improve a single IC solution. Also, replacing it with another '240 would introduce more bus loading, add more PCB routing, and would require additional address decoding for the enable signal.
The NES had a Ricoh 2A03, which was a modified 6502 which REMOVED the BCD so they could put IO hardware registers in its place
No. They left the BCD in place, but just disabled it. Also, the BCD logic is fairly small, and in the middle of the CPU, where there would be no room to add extra features. The extra IO registers were put around the original 6502 core. Here's an explanation: http://forums.nesdev.com/viewt...
Actually, it was very useful when the 6502 was introduced. Remember, computers were slow back then
I know. My first computer had a 1 MHz 6502, and I did a lot of assembly programming for it. I even studied the binary to decimal conversion that came in the Basic ROM. It didn't use division, but it used tables with powers of 10, and repeated subtraction. There are other ways too. One of the problems with BCD mode is that you can only do add/subtract, and only when both arguments are BCD. You can't do multiply, or do mixed BCD/binary. So, yes, conversion for display is easy in BCD, but adding a 5% bonus is much more work than in binary. All in all, it's often not worth it to use BCD.
For example, financial calculations are almost always best done in base 10 rather than base 2. No self-respecting spreadsheet program does its financial arithmetic in base 2.
No. You can get the same effect by fixed point scaling, and then you can use all your existing library code. But I suspect that spreadsheets just use floating point, because nobody cares about those tiny rounding errors.
Iran is a sovereign nation and no other nation has a right to tell them what to do
There are no rights, just a bunch of nations all acting in their own interests. Often, these interests align, and that gives the impression of "rights".
BCD mode is useful when you are working with numbers that you want to display to humans often.
It's not really all that useful. Binary to BCD conversion isn't something that needs to be done often or quickly, because it's limited by how fast people can read.
The motors and battery (which needs to be replaced every X years) for your new Prius are not so great for the environment.
The motors last forever if they are properly constructed. The battery is a prime target for recycling, because it's a lot cheaper to "mine" the battery for metals than digging them out of the ground. Whether the original mining is bad for the environment depends on whether people care about it or not. Making such a toxic lake is not a requirement, it's just cheaper. But if people no longer accept it, it's possible to make a clean factory.
This problem isn't for the consumer to fix. The fix should come from the people who suffer from the pollution. Otherwise, you're just pushing on a rope.
Or take a picture of your room, calculate a hash, and be done with it.
how comfortable would you be taking your hands off the wheel and trusting your life to some developer you've never met?
I've never met the developer that designed the cruise control or the brake mechanism either.
If I knew the car next to me was computer controlled, I'd emergency brake it into the gutter just for laughs
And the camera footage will quickly lead back to you.
You can always dig it back up when there's finally a working thorium reactor.
they do this so much so that the x86 based instruction set is cluttered with crap we don't need anymore
The unnecessary crap (like the BCD support) is so tiny that there's absolute no benefit in removing it. The rest of the x86 instruction set may look odd, but it actually works well.
So while it's a little weird to me that the buttons go through serial shift registers and the DIP switches don't, what you're describing is not what I see. For all that it feels slightly untidy, I'm pretty sure this design just results from minimizing the number of ICs on the board.
They used a single '165 to support 8 buttons. Even if it looks a bit clumsy, you can't really improve a single IC solution. Also, replacing it with another '240 would introduce more bus loading, add more PCB routing, and would require additional address decoding for the enable signal.
The NES had a Ricoh 2A03, which was a modified 6502 which REMOVED the BCD so they could put IO hardware registers in its place
No. They left the BCD in place, but just disabled it. Also, the BCD logic is fairly small, and in the middle of the CPU, where there would be no room to add extra features. The extra IO registers were put around the original 6502 core. Here's an explanation: http://forums.nesdev.com/viewt...
And here you can see the 2A03 chip, with the 6502 core sitting in the corner:
http://www.vgmpf.com/Wiki/inde...
Actually, it was very useful when the 6502 was introduced. Remember, computers were slow back then
I know. My first computer had a 1 MHz 6502, and I did a lot of assembly programming for it. I even studied the binary to decimal conversion that came in the Basic ROM. It didn't use division, but it used tables with powers of 10, and repeated subtraction. There are other ways too. One of the problems with BCD mode is that you can only do add/subtract, and only when both arguments are BCD. You can't do multiply, or do mixed BCD/binary. So, yes, conversion for display is easy in BCD, but adding a 5% bonus is much more work than in binary. All in all, it's often not worth it to use BCD.
For example, financial calculations are almost always best done in base 10 rather than base 2. No self-respecting spreadsheet program does its financial arithmetic in base 2.
No. You can get the same effect by fixed point scaling, and then you can use all your existing library code. But I suspect that spreadsheets just use floating point, because nobody cares about those tiny rounding errors.
You overestimate the hardware in an NES
The NES used a Ricoh 2A03 CPU, which contains a 6502 core, with the BCD functionality disabled. See http://en.wikipedia.org/wiki/R...
Iran is a sovereign nation and no other nation has a right to tell them what to do
There are no rights, just a bunch of nations all acting in their own interests. Often, these interests align, and that gives the impression of "rights".
Adjusting for inflation only makes today's products cheaper.
BCD mode is useful when you are working with numbers that you want to display to humans often.
It's not really all that useful. Binary to BCD conversion isn't something that needs to be done often or quickly, because it's limited by how fast people can read.
$300 and $400 dollar items "disposable"? Really? I get anxious when I have to spend more than a few hundred, and expect it to last.
What good is a status symbol that everybody can afford ?
The problem with producing rare earths in the USA isn't the rareness, it's the waste disposal of the thorium residues
Mix it with the rock waste, and dump it back where it came from.
Nice stuff, dystopium. Too bad it's only useful in pure crystal form.
The motors and battery (which needs to be replaced every X years) for your new Prius are not so great for the environment.
The motors last forever if they are properly constructed. The battery is a prime target for recycling, because it's a lot cheaper to "mine" the battery for metals than digging them out of the ground. Whether the original mining is bad for the environment depends on whether people care about it or not. Making such a toxic lake is not a requirement, it's just cheaper. But if people no longer accept it, it's possible to make a clean factory.
This problem isn't for the consumer to fix. The fix should come from the people who suffer from the pollution. Otherwise, you're just pushing on a rope.
The D flag was just for the programmer to switch between decimal and binary. The extra nibble carry was an invisible internal signal.
Again: How are you saving money?
I only play free games.
I see two LS165 chips with a serial output that goes into a LS240 octal bus driver. Where's the serial to parallel converter you're talking about ?
So don't go getting so misty-eyed about Nintendo, they're utter bastards who care only about profits, and not who they screw over in the process.
In what way is the customer screwed over by a manufacturer who uses a cheaper, and more reliable method of connecting switches to a CPU ?
The beetles are not new, their presence is not a result of global warming but rather of our meddling with natural burn patterns for so many years.
It's not one OR the other. Both factors play an important role.
http://ngm.nationalgeographic....
Forest fires have doubled recently compared to thousands of years before that:
http://www.scientificamerican....
Must be those damn hippies setting the trees on fire to prove a point.
It doesn't actually matter, because old growth sequesters more carbon than new growth.
Forests have more functions than just being carbon sinks, though.
Like going to the Grand Canyon and then staying in the car in the parking lot
If the other choice is to drive down into the canyon, staying in the parking lot may not be so bad.