Page 2 of 4

Re: Paddle Games

Posted: Tue Nov 14, 2017 9:41 am
by tokra
groepaz wrote:
I think nowadays, it should be pretty simple to make a 'perfect' or 'ideal' paddle for the VIC-20 using tricks similar to those employed by the 1351.
totally. in fact, i have implemented this for the upcoming micromys v5 adapter - and its rock stable.
Oooh, that sounds interesting. I suppose more info is still secret? My dream would be an adapter you could plug your paddles in and make them stable on the VIC-20 again.

I own the Micromys v3 adapter, the one thing I actually like better about it than the v4-version is the option to set the emulation manually. Only that way could I test the Amiga-mouse driver for the VIC-20 and I think there a few C64-programs as well that support an Amiga-mouse.

Edit: Found some info :-) http://wiki.icomp.de/wiki/Micromys_V5

Looks like my request for Amiga-mouse-mode on C64 has been handled already, but VIC-20 Amiga-Mouse-support is still out. See here for a test-Amiga-mouse-driver: http://sleepingelephant.com/ipw-web/bul ... 063#p56063

Paddle mode sounds nice. This will of course work for one-paddle-games only, not for those few 2 player-games that require both paddles at the same time.

Edit2: Ideally you could plug your paddles into the Micromys and it de-jitters them for you :-)

Re: Paddle Games

Posted: Tue Nov 14, 2017 3:16 pm
by groepaz
v5 will have jumpers so you can override the autodetection, so you can also use amiga mouse (or ST mouse) - i could enable the middle button check for vic20 though if there is demand for this.

and sure, paddles only work for one player :) its quite nice though, the games i tried play better with mouse than with paddle (IMHO).

as for real paddles... that would need slightly different hardware, so thats out of the question for this product :) it should be possible to make it work reasonable stable with a cap or two at strategic places though.

Re: Paddle Games

Posted: Tue Nov 14, 2017 5:41 pm
by eslapion
IMHO, the Micromys, at least the V5 from what I read may be wonderful to get a PS/2 mouse to operate as am Amiga 3 button mouse or as a substitute for the 1351 on the C64 but it has serious shortcomings when it comes to getting good paddles on both the VIC-20 and C64.

As Tokra mentioned, one of the advantages offered by paddles is support for 2 player games. Also, most people would simply want 'something' which makes their genuine paddles less jittery or jitter-free as opposed to substituting them with a mouse.

I have to prepare for the WoC which is only in a few weeks so I don't have time to come up with a schematic but I am convinced I can come up with a solution which is much simpler than a microcontroller based PS/2 to DB9 devices adapter.

Re: Paddle Games

Posted: Tue Nov 14, 2017 8:05 pm
by Forbidden64
eslapion wrote:IMHO, the Micromys, at least the V5 from what I read may be wonderful to get a PS/2 mouse to operate as am Amiga 3 button mouse or as a substitute for the 1351 on the C64 but it has serious shortcomings when it comes to getting good paddles on both the VIC-20 and C64.

As Tokra mentioned, one of the advantages offered by paddles is support for 2 player games. Also, most people would simply want 'something' which makes their genuine paddles less jittery or jitter-free as opposed to substituting them with a mouse.

I have to prepare for the WoC which is only in a few weeks so I don't have time to come up with a schematic but I am convinced I can come up with a solution which is much simpler than a microcontroller based PS/2 to DB9 devices adapter.
Thanks for responding!

I also think so. There should be a way to do this just with passive parts. Possibly, even just one. If I had a set of paddles, I'd sure love to take a stab at the issue...maybe I'll get a pair in the next few weeks and try out my ideas/go through the checklist of potential problems eslapion laid out. I literally have nothing else to do other than work obligations.

Re: Paddle Games

Posted: Tue Nov 14, 2017 10:43 pm
by eslapion
Forbidden64 wrote:Thanks for responding!
Glad I can help!
... There should be a way to do this just with passive parts. Possibly, even just one.
I wouldn't go that far. The 1351 certainly doesn't only have passive parts. Counting the pulses certainly requires registered logic ICs. A couple more is required to interface the digital stuff with the analog signals the VIC-I expects.
... If I had a set of paddles, I'd sure love to take a stab at the issue...maybe I'll get a pair in the next few weeks and try out my ideas/go through the checklist of potential problems eslapion laid out. I literally have nothing else to do other than work obligations.
Can you believe back around 2004, when I was still in university, I wrote a plan to make 'ideal' paddles while I was sitting in class and the teacher was boring.

I LOST the sheet!!

Re: Paddle Games

Posted: Tue Nov 14, 2017 11:33 pm
by Forbidden64
Can you believe back around 2004, when I was still in university, I wrote a plan to make 'ideal' paddles while I was sitting in class and the teacher was boring.

I LOST the sheet!!

Ya, I can believe it...one time I made a formula, a single formula that would take a string of numbers and generate a 3d room on the screen. Making it very fast and easy to make maps etc, and leaving lots of processor time leftover for game content. I was going to make a 3d game with it back in the 90's. My hard drive crashed and I lost every scrap of work, save one tattered piece of paper I salvaged from a water logged box several years later. The rest were written in pen and the ink vanished. I learned from that the merit of pencils. I scanned that last paper, and then discarded the tattered paper. Then my hard drive crashed again. In fact, I thought I had lost all of my early programs until very recently I found a floppy disk back up I had made...which I had only made quickly to show someone a project I was doing at the time. In my laziness to type I just copied *.* a: instead of the file itself :D. Thank goodness I am lazy. That said, I am a lot smarter than my teenage self, and could likely do something better than that blocky program...and I could do it with even less memory.

So ya, I can definitely believe it. I can bet as as student you didn't have a handy filing cabinet for permanent records anyhow! The biggest issue I have had in the past, is when things become unstable in life, and you have to move in a rush etc. Things get lost. The worst part is that things of this nature don't sit in the mind very well, and tend to get buried deep until you do it again from scratch.

Re: Paddle Games

Posted: Wed Nov 15, 2017 2:02 am
by tokra
groepaz wrote:v5 will have jumpers so you can override the autodetection, so you can also use amiga mouse (or ST mouse) - i could enable the middle button check for vic20 though if there is demand for this.
I don't see a reason why the check should be *disabled*. As proven by the driver an Amiga-mouse can be polled on the VIC-20 as well, so it should be possible to provide this functionality on the v5 as well (as it already *was* possible on the v3). Thanks :)

I agree that this particular product is probably not the one to provide an all-purpose solution for the VIC-20 paddle-jitter-problem. But at least it proves that an outside device can provide a stable paddle-signal. As I would like to use the original paddles on the VIC-20, that gives me hope that an adapter of some sort can be built that can be plugged in to the joystick-port and has a plug for the paddles itself, that takes care of this problem once and for all.

Re: Paddle Games

Posted: Wed Nov 15, 2017 6:45 am
by groepaz
I don't see a reason why the check should be *disabled*. As proven by the driver an Amiga-mouse can be polled on the VIC-20 as well, so it should be possible to provide this functionality on the v5 as well (as it already *was* possible on the v3). Thanks
since there is exactly zero software for the vic20 that uses a mouse, its a bit pointless to argue about. i omitted the option because really, the 1351-like mode is much preferred over any amiga (or ST) mouse solution (because to work well, it means wasting a lot of CPU on polling it). and as said, you CAN use any of the supported modes (also cx22 trackball, or ST mouse) by setting the jumpers - just like with v3 :)
As I would like to use the original paddles on the VIC-20, that gives me hope that an adapter of some sort can be built that can be plugged in to the joystick-port and has a plug for the paddles itself, that takes care of this problem once and for all.
as said before, you should really try a cap at the paddle first. its very easy to do, and you cant damage anything either. chances are that it will fix it already.

Re: Paddle Games

Posted: Wed Nov 15, 2017 7:13 am
by Forbidden64
... There should be a way to do this just with passive parts. Possibly, even just one.
I wouldn't go that far. The 1351 certainly doesn't only have passive parts. Counting the pulses certainly requires registered logic ICs. A couple more is required to interface the digital stuff with the analog signals the VIC-I expects.
What I mean is that instead of designing a new one from scratch, perhaps bolstering the circuitry that is already present would be an easier job. If a few well placed bypass capacitors in various ranges could be used instead of a complete redesign, I would call that a win!

That said, of course, having a stable medium between the output and the VIC could mean additional peripheral options and a plug in solution for the average Vic...as opposed to relegating it to those who want to solder capacitors all over the place. Let's face it, only a handful of people would want to do that. Whereas a small joystick port adapter would be more desirable. In any case, I think both solutions should be explored.

Re: Paddle Games

Posted: Wed Nov 15, 2017 8:14 am
by eslapion
My answer to both:
groepaz wrote:as said before, you should really try a cap at the paddle first. its very easy to do, and you cant damage anything either. chances are that it will fix it already.
and
Forbidden64 wrote:What I mean is that instead of designing a new one from scratch, perhaps bolstering the circuitry that is already present would be an easier job. If a few well placed bypass capacitors in various ranges could be used instead of a complete redesign, I would call that a win!
I think the main culprit lies inside the VIC-I itself.

If you POKE36879,8 to get a black border and screen, you can immediately see vertical bars of varying intensity because the internal activities of the IC causes the Vcc to ripple inside the IC. You can always stabilize the external 5Vdc source with decoupling capacitors but the very thin contacts between the outside and inside of the chip reduces the effectiveness of this stabilisation inside the chip.

Modern complex digital ICs always have multiple Vcc and GND pins because of that. Even the VIC-II has 2 different power inputs (5Vdc/12Vdc on early 656X versions and 2 5Vdc inputs on later 856X versions).

Re: Paddle Games

Posted: Wed Nov 15, 2017 8:45 am
by Forbidden64
Okay, good point. So the former might be worth a try, but if it is internal to the chip(and it very likely is), it is still buggered, or at least partially so no matter what.

Now here is where I wish I had more knowledge on the subject, and perhaps you can help me finish this thought. In an LVDS circuit for example, the reference to ground is used to eliminate noise by tightly coupling them via running them very close together. Since it is reference based voltage, it can completely eliminate anything that inducted on the trip, because it is reference based. Excluding the idea of tight coupling, but in the same vein, could it be possible to use an external reference between Vcc and GND [to clarify, Vcc and GND pins on the chip itself...literally running a cap over the top of the chip) using some component to eliminate the external affects of this internal ripple? Or would that make it worse... There is a nebulous intuition in my mind that something like this could work.

Also, yay! my 100th post on Denial!!!

Re: Paddle Games

Posted: Wed Nov 15, 2017 2:40 pm
by eslapion
Forbidden64 wrote:Okay, good point. So the former might be worth a try, but if it is internal to the chip(and it very likely is), it is still buggered, or at least partially so no matter what.
Nope, not 'no matter what'. As I said earlier, the 1351 method circumvents the problems. Instead of charging a capacitor and let the VIC-I compare it's level with some reference voltage which happens to be unstable, create a circuit which counts the number of charging pulses and simulates a fully discharged cap (well below the ref voltage) before the desired value then a charged cap (well above the ref voltage) once the number of desired pulses is reached.
Now here is where I wish I had more knowledge on the subject, and perhaps you can help me finish this thought. In an LVDS circuit for example, the reference to ground is used to eliminate noise by tightly coupling them via running them very close together. Since it is reference based voltage, it can completely eliminate anything that inducted on the trip, because it is reference based. Excluding the idea of tight coupling, but in the same vein, could it be possible to use an external reference between Vcc and GND [to clarify, Vcc and GND pins on the chip itself...literally running a cap over the top of the chip) using some component to eliminate the external affects of this internal ripple? Or would that make it worse... There is a nebulous intuition in my mind that something like this could work.
A very complicated way which will have virtually no effect on the impact caused by the internal power ripple.

The 1351 method is a thousand times better.

... technical vulgarisation.

Imagine you are the (slow) VIC-20 and you're filling a cup with water one teaspoon at a time and counting the number of teaspoons required to fill the cup in order to tell the size of a ball of metal you dropped in the cup. The exact number of teaspoons you'll need won't be exactly the same every time you fill the cup - the teaspoon is imperfect and the cup shakes.

Now, somebody who is a thousand times faster than you is playing tricks on you. You pour teaspoons of water into the cup but the water level doesn't rise because there is a hole at the bottom of the cup. Then, after exactly 173 teaspoons, the cup is magically instantly full of water. You empty the cup and redo the same thing, once again only to see no water accumulate in the cup and once again, after exactly 173 teaspoons, the cup goes instantly from empty to full. It doesn't matter anymore that the teaspoon is imperfect and the cup shakes.

That is the equivalent to what the 1351 does.

Re: Paddle Games

Posted: Wed Nov 15, 2017 4:07 pm
by groepaz
gave it a quick try, cap in parallel to the paddle certainly has some interesting side effects - but it doesnt solve this problem :=)

no time atm to make some measurements... but it might be worth trying to add a cap from VCC to GND right at the VIC, it may or may not improve the situation.

that said... the jitter is quite terrible, i didnt remember it being THAT bad :=)

Re: Paddle Games

Posted: Wed Nov 15, 2017 4:19 pm
by Forbidden64
no time atm to make some measurements... but it might be worth trying to add a cap from VCC to GND right at the VIC, it may or may not improve the situation.
If it was going to do anything at all, it would be there. you need to connect it right at the VIC paddle pin, and probably a range of caps 1nF 104nF 1uF. would be my choices. Again, if eslapion is right, and he usually is, then it won't fix it all the way. Still, worth a whack though!

Eslapion's method of course, sounds much better. Just circumvent the problem by emulating the counter and fooling the chip.

@eslapion
Ah, I see.
Yes, I liked the vulgarization! Really drives it home.

Re: Paddle Games

Posted: Wed Nov 15, 2017 5:25 pm
by Forbidden64
So maybe a couple of shift registers in series, with an open drain somewhere afterward, and then on the output of the second shift register its ANDED or NANDED, the open drain is turned off allowing a signal to go to the VIC I? Only 3 chips... What do you think?

You speed up the signal? Likely, a multiply counter before it gets to the shift registers? I guess the speeding it up part makes less sense to me. If the signal is already buggered from the charging(due to the shakey cup and wobbly spoon :D ), won't speeding it up just speed up a buggered signal? e.g. if it is 80% ok, and 20% is just ringing, inductance etc.

[I think I got it... So you generate the charge sequences locally with a crystal of some sort? Thereby, bypassing the VIC entirely, except to tell it when something happened!]