PROP C3 Add on expansion board: C3 Synapse is coming soon!
digimorf
Posts: 74
Hi!
Me and Nurve Networks LLCs have created a new add on memory board for the Prop C3 called the C3Synapse, its in manfacturing right now, and we are finishing up the user manual.
The board adds 512K of SRAM and an expansion port to the C3, and can be used for graphics, games, language development, whatever. In fact, the Propeller C development team is integrating drivers as I write this to support the C3Synapse on the PropC3 (which they have been using as their primary C development platform).
Video Frame buffer application
Storage and real time data fetching application
Video Frame buffer application
I need a few expert Propeller programmers, preferably those that own Prop C3's to read the manual, and let me know if there are any sections that need better explanation, comments, or suggestions -- English is not my native language, so the more people that review this the better!
If anyone is interested, please contact me with a private message.
In some days I will send you a ZIP with a MS-Word DOC version of the draft manual along with all the drivers and software, so you can mark up the DOC with comments. Then I will take everyones's comments and fix the manual to get it ready for the product shipment
I will mention you effort within the "Thanks" section of the manual.
Thanks,
Franceso De Simone
Me and Nurve Networks LLCs have created a new add on memory board for the Prop C3 called the C3Synapse, its in manfacturing right now, and we are finishing up the user manual.
The board adds 512K of SRAM and an expansion port to the C3, and can be used for graphics, games, language development, whatever. In fact, the Propeller C development team is integrating drivers as I write this to support the C3Synapse on the PropC3 (which they have been using as their primary C development platform).
Video Frame buffer application
Storage and real time data fetching application
Video Frame buffer application
Video Frame buffer paging and real time data fetching application
Andre' LaMothe designed the hardware, but I did the prototyping, testing, firmware, and I am the author of the manual which is almost complete.
A C3 Synapse prototype stacked on a PROP C3
I need a few expert Propeller programmers, preferably those that own Prop C3's to read the manual, and let me know if there are any sections that need better explanation, comments, or suggestions -- English is not my native language, so the more people that review this the better!
If anyone is interested, please contact me with a private message.
In some days I will send you a ZIP with a MS-Word DOC version of the draft manual along with all the drivers and software, so you can mark up the DOC with comments. Then I will take everyones's comments and fix the manual to get it ready for the product shipment
I will mention you effort within the "Thanks" section of the manual.
Thanks,
Franceso De Simone
Comments
The cache driver is called synapse_cache.dat and the board configuration file is called synapse.cfg. These should be in the next release of SimpleIDE and are already checked into the propgcc Google Code repository.
If you guys in Nurve are interested in sending me a board, I'll happily add a Catalina driver for it. Like the Hydra before it, the C3 is a truly great board, hampered only by the limited amount of SRAM - really happy to see someone addressing this!
Ross.
It would be nice to create drivers for each developing environment.
Actually we are manufacuring the first stock of board.
But we have already pre orders, so I need to talk to Andr
Andre'
Post a schematic.
It's a nice design needing only 11 propeller pins with very few missed optimizations.
We should have no problems getting 5MB/s read and write bursts working on this.
--Steve
.
This driver uses the COUNTER A for generating TV signal and COUNTER B to drive the control lines of Synapse.
This technique gves a good speed in accessing the Frame Buffer.
In this demo the TV driver is set to show 256x192 pixels but the memory page is actually 256x256. If you use a page of 64kb you can create special effects such as scrolling.
If you change settings of the COUNTER B you can create magnification effects instead.
An image ( 256x256 bmp 8bit indexed ) is loaded from SD card and then showed on the canvas ( 256x192 ).
Sorry for the quality of my camera, but I hope that this video will give you anyway an idea of what you can achieve with Synapse, a very challenging and exciting board to use with PROP C3 ( and of course a lot of MCU boards ).
Francesco.
BTW... Is there some C3 expert who would like to read the manual and help me in checking if is it all clear ?
Sure beats the heck out of 32KB propeller hub ram video onion peeling.
Is a C3 Synapse VGA driven Propeller PowerPoint Presenter Parallax Product possible?
Good work.
--Steve
Thanks, there are several techniques that can be used... the use of counter b needs some work to trim the frequency but is really powerful. Otherwise you can use a second cog that caches every line very fast with an internal counter, while the tv driver simply reads the line cached in the shared memory. That wil gives you more time between each waitvid, and will let you reach high resolutions.
Uhm' I'm not sure to have understood, sorry my english. Can you explain me what kind of program have you in mind ?
Thanks, When I will finish the support docments I will open some section dedicated to C3 Synapse
I guess jazzed is referring to this (in italian: usare il propeller per fare una presentazione usando un proiettore VGA):
http://forums.parallax.com/showthread.php?140056-Running-a-Presentation-from-a-Propeller-putting-a-BMP-in-VGA
Massimo
Well C3 Synapse actually has a slide show demo I have coded on purpose. It uses the Synapse basic tv driver with a resolution of 180x240 pixels.
This low resolution has been used to have a perfect correspondance pixel-color for showing pictures with text ( see the test pattern in my first post ).
The demo loads bmp images from SD card, and has two trasition effects: vertical wipe and immediate. This is just a demo to show the user how to use the tv driver and interleave synapse operation between the tv driver and the main application. I will make a video when possible.
C3 s a very advanced unit, and has a lot or resources to use. So Synapse has been designed as a multi purpose expansion. Is not designed for a specific task, but you basically can do whatever you want.
just a quick update. I could fix the TV driver demo to make the image on screen stable .
This driver takes advantage of the CounterB that drives directly the control lines of the C3 Synapse. In this way there's enough time to read 256 bytes from the frame buffer and display them in the active line. The frame of a qwaitvid instruction can be reduced to 1 pixel only.
So here what you can do with this driver and a C3 Synapse:
Resolutions:
256x192x8bpp
256x224x8bpp
256x240x8bpp
Color depth:
The color is in the Propeller format ( Chroma << 4 | $8 | Luma ), so 1 byte = 1 pixel
Extra:
Frame buffer pointers are accessible to SPIN for creating scrolling effects.
IT USES ONLY ONE COG.
C3 Synapse actually doesn't need a special and heavy driver, so you simply include few settings inside the TV driver and that's it!
.
Here it is the photo of a Catherine Zeta Jones at 96 color 256x224 read from the Frame Buffer.
C3 Synapse is coming very soon!
Enjoy!
As you can see from the photo of the LCD Screen, the resolution takes more or less the whole screen. In fact the Pixel clock is = 11.
I could also use Pixel clock of 10 to make the whole image to fit on a CRT monitor. But to achieve that I used a second Cog that caches the scanline from Synapse.
The cache is trigged at hsync of each scanline, so that there's enough time to cache data before the driver reads it
The caching method,driven by the internal counter, can store data on shared memory at a speed of 5Mhz.
At th is speed you could cache easily more pixels for a line, and with some optimization you probably can reach 320 pixels!
Propeller GCC Beta version have just been released. Very good job!
Of course C3 Synapse is compatible with PropGCC. I am translating all SPIN tutorials of the manual in C/C++, So that the manual will be complete.
Plus you will be able to count on the official support for this board very soon!
Keep following!
Francesco.
http://www.c3emulation.com/index.php/c3synapse-the-prop-c3-to-the-max
In the C3Emulation site I didn't put any other details regarding GCC, possible uses, and other info because they could be OT. So I will explore the C3 Synapse in the right place when it will be on sale
Sorry my english. :P
The CD can change in a second. Right now, I don't think there are any C demos since Francesco is not a C programmer, whatever you gave him, I am sure he tried. But, whatever sample demos, drivers, etc. you and your guys made with the samples we sent you, just zip it up, put a readme, email it to us, and I will put it on the CD. Done. Simple. But, since there is so little C stuff all around, people will have to develop their own stuff. The idea of this board is simple, its parallel memory. Use it for whatever; games, graphics, data logging, languages, compilers, emulators, whatever. And with the new C compiler, once that gets popular, use it with that --
Anyway, anything you want on the CD, zip it up and send it to us, and I will put it on there, just make sure its on this site, and people know about it, and or its on the PropGCC page links etc.
Andre'
Thanks Andre'. I did a cache driver for Synapse and sent it to Francesco but I no longer have a board so I won't be able to do any more. Sorry.
I'd like to see GCC and CP/M on C3+Synapse...
Thank you Daniel!
It already supports GCC, so in addiction to the LMM you will be able to do great things with PropC3+C3Synapse!
If you want to order now directly from Nurve Networks, simply email them at support@nurve.net and say you're interested in the C3Synapse.
You can also visit the page http://www.c3emulation.com/index.php/c3synpase-to-the-max
The price will be $79.99 initially plus shipping.