+ Reply to Thread
Page 1 of 2 12 LastLast
Results 1 to 20 of 24

Thread: Minimal TV or VGA pins

  1. #1

    Default Minimal TV or VGA pins

    I wonder if there has been any work done on the absolute minimum number of output pins tha are required to get basic black and white pics?
    I realize that sync outputs would leave it at 2 for tv and 2(?) probably 4 for vga.

    I am trying to bolt a Z80 with ram onto the side of a prop (Nascom dream) and would like to start with max free pins. Black and white would be in keeping too!

    (Please be kind too my probable ignorance)

    Toby Seckshund.
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  2. #2

    Default

    For VGA you'll need three pins.

    H, V and Video. Drive R, G and B from the Video pin via 3 x 150R resistors.
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  3. #3

    Location
    Where everyone+dog take holidays in this beloved country
    Posts
    2,100

    Default

    If you multiplex the addresses using a pair of 74HCT157 you can save some 7 pins.
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  4. #4

    Default

    Thanks for the replies. As soon as i had posted, I realized that I couldn't count, hey-ho.
    I am trying to nail a Z80 to a prop doing a ULA sort of thing and wanted to keep all pins available for my enevitable lack of thinking here at the start.
    I have started by a very basic multiplex of the data and addr and will try to use the /busack etc to DMA.
    I know I could use Triblade or its original i8080 but I am determined to get down to learning myself, instead of using other peoples good work and wishing it actually did what I wanted.
    A couple of pins for a debug screen and eventually the 48x16 real screen would be required, it always seems they come in bunches of 4 pins or 8.
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  5. #5

    Default

    You can do VGA with two pins. The trick is to composite the /hsync and /vsync signals onto one pin. This is done by tri-stating the pin when neither sync is present and using the following external circuit:



    When the pin is floating, both /hsync and /csync will be high. When driven low, /vsync will be low; when driven high, /hsync will be low. You will need to use XOR gates that can source at least 15mA at 3V.

    -Phil

    _

    Post Edited (Phil Pilgrim (PhiPi)) : 4/4/2009 8:59:47 PM GMT
    Attached Thumbnails Attached Thumbnails Click image for larger version

Name:	two-pin_vga.gif‎
Views:	1134
Size:	3.3 KB
ID:	59824  
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  6. #6

    Default

    I seem to recall a one pin composite solution - High, Low & Tri-state for white, sync & black (I think).
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  7. #7

    Default

    Hmm - bolting a Z80 onto a propeller? Something I've been playing with too, though all these efforts are about to be rendered redundant by the superb efforts of cluso99 and heater et al.

    One solution, tried and true, is a N8VEM Z80 CP/M board talking via standard RS232 to a PockeTerm propeller vga/keyboard board.

    This uses serial, and of course this is slow. Loading a 30k program via serial at 38400 baud is about 100x slower than loading it via parallel from a 'ram disk'.

    So if you want to connect the two together, the very best solution is to use 16 address lines, 8 data lines and some handshaking lines. Unfortunately, this leaves you with hardly any propeller pins left.

    Then there are compromise solutions. You could use an 8 bit 'data bus' between the two, plus maybe a couple of handshaking lines. You could latch the data out into an octal latch eg an HC373 from the Z80. The propeller can latch a byte out directly. You *might* be able to trap an OUT on the Z80 lines by the propeller directly as the prop is running 20x faster than the Z80. But a latch would be more robust. Then perhaps some 245 bidirectional bus transceivers to control the direction. I'd probably go for this sort of 10 line compromise, as it leaves enough prop pins free to do vga/keyboard/serial, ie the clever stuff a prop can do, but still gives you fairly fast parallel data transfer to the Z80.

    How far along are you with a schematic etc?
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  8. #8

    Default

    Here's a one-pin NTSC solution:



    White is logic high; sync, logic low; blank level, CTRB programmed for DUTY mode with FRQB set to $4924_0000. The advantage of this over tri-stating for the blanking level is that the Propeller's video generator can be used to generate the visible stuff while CTRB is active. When the video output is high, it's ORed with the DUTY output to yield a high; when low, the DUTY-mode value takes over. CTRB is simply turned off during the syncs, which has to be handled in software.

    The resistor values have an output impedance of 75 ohms and will drive a 75-ohm load at 1V P-P. The cap is there to filter the DUTY doody.

    -Phil

    _
    Attached Thumbnails Attached Thumbnails Click image for larger version

Name:	one-pin_ntsc.gif‎
Views:	958
Size:	1.0 KB
ID:	59829  
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  9. #9
    Cluso99's Avatar
    Location
    Sydney/Brisbane Australia or 'sailing on the high seas'
    Posts
    10,046

    Default

    Nice one Phil
    If it involves another chip, in my opinion it may as well be another prop with all the benefits it has, and just communicate over 2 pins at 14Mbps.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    Single Board Computer:3 Propeller ICsand aTriBladeProp board (ZiCog Z80 Emulator)
    Prop Tools under Development or Completed (Index)
    Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    Search the Propeller forums (via Google)
    My cruising website is: www.bluemagic.biz MultiBladeProp is: www.bluemagic.biz/cluso.htm
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  10. #10

    Default

    Okay Phil, you've won this contest. But what about adding a few gates / a 16V8 / a small memory as hardware palette? Okay, this would also be an idea for a many-pin-video-output.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Airspace V - international hangar flying!
    www.airspace-v.com/ggadgets for tools & toys
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  11. #11

    Default

    I have gone for 8 lines for all data and addr using latches and bi-directional buffers etc. These will steared by the prop which will supply the clock to the Z80. Hopefully this will give me a chance to trap "magic" locations in memory mapping ie video map and i/o ie kbd and serial. I know that the more multiplexing gives speed hits and so will unravel more and more when/if it gets going. I have a cmos Z80 and only sram so bringing the Z80 to a stop for housekeeking should olny screw up the k.i.p. figures. All this heart ache due to stupidity 10 years ago when I chucked out my Nascom2, it was probably the last time I was completely ok with machine code upwards hence my wish to get fully into a truly flexible proc. Now I have started to get interested in the prop1 they are going to change to Prop2. I yearn for the days when there was a visible gap between the pins, Heater is right "The past is not ...
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  12. #12

    Default

    Cluo99

    I have done much as you say hc573's hc245 and a few glue gates. Only one 32k sram so far as I seem to have a load of "pulls" (even a 6116, I tremember going green with envy when a mate got some of those back in the early 80@'s.

    If it is not a total whast of space I'll try to get it out
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  13. #13

    Default

    Phil Pilgrim (PhiPi) said...
    Here's a one-pin NTSC solution:

    White is logic high; sync, logic low; blank level, CTRB programmed for DUTY mode with FRQB set to $4924_0000. The advantage of this over tri-stating for the blanking level is that the Propeller's video generator can be used to generate the visible stuff while CTRB is active. When the video output is high, it's ORed with the DUTY output to yield a high; when low, the DUTY-mode value takes over. CTRB is simply turned off during the syncs, which has to be handled in software.

    The resistor values have an output impedance of 75 ohms and will drive a 75-ohm load at 1V P-P. The cap is there to filter the DUTY doody.
    Cool! No reason you couldn't vary FRQB for some low resolution greyscale (maybe a background color with a white text overlay).
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  14. #14

    Default

    Phil will all the regular TV objects and drivers still work with this one wire setup???
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  15. #15

    Default

    No. They would have to be modified, since they use a resistor DAC to get the different voltage levels. To get the minimum three levels this way you need two pins.

    -Phil
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  16. #16
    Cluso99's Avatar
    Location
    Sydney/Brisbane Australia or 'sailing on the high seas'
    Posts
    10,046

    Default

    @Phil: I have just been looking at your schematic for H & V sync for VGA. I realised the top exclusive or gate can be replaced by a buffer (2 inverters in series) and the lower exclusive or gate with an inverter.

    Your output series resistors are 150R whereas the prop circuits use 240R for H & V sync. I presume the value is not that critical ???

    For the composite 1-pin video, what would be your suggestions if 2 pins were available?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,SixBlade, website
    Single Board Computer:3 Propeller ICsand aTriBladeProp board (ZiCog Z80 Emulator)
    Prop Tools under Development or Completed (Index)
    Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
    Search the Propeller forums (via Google)
    My cruising website is: www.bluemagic.biz MultiBladeProp is: www.bluemagic.biz/cluso.htm
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  17. #17

    Default

    Cluso99,

    240R is actually closer to the mark for all the resistors (including the RGB outputs). I had mistakenly assumed that the output level into a 75R load should be 1V P-P when, in fact, the specs call for 0.7V P-P. Neither value provides the correct 75R source impedance, though. To do that you'd have to combine a series resistor (of a different value) with a resistor to ground. But for short cables, it seems not to matter.

    BTW, good catch with the buffers and inverters!

    -Phil
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  18. #18
    Cluso99's Avatar
    Location
    Sydney/Brisbane Australia or 'sailing on the high seas'
    Posts
    10,046

    Default

    Thanks Phil. Analog is not my speciality :-(
    I am using your concept in an upcoming project and I already require an inverter. I did not want to use a 74xx86 exclusive or so I was working out the truth table and discovered it was only an inverter and buffer. I thought it worthwhile posting.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,SixBlade, website
    Single Board Computer:3 Propeller ICsand aTriBladeProp board (ZiCog Z80 Emulator)
    Prop Tools under Development or Completed (Index)
    Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
    Search the Propeller forums (via Google)
    My cruising website is: www.bluemagic.biz MultiBladeProp is: www.bluemagic.biz/cluso.htm
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  19. #19

    Default

    Cluso99,

    Just make sure that the inverters you use can source enough current to drive a 75-ohm load adequately, if necessary. I've even seen HYSYNC and VSYNC driver circuits that completely omit the series resistors from logic gate outputs, along with docs that claim the sync outputs need to be TTL compatible. Also, bear in mind that your RGB output pin needs to source about 30mA to drive all three VGA color inputs.

    -Phil
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

  20. #20
    Cluso99's Avatar
    Location
    Sydney/Brisbane Australia or 'sailing on the high seas'
    Posts
    10,046

    Default

    Thanks Phil. Yes I am planning on using 74LVCxx.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,SixBlade, website
    Single Board Computer:3 Propeller ICsand aTriBladeProp board (ZiCog Z80 Emulator)
    Prop Tools under Development or Completed (Index)
    Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
    Search the Propeller forums (via Google)
    My cruising website is: www.bluemagic.biz MultiBladeProp is: www.bluemagic.biz/cluso.htm
    Last edited by ForumTools; 09-30-2010 at 12:44 AM. Reason: Forum Migration

+ Reply to Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts