6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 4:59 pm

All times are UTC




Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Sat Sep 09, 2006 7:18 am 
Offline

Joined: Wed Nov 24, 2004 6:24 pm
Posts: 26
Location: Adelaide
My TAFE was throwing out a heap of books a few days ago and in the lot I picked out was a SYM-1 Reference Manual :D (Sixth printing, March 1981). In it there's information about a very simple oscilloscope driver which I have attempted to build, with some success.

It works with a sawtooth wave which is visible while it's rising (when the capacitor is charging), but invisible when the capacitor discharges, because the sweep moves too quickly for the phosphors on the display to light. Turning the output on and off allows on this sweep allows it to appear to be on and off in places.

I didn't have the transistors used int the original schemaitc (2N2222, NPN and 2N2907, PNP) so I used BC547 (NPN) and BC557 (PNP) on my prototype, which are close enough.

I also don't have a working 6502 computer at the moment, so I hope you don't mind me using my 8080 computer :P

The original schematic is here, http://kaput.homeunix.org/~thrashbarg/oscilloscope.png which I put together in XFig for those who don't want to download the 13MB SYM Reference Manual PDF file.

There are two inputs and one output, very simple. The two PNP transistors act as a current limiter so the capacitor doesn't have a curve on it when it charges (capacitors don't charge linearly). Input A, when pulsed high, discharges the capacitor, which creates a new line. Input B when high makes the output low, but doesn't change the charge of the capacitor (much). This allows you to control the state of the line's trace.

My results. http://kaput.homeunix.org/~thrashbarg/crt_display.jpg . Awful, but you can sort of make out 'Hello'. Not bad for 5 transistors and two inputs. I'm probably not programming it correctly either.

I think one of the problems is the way the blanking works, it causes the capacitor to discharge a little. I think if the output of the sawtooth generator (between the 10K resistor and the capacitor) were put into an amplifier first, then the blanking transistor, it may help. I tried replacing the 10K resistor with a 100K with no change.

There's source code in chapter 7 of the SYM-1 instruction manual if you want it.

If anyone can suggest some improvements on the circuit I'd love to hear from you.

Thrashbarg.

UPDATE: Changed it back to a 10K resistor and did some cleaning up. Works beautifully now. http://kaput.homeunix.org/~thrashbarg/crt_display2.jpg

_________________
Check out my 8080 project: http://kaput.homeunix.org


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Sep 09, 2006 5:02 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
Most modern o'scopes have a mode of operation where by you use one input to supply the horizontal signal, another input to provide the vertical signal, and a third (usually on the back somewhere) to provide a brightness signal.

In short, you can use this mode to provide a true monochrome raster-scan capability (it's actually *intended* for viewing Lissijua(sp?) figures), within the specifications of your oscilloscope of course.

Even many LCD-based O'scopes have this capability now.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Sep 09, 2006 5:05 pm 
Offline

Joined: Wed Nov 24, 2004 6:24 pm
Posts: 26
Location: Adelaide
I know, mine has this too. What I like about this circuit is it's so simple and it'll work on even the cheapest of CRO's.

_________________
Check out my 8080 project: http://kaput.homeunix.org


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Sep 09, 2006 7:40 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
When I first saw the Sym-1's circuit for the one-line oscilloscope text display I laughed about how simple it was, but I thought it was a great, resourceful idea.

I used the X, Y, & Z-axis inputs to do raster-scan graphics on my scope a couple of years ago. I used the 6522's SR output, using the clock line to feed a pair of cascaded 8-bit counters whose parallel outputs go to a pair of 8-bit D/A converters, the first for the horizontal (X) position and the second for the vertical (Y). The data line of the 6522's SR output went to the Z (brightness) input. The idea was to get a 256x256 display. A third line taken from another 6522 pin reset the counters for the beginning of each frame scan, which is important for initialization and for the case that you don't want to use the full 256 lines.

Feeding the X-axis input from a D/A like this instead of using the oscilloscope's own time base means that if the computer can't keep feeding data at a steady rate to the 6522, you don't mess up your timing, because a hesitation on the computer's part (due to an interrupt to take care of something else, for example) just means the dot also hesitates instead of going ahead of the data. That dot will appear brighter, but all the dots' positions remain unaffected.

The dual op amp I originally used to follow the D/A converters was just a cheap LM358, which proved to be too slow. (I could have done some calculations to find that out beforehand, but just didn't.) So I replaced it with an LT1124, which also has the common dual op-amp pinout so the socket wiring did not need any changes, even though this is a rather high-performance op amp.

I had a few problems which I was able to partly remedy. It turns out the Z-azis input of my A.W. Sperry oscilloscope was capacitively coupled, which is no good for this kind of thing where you definitely won't have or want a 50% duty cycle, or exactly half the pixels being on and the other half being off. I took the user manual which has service data in it, took the cover off the 'scope, and shorted the Z-input coupling capacitor and removed a resistor. That fixed the biggest obstacle.

The next problem was that for displaying a lot of lines (which an analog oscilloscope is not intended for), the brightness had to be turned all the way up, which made the dot on the screen too fat for 256 dots across or down. I decided to forgo a lot of vertical resolution and go down to 64 lines. This means each line gets four times as high a percentage of the illumination time, making it brighter. I also went down to 128 dots across. Now I can't display nearly as much info, but at least it's bright enough, and clearer. I was able to put several lines of readable text on it. I never got far enough to write the software to put graphs on it and mix different sizes of text in with the graphics. Only time and interest are obstacles. It wouldn't be hard.

Next was the flickering. With the computer running at 5MHz, displaying a lot of lines means the number of frames per second is slow enough that the flickering is a little annoying. I need to change a few wires on the breadboard to do interlacing to reduce the perceived flicker, and then I'll have to change the software to feed it appropriately.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Last edited by GARTHWILSON on Sat Sep 09, 2006 9:11 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Sep 09, 2006 8:30 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
That's almost exactly what I was aiming for, although I admit your system
is actually better than mine. I never would have thought to use the CLK
output to ensure 100% synchronization between the display and the VIA. I
was thinking of using a circuit not too much more complex than the
SYM-1's circuit above to do the horizontal and vertical sweeping, with
the VIA being used for the express purpose of horizontal and vertical
retrace and the SR output for the display data.

As far as shorting the capacitor on the Z input, I personally would have
installed a switch for that input. Although I cannot see *any* reason
why they'd capacitively couple it, I'm sure it was there for a reason,
and I'd like to be able to switch it back into the circuit when I was
done toying with the o'scope. :)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Sep 09, 2006 9:09 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
Quote:
As far as shorting the capacitor on the Z input, I personally would have installed a switch for that input. Although I cannot see *any* reason why they'd capacitively couple it, I'm sure it was there for a reason, and I'd like to be able to switch it back into the circuit when I was done toying with the o'scope.
Well, it's not too late to put a switch in, but in 15 or 20 years of owning this scope, this is the only time I've used the Z input at all.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Sep 11, 2006 2:25 pm 
Offline

Joined: Fri Jun 27, 2003 8:12 am
Posts: 618
Location: Meadowbrook
The method you are describing is known as vector graphics and many classic arcade games used it. If it is any help, there is a fantastic primer on theory and usage in the Star Castle manual.

http://en.wikipedia.org/wiki/Star_Castle

http://www.arcadedocs.com/vidmanuals/S/StarCastle.pdf

_________________
"My biggest dream in life? Building black plywood Habitrails"


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 34 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: