Linked by Thom Holwerda on Mon 6th Jun 2016 19:49 UTC
Hardware, Embedded Systems

One of the tricks you can do on the C64 involves manipulating the video chip into reading the graphics data at an offset from where it's usually located. This allows you to scroll the display horizontally, and the trick is called VSP for Variable Screen Position. However, some machines crash when you attempt this, and the reason for that has always been a mystery. Not anymore.

Fascinating.

Order by: Score:
At my PCs...
by dionicio on Tue 7th Jun 2016 00:33 UTC
dionicio
Member since:
2006-07-12

Always under-clock, this particular one 90/100 from specification. Metalized RF-shield|Heat-dissipator.[Also CPU and GPU].

V same, squarer waves, preciser timings ;)

Reply Score: 2

Wrong title
by Earl C Pottinger on Tue 7th Jun 2016 03:48 UTC
Earl C Pottinger
Member since:
2008-07-12

I think the title is wrong, this is not a bug that has just been discovered.

This is a bug that has been known for decades, it was the cause of the bug that has been discovered. And while work-arounds had already been known, now a programmer knows what is needed to avoid the bug since there is more than one way to handle it.

Edited 2016-06-07 03:49 UTC

Reply Score: 3

RE: Wrong title
by ssokolow on Tue 7th Jun 2016 09:01 UTC in reply to "Wrong title"
ssokolow Member since:
2010-01-21

Yeah, it should say "diagnosed" rather than "discovered".

Reply Score: 5

Wheels within wheels
by kwan_e on Tue 7th Jun 2016 04:16 UTC
kwan_e
Member since:
2007-02-18

This, Thom, is why layers in software will always be necessary. Hardware problems are not gone. The concept of software itself is just a layer which users can assume hardware problems don't exist, and you need extra layers to make sure those problems don't bubble up to the top all the time.

Reply Score: 2

RE: Wheels within wheels
by dionicio on Tue 7th Jun 2016 14:18 UTC in reply to "Wheels within wheels"
dionicio Member since:
2006-07-12

Like the concept, kwan_e. There are inherent fallacies on Systems Theory. Weakness on hardware that not all the software layers will be able to isolate.

Thom has just presented us with C64 example. The patch doesn't cover the bug, only impedes to walk over it.

Remembering an article about First Russian CPU's: Redundancy was deliberately drawn into the screen design, for the more error prone modules [AU if not failing memory]. Software was ALWAYS written with plan B, C...

Could you imagine coding with + , just in case * doesn't work? And all the necessary validation?

Reply Score: 2

RE[2]: Wheels within wheels
by dionicio on Tue 7th Jun 2016 14:34 UTC in reply to "RE: Wheels within wheels"
dionicio Member since:
2006-07-12

"Weak-ness on Hard-ware". Like invisible fail lines on a diamond lattice. No matter how hard diamond [the concept] is. A REAL, individual diamond will break when hit at that line, at that angle.

The more for upper the stack.

Reply Score: 2

RE[2]: Wheels within wheels
by dionicio on Tue 7th Jun 2016 14:56 UTC in reply to "RE: Wheels within wheels"
dionicio Member since:
2006-07-12

Contemporaneous Coders hugely lacking on Science and Engineering... [Math will never be enough].

Reply Score: 3

RE[3]: Wheels within wheels
by dionicio on Tue 7th Jun 2016 15:16 UTC in reply to "RE[2]: Wheels within wheels"
dionicio Member since:
2006-07-12

But, come on. 'Cloud' wants to retribute Coders at Sweepers' salaries. 'Rumbas' will come for the replacement, later.

Congratulations to everybody about our new digitally 'assisted' environment. We can breath peacefully now.</Diatribe>

Reply Score: 2

VSP
by signals on Tue 7th Jun 2016 14:27 UTC
signals
Member since:
2005-07-08

Well, while interesting, I'm pretty sure that this has been known for quite some time, and Individual Computers has even been producing replacement C64 motherboards with a fix for this problem for a while:

http://wiki.icomp.de/wiki/VSP-Fix

I'd also hesitate to call this a "bug." It only happens when trying to use VSP, which like most C64 tricks, is an unintended effect from using the CPU to change the state of the machine at exactly the right time to confuse the graphics chip into doing something the designers never intended. Calling it a bug is a bit like complaining that the undocumented private API calls you've been using don't work across all versions of the software.

Reply Score: 2

RE: VSP
by dionicio on Tue 7th Jun 2016 14:41 UTC in reply to "VSP"
dionicio Member since:
2006-07-12

" is an unintended effect from using the CPU to change the state of the machine at exactly the right time to confuse the graphics chip into doing something the designers never intended. "

Agree, so awfully many things "the designers never intended" [But end happening].

Reply Score: 2

Decades +3 yrs?
by bannor99 on Wed 8th Jun 2016 04:10 UTC
bannor99
Member since:
2005-09-15

I guess that when a bug has existed for so long, taking 3 yrs to notice that the cause has been found is no big deal

Reply Score: 2