|
Post by D-Type on Oct 11, 2022 0:52:58 GMT -5
I'm still on holiday, so no time to do any tests, but returning today.
I can tell you guys are software people because you're looking at a model to accurately stimulate the problem, but not investigating what is causing it in the first place! :-)
(Notes for later) Other things that could be looked at: How similar are multiple Vectrex? I heard someone tell me that their Vectrex wobbled all the time. Is it anything to do with the "multiple of 7" code for drawing? Is it worse when there are more vectors drawn on the screen? Is it affected by scale factor? If you insert lots of Reset0Ref or Wait_Recals does it make a difference? Does the no-buzz model behave the same? Does a recap affect it?
|
|
|
Post by VectorX on Oct 11, 2022 13:40:09 GMT -5
Yes, most of the time the capacitors being replaced helps.
|
|
|
Post by Peer on Oct 11, 2022 15:09:58 GMT -5
Yes, most of the time the capacitors being replaced helps. Nope. The wobbling we are talking about was already there on the brand new consoles back in 1982. I remember that very well. And one of my consoles has new caps. It is a non-50Hz phenomenon, and it does not depend on scaling, and additional recalibration calls do not help. Nor is it related to the number of vectors. A single dot is enough to produce the effect.
|
|
|
Post by VectorX on Oct 11, 2022 23:42:06 GMT -5
^Right, I was thinking of *other* stuff that a cap job will help, not wobbling.
|
|
|
Post by minsoft on Oct 13, 2022 8:46:26 GMT -5
Yes, most of the time the capacitors being replaced helps. Nope. The wobbling we are talking about was already there on the brand new consoles back in 1982. I remember that very well. And one of my consoles has new caps. It is a non-50Hz phenomenon, and it does not depend on scaling, and additional recalibration calls do not help. Nor is it related to the number of vectors. A single dot is enough to produce the effect.
I concur, I replaced all the electrolytic capacitors in one of my Vectrexes - no noticeable difference to wobble (or drift, or anything graphical, as far as I could tell).
|
|
|
Post by Peer on Oct 13, 2022 14:01:31 GMT -5
… I can tell you guys are software people because you're looking at a model to accurately stimulate the problem, but not investigating what is causing it in the first place! :-) Well, since none of the hardware people stepped in with an explanation, it was natural to try to find an abstraction which is simpler and more approachable than the real world. The hope in analyzing a model is always to discover aspects in it which give a hint at what to look for in reality. In that sense we are indeed investigating what is causing this in the first place
|
|
|
Post by Peer on Oct 14, 2022 12:35:17 GMT -5
Update:
We are now ...
- ... maybe one step closer to solving the mystery,
- ... but then facing another potential mystery…
Today, I met with a colleague of mine who is an expert in high-frequency technology and who also knows a great deal about CRTs. I demonstrated the "wobbling-if-not-at-50Hz-phenomenon" to him, and he immediately said "I can explain that to you". And then he essentially told me exactly what is currently assumed in our model (I had not told him about the model before).
According to his opinion, there is an electromagnetic field, generated by the transformers, which oscillates at a frequency of 50Hz, and which interferes with the copper y and x coils of the CRT. Thus the wobbling.
And in his words: "You are lucky if you are getting a stable object on the screen at all. For that, you have to draw it at a framerate of 50Hz, and within each frame it has to be drawn at exactly the same cycle (relative to the beginning of the frame)."
This is exactly our current theory / model. He went on and said that the 50Hz value most likely originates from the 50Hz frequency of our local (i.e. European) power grid. And then he continued, "If the 30.000 cycles per frame are a fixed value in the BIOS, then your friends in the US should have a problem, because with a 60Hz power grid as input to the transformers in their devices, there should be a magnetic interference at 60Hz, and thus there should always be wobbling (or rather a speedy jittering), and never ever a stable object".
Which poses the new mystery. As far as I understand, and please anyone out there correct me if this is not the case, the wobbling phenomenon of the American consoles is exactly the same as of the European consoles? (Substitute any 50Hz country for European, and any 60Hz country for US).
I used Vide to simulate a 60Hz interference, and the results looks very much different compared to the wobbling of my consoles. Check out the video posted by Malban in which he demonstrates the wobble simulation in Vide. Does it look the same on US consoles? This would be great to know. If wobbling on the US consoles looks exactly like in the Vide simulation, then the magnetic interference cannot be caused by the primary transformer / the power grid frequency. It would mean, that somewhere else in the system another 50Hz signal or magnetic field is generated. So, hardware experts and US guys, please step in. How does the wobbling look like on your consoles?
Many Cheers, Peer
|
|
|
Post by Malban on Oct 15, 2022 7:11:38 GMT -5
Can that not also be "proven" by better shielding around the transformer.
Perhaps the noob is speaking - but some carefully arranged grounded aluminum foil? At least seeing a less pronounces wobble?
|
|
|
Post by Peer on Oct 15, 2022 9:18:31 GMT -5
Can that not also be "proven" by better shielding around the transformer. Perhaps the noob is speaking - but some carefully arranged grounded aluminum foil? At least seeing a less pronounces wobble? That is what my colleague also suggested. I forgot to write about that. And I tried it. Well, in a dummy's way I took a flat steel kitchen pot and placed it over the primary transformer. But I could not see any effect on the wobbling. But that doesn't tell much. A steel plate should block or weaken the magnetic field, but it must be placed correctly in relation to the lines of the magnetic field, and it might be that I simply failed to find a good position. It might also be that the interfering magnetic field does not originate from the primary transformer, but from the flyback transformer, or from some other wire which runs too close to the coils of the CRT. I did no do any further experiments, but if our theory is correct, then it should definitely be possible to shield the coils from the magnetic disturbance. If only to a certain degree. If anyone succeeds in this, please let us know. It would be cool maybe one day to have a dewobble-kit, just like the debuzz-kit.
|
|
|
Post by gtoal on Oct 15, 2022 21:39:13 GMT -5
> I believe Graham also posed the idea of making some standard routines that implement a video buffer kind of thing. I guess the problem is that it's not optimised to the game, but i still think it's a good idea. I'll make a quick comment on that although it's a tangent from the main discussion here. I'm not sure I'd use the term 'video buffer' which I would associate more with something like the way a phototypesetter (or laser printer) rasterises images in strips at a time, but modulo terminology, yes... (I'ld call it a 'display list' in 1960's vector processor terminology). I did implement some code to do it ( gtoal.com/vectrex/SpriteLib/ ) but the difficulty with that approach on the Vectrex is that the Vectrex has so little RAM, you don't really want to use it all up holding data structures of what you want to draw, so to implement a scheme like this efficiently you need lots and lots of different formats that are each optimised towards storing the maximum amount of static information possible in ROM and only the bare minimum of things that are parameterised in RAM. This makes the interface as complex as the Vectrex BIOS's own way of doing things and doesn't really simplify the drawing in the way that I had hoped, which is why it didn't catch on. Perhaps with a lot more effort in developing - and documenting - the interface and maybe even in making tools to support it, it could be made easier to program with, but for now it's pretty much a user base of one :-)
|
|
|
Post by Peer on Oct 16, 2022 1:23:38 GMT -5
Hehe, maybe I was too polite and not being explicit and insistent enough in my recent posts
Can someone from the US or any other 60Hz-power-grid country PLEASE do this quick and simple test for us, as Malban and I cannot do this ourselves, living in a 50Hz-power-grid country. There seem to be people reading this thread, and it just takes you a minute to do this test, and another minute to post the result here.
Fire up your console and start Mine Storm. Have a look at ther very beginning of level 1. Once sweep has layed out all mines and the text "Mine Field 1" appears: Is there any wobbling of the texts and the dots on your machine? Does it look like in the Vide simulation of which there is a vide to be found in this thread? The wobbling might not be as pronounced or as fast as in the video, but it should be clearly visible. If there is wobbling. If not, please check if you can see the tiniest jitter of the text or the dots, or if they are 1000% stable. The wobbling/jitter should disappear as soon as the text "Mine Field 1" disappears. After that, try turning the ship in place. Once the ship rotates, the wobbling should return, and it should stop again, if the ship stops rotating. This is what happens on a 50Hz-power-grid. PLEASE let us know if this is the same on a 60Hz-power-grid.
Thank you so much! Your help is really much appreciated!!!
Many Cheers, Peer
|
|
|
Post by Malban on Oct 16, 2022 4:36:38 GMT -5
Peer to late with that explicit and insistent request of yours - I did it 9 hours earlier and also on Facebook! And yes - we got a WINNER!
Vectrex display at 60Hz power grid
|
|
|
Post by Peer on Oct 16, 2022 4:36:40 GMT -5
Newsflash: The mystery is most likely solved!
Malban also posted a call for help (see the other thread), and now we have the 60Hz confirmation we needed
In short: the interference is indeed related to the power-grid frequency.
A vectrex, running on a 50Hz power grid, will have a stable images at a 50Hz framerate, which luckily corresponds to the 30.000 cycles per frame which are hard-coded in the BIOS. There will be wobble (with varying intensities) at all other framrates.
A vectrex, running on a 50Hz power grid, will have a stable images at a 50Hz framerate, which luckily corresponds to the 30.000 cycles per frame which are hard-coded in the BIOS. There will be wobble (with varying intensities) at all other framrates.
A vectrex, running on a 60Hz power grid, does always have a (rather) slight jitter at a 50Hz framerate. I do not have time to post the math right now, but it is a pattern of 5 interference values which is repeated every 10th of a second, thus the jittering. This is what was predicted by the model and what we now have evidence on real consoles for.
So in that sense, the 50Hz consoles have more stable images than the 60Hz consoles when using the BIOS Wait_Recal. Running a 60Hz vectrex with 25.000 cycles per frame (which yields a 60Hz framerate) will give them a truly stable image, like on the 50Hz consoles running at a 50Hz framerate.
How come noone ever noticed that? Especially the designers of the vectrex who worked on a 60Hz power grid. It would have been only natural if they had hard-coded the 25.000 cycles per frame into the BIOS.
Many Cheers, Peer
|
|
|
Post by Malban on Oct 16, 2022 6:02:39 GMT -5
When you have some spare time - can you post the latest model - formular you got? I'd try to implement that into Vide as well! Thx! Malban
|
|
|
Post by Peer on Oct 16, 2022 6:15:57 GMT -5
When you have some spare time - can you post the latest model - formular you got? I'd try to implement that into Vide as well! Thx! Malban For now it is still the "simple sine wave" that fits best. I will try to record the situations in which it does not seem to accurately match. When I talked to my colleague, he confirmed that "the strenght of the magnetic field essentially oscillates like a sine wave, likely super-imposed in some places with some other trigonometric function, but that should not matter too much in your console". Right now, I am not sure of what this superposition looks like. I will let you know if I come up with a better model.
|
|