Author Topic: Oscilloscope pong for 1 or 2 players.  (Read 196227 times)

0 Members and 1 Guest are viewing this topic.

Offline GKTopic starter

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Oscilloscope pong for 1 or 2 players.
« Reply #375 on: April 16, 2017, 01:57:38 pm »
The complete Vertical Timing circuitry. Unlike the horizontal, there aren't any high speed switching requirements here so it's all just BC550C for the switching stuff.

EDIT: schematic updated 25/April/17

« Last Edit: April 25, 2017, 07:20:34 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GKTopic starter

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Oscilloscope pong for 1 or 2 players.
« Reply #376 on: April 17, 2017, 04:01:58 am »
Kind of shocking that these games would work in the 1960s...


That's a kinda interesting thought. High speed switching transistors already existed in the 50s in large part due to digital computer development. From a technical standpoint only, Arcade Pong wouldn't have needed to wait for the development of integrated TTL. The circuit I am building here could have been built ~60 years ago; probably would have required a fairly well-to-do hobbyist though as bleeding-edge transistors were fairly pricey back then, I'm fairly sure. 
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline timb

  • Super Contributor
  • ***
  • Posts: 2536
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Re: Oscilloscope pong for 1 or 2 players.
« Reply #377 on: April 18, 2017, 11:01:42 am »
Okay guys, so I went back to work on the Scope Pong board last night, but I'm starting to think maybe going with two 250x250mm boards (versus one large 250x400mm board) might actually be a better idea.

Now that I'm finally laying out the Ball Vertical & Horizontal Movement sections I'm finding it increasingly difficult to interconnect all the various sections over such a large board. I'm thinking it would be *a lot* easier with two stacked boards, because I could use 2.54mm headers to drop the signals close to where they need to go, right from one board to the other (instead of having to run 500mm of trace plus multiple vias). The Function Gen, Multiplexer Logic & Drive, Output Amps, Reference Regulator, Power Supply and Audio Amp would all be packed on one board, with the Velocity Integrator, Ball Vertical Movement, Paddle Collision and Audio Generation stuff on another. (The second board wouldn't be packed as densely to allow room for routing traces to the correct locations over/under the first board.)

Though I'm still not completely giving up on a single board just yet. I want to try and rearrange some existing sections (and possibly split one up) first to see if I can make it work. I just wanted to give a status update and get any thoughts on this first. :)
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 

Offline BrianHG

  • Super Contributor
  • ***
  • Posts: 7660
  • Country: ca
Re: Oscilloscope pong for 1 or 2 players.
« Reply #378 on: April 18, 2017, 11:20:33 am »
Can you give us a look?
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13693
  • Country: gb
    • Mike's Electric Stuff
Re: Oscilloscope pong for 1 or 2 players.
« Reply #379 on: April 18, 2017, 11:30:41 am »
I think a large PCB will have a lot more visual appeal, and for a 'novelty' thing like this, I think that's pretty important.
Is it much of a deal if you have to (neatly) run a few wires or long jumper links?
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline GKTopic starter

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Oscilloscope pong for 1 or 2 players.
« Reply #380 on: April 18, 2017, 12:05:12 pm »
^^^ Yes, give us a look.


--------------------------------------------------------------------------

On the Raster Pong front, I haven't made the progress I wanted the past couple of nights, but I've now got one movable Paddle displayed on the screen and almost all of the circuitry to display the other done.

It's starting to get away from the boring digital and more into the analogue now  :). The paddle movement is done by a comparator that compares the potential at the wiper of the paddle position control potentiometer with the V_SCAN ramp. When the amplitude of V_SCAN exceeds the wiper potential an RS flip-flop is set. This flip-flop is reset at the end of the frame scan by the vertical sync pulse. The purpose of this flip-flop is to ensure that only a single triggering of the proceeding monostable can occur each frame; said monostable being triggered by the flip-flop once set.
The monostable generates a pulse that is the vertical component of the paddles video signal. The output pulse duration of the monostable is potentiometer-variable over a 4:1 range, so that the size of the paddle can be varied. For example if the pulse width is 2000uS, the paddle will have an on-screen height of 2000/64 = 32 horizontal lines.

The full vertical movement of the paddle extends off the screen (at the top it disappears behind the scoreboard). The pictures below show the paddle at three different positions and the monostable output (paddle vertical video signal) in relation to the V_SCAN ramp can be seen simultaneously on the oscilloscope screen.

The monostable circuit is a bit of an elaborate affair as has to provide a second output for the collision detection. My Rigol only has 2 channels, but I saved two separate screenshots made with a common trigger source and assembled in MS Paint to show three traces. This is attached below. Yellow is V_RAMP, blue is the paddle vertical video pulse and red is the second pulse output of the monostable. This pulse is always 1/3 the duration of the paddle vertical video pulse and positioned directly in the center. It represents the middle section of the paddle. When a collision is detected between the ball and the paddle, the logic level of this second output at the instant of collision will determine the setting of a flip-flop which sets the balls angle of deflection. If the ball hits the center of the paddle it will bounce off at 45 degrees, if not, meaning a collision occurred with the extremities of the paddle, then the ball bounce off at 67.5 degrees.





« Last Edit: April 18, 2017, 12:15:22 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline MK14

  • Super Contributor
  • ***
  • Posts: 4527
  • Country: gb
Re: Oscilloscope pong for 1 or 2 players.
« Reply #381 on: April 18, 2017, 07:39:23 pm »
I think a large PCB will have a lot more visual appeal, and for a 'novelty' thing like this, I think that's pretty important.
Is it much of a deal if you have to (neatly) run a few wires or long jumper links?

+1

Also, over time (years), board interconnections tend to be a weak point as regards reliability/longevity.

Having stacked PCB's can make it considerably harder to fix/test, assuming they are stacked vertically. I.e. when the construction fault(s) are on the harder to access, lower board.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Oscilloscope pong for 1 or 2 players.
« Reply #382 on: April 18, 2017, 08:07:27 pm »
It depends on how they're stacked. If they used something like a single or dual row 0.1" header/socket then it would be easy enough to make a cable for troubleshooting or if you wanted to put the boards side by side. Personally I think a single board has more appeal but I could go either way really.

The prototypes have got to be the most ridiculously neat and tidy dead-bug constructed projects I've ever seen. They look amazing, and it's great to see somebody still doing this kind of clever analog design instead of just throwing a microcontroller at it.
 

Offline BrianHG

  • Super Contributor
  • ***
  • Posts: 7660
  • Country: ca
Re: Oscilloscope pong for 1 or 2 players.
« Reply #383 on: April 18, 2017, 09:58:20 pm »
clever analog design instead of just throwing a microcontroller at it.
Forget microcontroller, he isn't even using a logic IC or even an OP-Amp.
BTW, the design isn't all analog, he does after all now have at least 1 D-Flip-Flop, ripple counter/clock dividers, ect... though he constructed all of them with transistors, diodes, caps and resistors from the ground up.
« Last Edit: April 18, 2017, 10:05:54 pm by BrianHG »
 

Offline BrianHG

  • Super Contributor
  • ***
  • Posts: 7660
  • Country: ca
Re: Oscilloscope pong for 1 or 2 players.
« Reply #384 on: April 18, 2017, 10:02:17 pm »
GK, I have a question about your Flip-Flop which you used to clean the pixels on your display.  Is it a regular positive edge triggered device similar to a 74LS74, or, did would it have been possible to use a sample-and-hold trick using a j-fet as an analog gate switch with a second one as a follower buffer?  Sort of like a transparent latch used in some data buss buffers.
« Last Edit: April 19, 2017, 04:59:38 am by BrianHG »
 

Offline HackedFridgeMagnet

  • Super Contributor
  • ***
  • Posts: 2028
  • Country: au
Re: Oscilloscope pong for 1 or 2 players.
« Reply #385 on: April 18, 2017, 10:40:05 pm »
@TimB
If possible I would prefer a single board or 2 boards that can sit side by side without a huge ribbon cable covering them.
In other words the aesthetics of this project is important for me.
 

Offline timb

  • Super Contributor
  • ***
  • Posts: 2536
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Re: Oscilloscope pong for 1 or 2 players.
« Reply #386 on: April 18, 2017, 11:29:28 pm »
 Okay then, I guess it stays a single board! :) One way or another we'll make it work.

I'll post a PDF later with the current layout. I want to draw some ratlines on it first to show you guys the major nets that need to be connected.

Another thing I was thinking is, currently I've got a 16 position terminal block for the Paddle 1/Paddle 2 Inputs and the Rotary Switch connections, however I could split it up and decrease it to 9 positions by making the user wire some of the connections together at the switch instead of doing it on board.

By this I mean, P1/P2 selection is done with a DP4T rotary switch which, for example, has Ball-Y fed to connections 1&3 of Pole 1 and 1&2 of Pole 2. Right now I simply have a terminal block with 10 connections so the user can wire the switch straight into the board and I take care of making sure Ball-Y gets to the correct switch terminals, however it would be a lot easier on me if I could have a single terminal block with a Ball-Y output and let the user jump terminals P1.1, P1.3, P2.1 & P2.2 together with wire and run the Ball-Y connection to one of them. Make sense?

In this case I would have a single +15V and -15V connection (right now there's two of each, one for each paddle but they could obviously be shared). Then I'd have an input for each paddle which goes through the RC network, an output for each paddle and Ball-Y, which goes to the rotary switch, and finally an input from the common on both poles of the rotary switch.

This would actually give me quite a bit of freedom to re-arrange things, as I could put several of the terminal blocks in different locations, so I don't have to run some of the traces halfway across the board.
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13693
  • Country: gb
    • Mike's Electric Stuff
Re: Oscilloscope pong for 1 or 2 players.
« Reply #387 on: April 18, 2017, 11:50:45 pm »
I don't think having wires coming to the PCB in various places is a big deal, as long as they are at the edge, so those concerned with aesthetics could do them as a nice loom.
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline BrianHG

  • Super Contributor
  • ***
  • Posts: 7660
  • Country: ca
Re: Oscilloscope pong for 1 or 2 players.
« Reply #388 on: April 19, 2017, 04:56:49 am »
Okay then, I guess it stays a single board! :) One way or another we'll make it work.

This would actually give me quite a bit of freedom to re-arrange things, as I could put several of the terminal blocks in different locations, so I don't have to run some of the traces halfway across the board.
2 or 3 banks of terminal blocks are perfectly fine.  Might be even better for design visualization.
 

Offline HackedFridgeMagnet

  • Super Contributor
  • ***
  • Posts: 2028
  • Country: au
Re: Oscilloscope pong for 1 or 2 players.
« Reply #389 on: April 19, 2017, 08:31:52 am »
I'm thinking of breaking out some of the waveforms to be displayed on a separate CRO.
TimB said he would putting in a few test points so I guess I could use these. 

My goal is to make an exhibit that could be used to get people interested in electronics.
I have plenty of old scopes to throw at it.
 

Offline timb

  • Super Contributor
  • ***
  • Posts: 2536
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Oscilloscope pong for 1 or 2 players.
« Reply #390 on: April 19, 2017, 10:02:09 am »
Okay then, I guess it stays a single board! :) One way or another we'll make it work.

This would actually give me quite a bit of freedom to re-arrange things, as I could put several of the terminal blocks in different locations, so I don't have to run some of the traces halfway across the board.
2 or 3 banks of terminal blocks are perfectly fine.  Might be even better for design visualization.

So this is what I came up with:




And here's a PDF of the layout with some colored ratlines added to show the nets that need connecting:

http://timb.us/Projects/Scope_Pong/Layout_20170419_Markup.pdf

Note that the position of the top three blocks (outlined in blue) are still up in the air as they're all still under construction (I may push the Paddle block over to the far left and move the Ball Movement blocks towards the right). I'm also thinking I can rotate the Velocity Integrator (top left) block 90 degrees to the left and push it more towards the edge of the board. I'm also going to re-arrange the monostable timers of the sound generator (bottom right). Finally, the Function Gen section can be rotated 90 degrees to the right and pushed into the little gap between the Multiplexer Logic and the top of 5 bit flip-flop array.

I spent most of the night flipping, rotating and moving stuff around tonight to try and get a more streamlined layout and most of the above should help. The big trouble is in getting the + and - Ref lines everywhere they need to go and getting the three trigger lines to the sound circuitry.
« Last Edit: April 19, 2017, 10:04:13 am by timb »
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 

Offline Gary350z

  • Regular Contributor
  • *
  • Posts: 240
  • Country: us
Re: Oscilloscope pong for 1 or 2 players.
« Reply #391 on: April 19, 2017, 11:48:11 am »
Hi GK,

Could you post a hi res photo of your oscilloscope pong board. I think it would be amazing to look at, as well see your build technique.

Thanks,
Gary
 

Offline GKTopic starter

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Oscilloscope pong for 1 or 2 players.
« Reply #392 on: April 19, 2017, 11:48:27 am »
GK, I have a question about your Flip-Flop which you used to clean the pixels on your display.  Is it a regular positive edge triggered device similar to a 74LS74, or, did would it have been possible to use a sample-and-hold trick using a j-fet as an analog gate switch with a second one as a follower buffer?  Sort of like a transparent latch used in some data buss buffers.


It's negative edge-triggered, but there is a simpler incarnation made up of less NAND gates that I posted further on in the digital computer thread. Some kind of logic-level S&H could be made to work no doubt, but I think I'll stick to the 6xNAND gate DFF.

Incidentally I just got back in from the shack. It's getting on to 9PM now and I really should have had dinner first, but I just couldn't wait; the colour theory has been buzzing around in my head all day and I just had to breadboard my test circuit to make sure I have the theory down pat. Looks like I have. The circuitry is as quick and crude as I could get away with and I had to fiddle a fair by with grounding and bypassing to get a stable colour-locked picture that wasn't full of noise as the breadboard assembly is far from ideal; the chromoa circuitry is on the far-right breadboard in the photo. The 17.73 MHz (x4) chroma frequency reference comes from my Rigol sig.gen..
The picture quality still isn't great, but there is not much scope or point in further improvement with this breadboard prototyping.   

I designed for an injection/summation of RED chroma components over the luma component of the scoreboard. As you can see the circuitry is discrete CMOS logic, but this is just a quick concept/theory verification for now. Tomorrow I'll make sure I've got the sums right/in the ballpark for the other desired display colours and re-wire the test circuit for each accordingly. After that I'll be in a position to start soldering together and wiring in stage-by-stage the fully discrete substitute. But it's dinner, shower, bed for me now unfortunately.



« Last Edit: April 19, 2017, 11:51:04 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GKTopic starter

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 
The following users thanked this post: Gary350z

Offline GKTopic starter

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Oscilloscope pong for 1 or 2 players.
« Reply #394 on: April 20, 2017, 12:36:03 pm »
An additional 9 transistors soldered in and the scoreboard readout is complete. The gate array for the scoreboard digital readout is just a 3-input DTL NAND gate for each segment, all with the open-collector outputs tied together and thus ORed.

For each NAND gate, one of the three inputs is fed the vertical video component for the respective segment whilst the second of the three inputs is fed the horizontal video component. The third input is the control line to switch the respective segment OFF. The inputs of the DTL NAND gates default high courtesy of the resistive pull-up, so all of the segments, with the control inputs left floating, default ON.
The decimal outputs of the player score counters will be active-low, open-collector-outputs, asserting the NAND gate control inputs via a simple diode array performing the decimal to seven-segment decode. Doing it this way (turning the segments OFF rather than ON) saves 24 diodes in the decoding array and is a natural fit to the operation of the DT-logic.


And here it is (continuing with the documentation):

EDIT: schematic updated 25/April/17


« Last Edit: April 25, 2017, 07:23:09 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13693
  • Country: gb
    • Mike's Electric Stuff
Re: Oscilloscope pong for 1 or 2 players.
« Reply #395 on: April 20, 2017, 12:43:54 pm »

Incidentally I just got back in from the shack. It's getting on to 9PM now and I really should have had dinner first, but I just couldn't wait; the colour theory has been buzzing around in my head all day and I just had to breadboard my test circuit to make sure I have the theory down pat. Looks like I have. The circuitry is as quick and crude as I could get away with and I had to fiddle a fair by with grounding and bypassing to get a stable colour-locked picture that wasn't full of noise as the breadboard assembly is far from ideal; the chromoa circuitry is on the far-right breadboard in the photo. The 17.73 MHz (x4) chroma frequency reference comes from my Rigol sig.gen..

That circuitry reminds me of the BBC Micro colour encoder ( bottom right)
http://mdfs.net/Info/Comp/BBC/Circuits/BBC/bbc.gif
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13693
  • Country: gb
    • Mike's Electric Stuff
Re: Oscilloscope pong for 1 or 2 players.
« Reply #396 on: April 20, 2017, 12:45:53 pm »
One thought re.  size of a SMD PCB of the video version - there are a lot of diode pairs, so dual SOT-23 diodes would save quite a few components.
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline GKTopic starter

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Oscilloscope pong for 1 or 2 players.
« Reply #397 on: April 20, 2017, 01:00:30 pm »
That circuitry reminds me of the BBC Micro colour encoder ( bottom right)
http://mdfs.net/Info/Comp/BBC/Circuits/BBC/bbc.gif


Yep, as mentioned previously, that is my design inspiration. Simply by independently toggling the polarities and varying the amplitudes of my U and V I can make any pretty colour I can care for.

I'm quite chuffed with how easy it has turned out to encode colour, and how reasonable it's possible to get the quality of the picture with such a crappy and quick breadboard implementation/experiment. Can't wait to get the properly designed fully-discrete-transistor incarnation done to find out how much better the picture quality will be. If you go to bed for a few nights on end with a copy of the BBC Micro service manual and W C Cook's PAL Colour Television For Servicemen, this is what happens  ;D

« Last Edit: April 20, 2017, 01:18:55 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Oscilloscope pong for 1 or 2 players.
« Reply #398 on: April 20, 2017, 06:57:25 pm »
I'd have expected that to be much more difficult.

Ok now try to do NTSC color :)
 

Offline timb

  • Super Contributor
  • ***
  • Posts: 2536
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Oscilloscope pong for 1 or 2 players.
« Reply #399 on: April 20, 2017, 11:26:31 pm »
I'd have expected that to be much more difficult.

Ok now try to do NTSC color :)

I actually looked into how hard it would be to add PAL to NTSC support circuitry onto the board. It's hard. There used to be ICs to do that sort of thing, but they're all long depreciated. Looking into the block diagrams of them I figure it would take hundreds of discrete components to replicate and just wouldn't be worth it.

I then looked into PAL to HDMI. It's doable, but would require two main ICs (a "Universal Analog Video to BT.656 Converter" and a "Intermediary Digital Video to HDMI Transmitter") plus a handful of support components (a PLL, 3V3 regulator, basic MCU to setup the converter chips over SPI or I2C, some buffers, etc.) and that's just for video! You still have to break the audio out of the PAL feed separately and run it into an A to D with a PCM SPDIF (or DTS I2S) output. (Though you don't need a separate chip to the transmit the audio once it's in SPDIF or I2S as the HDMI video transmitter chip can take care of that.)

It's a lot of work, to put it mildly. You'd think some company would make a single chip NTSC/PAL/SECAM Audio/Video to HDMI solution, but they don't.

I think the best bet is to stick with a $20 Analog to HDMI box for running it on modern LCD or Plasma. If you want to run it on an old CRT Monitor get a Analog to VGA converter. You can also buy old PAL to NTSC converters on eBay for cheap if you want to use a CRT TV.
« Last Edit: April 20, 2017, 11:28:42 pm by timb »
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf