Kiss pp vga++
davidsaunders
Posts: 1,559
A simple GG board to provide 8BPP color at resolutions up to 800x600, with speeds that are usable for good video games.A little background:Must rewrite.Concept:Must rewrite.For communication:The prop will send drawing commands to the video Prop by way of a 6 bit bus on the lower 6 pins of the 10 used. The 8th pin will be a data clock (managed by the video Prop), in order to provide a transmit rate. The 7th pin will be a /RDY pin that will go low when it is OK to transmit.HW used:16 x 74HCT244 for disconnecting the SRAM data bus from the Resistor DAC and bank selection.16 x 32KB 10ns parallel SRAM.32 x 2.2K ohm resistors.2 x signal diodes (most small signal diodes should work well).1 x VGA 15pin MiniDSUB.Some wire .Breadboards (for Prototyping and testing)Coper Clad board (size to be determined)FeCl (DUH).Some Capacitors (will update, I always find more needed somewhere when I check with the scope).Pins used:To be defined. I am using Prop pins 0 through 7 for now, though I am not certain of the pins commonly used by other devices, as such as I look into this I may change the PinSet.Commands:Each command is sent as the first 6-Bit value in the data from the Prop, or n the case of the command 11, the first two 6-bit values, fallowed by its data. Those of you that are familiar with DR-GEM will recognize the numbering used, the parameters are in the same order as they are in GEM, each IntIn value taking two 6bit sends (and is thus 12bits).Functions:6 = PolyLine8 = DrawText9 = PolyFill11,1 = FillRect11,2 = Arc11,3 = PieSlice11,4 = Circle11,5 = Ellipse11,6 = EllArc11,7 = EllPie11,8 = RRect11,9 = RFillRect12 = SetTxtSize13 = SetTxtDir16 = SetLineW17 = SetLineColor22 = SetTxtColor25 = SetFillColorInput and other help welcome. Phase 1 step 0 (get the parts togather):Phase 1 step 1 (wire the Prop [representing the GG] to the AVR):
Comments
Phase 1 step 0 (get the parts togather):
The sockers that the SRAM is sitting on are going to be used to make a breadboard adapter for the SRAM
So far the contest has got two Propeller to video setups on the table. Pretty Cool.
OBC
I've pondered a total hardware 74xx chip solution but the atmega makes even more sense as it can talk intelligently to the propeller.
I very much look forward to seeing a demo. I see no technical reason why it won't work if you have a ram chip that fast. And when it does, I think there are all sorts of possibilities to improve the performance by altering the coding balance between the atmega and the propeller. Ultimately who knows, the propeller probably has enough smarts to act as an intelligent video processor eg draw this circle here, draw this sprite there and then move it. And the atmega handles the heavy lifting.
And it will be "GG compatible"?
How many bits of color depth are you proposing again? (eg total and/or, how many bits per color)?
I will be using 4 2 bit DACs to produce 8BPP color directly. This will be 2Bit each Red, Green, Blue, Intensity.
I look forward to seeing photos of the breadboard as it takes shape.
Yes you could use 2 RAM chips to achieve 4 bits per color value if you wanted, though you would only be able to write to one of them at a time with the ATMega164P (which I am using for this) due to only having 32 IO pins.
Here is the template that I use (never had to make sure that it matched before):
Standard 0.1 inch perfboard.
In this thread I send correct dimensions to PP-Board.
http://forums.parallax.com/showthread.php?131638-Graphcs-Slave-Propeller-Platform-Module&p=1000407&viewfull=1#post1000407
Thank you.
I am just going to use a Propeller.
The AVR is to hard to work with in this type of setup, doing communication AND video AND interpreting commands, this is what got me into the Prop to start with, doing multiple things in parallel with out interrupts, and being able to do them in a truly asynchronous fashion.
With your 10ns chips, I wonder what you could do? That is fast enough to clock out data for a DAC. You just have to get it in there. I've pondered two ram chips - clock data out of one while the other is filled up and do them alternate scan lines on the screen. Maybe two props or ?? one prop. But definitely two (or more) ram chips.
I Would like to do this with two ram chips. The trouble is that I am using a DIP40 Propeller and a DIP 74HCT244 as well as a DIP latch, this does not leave much room for the RAM. In order to use two chips I would have to use a great number of jumper wires (to save space used by traces).
I had held onto a couple of the 3.5" drives with daydream wish to get something else retro going. Then I found that the disks were a right pig to get, and the box of my old ones had suffered jetwashing by some roofing contractors.
I will have to use a SD along with an audio track "wir- wir, scuff- scuff, tic- tic".
http://www.embedds.com/cpld-8-bit-vga-graphics/
http://www.ulrichradig.de/home/index.php/cpld/8bit_c_graka (but in German)
It was just that I happen to have some Xilinx chips to play with. I thought that the artical could show if it is neccessary to have dual SRAMs for timing or other buffering reasons.
The original link was lifted from an English translation but when I tested it off of the forum, for confidence, it seems to have stopped working, so hence the dirrect reference that followed.
(Anyway what's the problem with having to have a parallel port and several GB of spare HD space ??)