Shop OBEX P1 Docs P2 Docs Learn Events
PROP C3 Add on expansion board: C3 Synapse is coming soon! — Parallax Forums

PROP C3 Add on expansion board: C3 Synapse is coming soon!

digimorfdigimorf Posts: 74
edited 2012-10-01 05:39 in Propeller 1
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).
test_pattern.png

Video Frame buffer application

vgm2.png

Storage and real time data fetching application

font2.png

Video Frame buffer application

SlideShow0.png
SlideShow1.png
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.

c3left.jpg
c3right.jpg
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
591 x 451 - 131K
591 x 499 - 373K
591 x 423 - 318K
591 x 462 - 354K
800 x 532 - 777K
800 x 566 - 889K
800 x 566 - 876K
800 x 590 - 1M
800 x 584 - 953K
800 x 584 - 989K
«1

Comments

  • David BetzDavid Betz Posts: 14,516
    edited 2012-05-30 18:57
    There is a PropGCC cache driver available for the C3 SRAM board now. It's actually a very easy board to program so I'm sure a Catalina driver will follow shortly. There is a counter on the low 8 address bits which can be used to quickly read/write a block of up to 256 bytes at a time. This is idea for reading/writing cache lines so the performance should be good.

    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.
  • RossHRossH Posts: 5,463
    edited 2012-05-31 02:21
    Hey - neato!

    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.
  • digimorfdigimorf Posts: 74
    edited 2012-05-31 10:53
    RossH wrote: »
    Hey - neato!

    If you guys in Nurve are interested in sending me a board, I'll happily add a Catalina driver for it.

    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
  • RossHRossH Posts: 5,463
    edited 2012-05-31 15:33
    digimorf wrote: »
    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
  • AndreLAndreL Posts: 1,004
    edited 2012-06-01 00:49
    When the boards are back from manufacturing, we will send people developing big apps for the C3 samples to play with no problem. But, first things first, get the units back, finish the user manual, docs, etc.

    Andre'
  • jazzedjazzed Posts: 11,803
    edited 2012-06-01 12:51
    AndreL wrote: »
    When the boards are back from manufacturing, we will send people developing big apps for the C3 samples to play with no problem. But, first things first, get the units back, finish the user manual, docs, etc.

    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
  • digimorfdigimorf Posts: 74
    edited 2012-06-05 16:27
    Hi, I have coded a little demo that uses a custom version of the tv driver shown in the snapshots at my first post
    .
    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.

    ZetaJones_256x192_8bpp_C3_Synapse.jpg


    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 ?
  • jazzedjazzed Posts: 11,803
    edited 2012-06-05 20:55
    Great display. :)

    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
  • digimorfdigimorf Posts: 74
    edited 2012-06-06 22:54
    jazzed wrote: »
    Great display. :)
    Sure beats the heck out of 32KB propeller hub ram video onion peeling.

    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. :)
    jazzed wrote: »
    Is a C3 Synapse VGA driven Propeller PowerPoint Presenter Parallax Product possible?

    Uhm' I'm not sure to have understood, sorry my english. :) Can you explain me what kind of program have you in mind ?
    jazzed wrote: »
    Good work.
    --Steve

    Thanks, When I will finish the support docments I will open some section dedicated to C3 Synapse :)
  • max72max72 Posts: 1,155
    edited 2012-06-07 01:05
    digimorf wrote: »

    Uhm' I'm not sure to have understood, sorry my english. :) Can you explain me what kind of program have you in mind ?

    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
  • digimorfdigimorf Posts: 74
    edited 2012-06-07 02:06
    @Max72: OH, thanks Max :D

    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.
  • digimorfdigimorf Posts: 74
    edited 2012-06-15 07:40
    Hi guys,
    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!

    C3Synapse_TV_256x224_Counters_Fix.jpg

    .
    Here it is the photo of a Catherine Zeta Jones at 96 color 256x224 read from the Frame Buffer.

    C3Synapse_TV_256x224_Counters_Fix2.jpg


    C3 Synapse is coming very soon!
    Enjoy!
  • potatoheadpotatohead Posts: 10,261
    edited 2012-06-15 15:11
    Very nice indeed!
  • digimorfdigimorf Posts: 74
    edited 2012-06-17 03:29
    Thank you.

    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!
  • digimorfdigimorf Posts: 74
    edited 2012-06-20 00:03
    Hi to all,
    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.
  • digimorfdigimorf Posts: 74
    edited 2012-08-23 21:38
  • David BetzDavid Betz Posts: 14,516
    edited 2012-08-24 04:35
    digimorf wrote: »
    Since I don't see any mention of it in your promotional material, I guess you decided that using this as external memory for Propeller C programs isn't very important. Is the intended use of this board just to emulate old processors like the Z80 and vintage game machines?
  • digimorfdigimorf Posts: 74
    edited 2012-08-24 09:50
    The C3Synapse is designed to let you do whatever your imagination tells you! :D Since you have 512k parallel SRAM, a great address latching system with an auto incremented counter up for handling the first nibble of the address, 5 extra output lines that you can use to latch external IO buffers,the complete access to all signals of the C3. Of course this board is not only for video games and emulation but adds extra power to the C3 :)

    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 :D

    Sorry my english. :P
  • David BetzDavid Betz Posts: 14,516
    edited 2012-08-24 12:53
    digimorf wrote: »
    I included the C3Synapse in my C3Emulation project becaue It's nice to use it in that :)
    I can't talk about data sampling, complex function tables, or LMM for c there :D
    The C3Synapse is designed to let you do whatever your imagination tells you! :D As soon as it will be on sale I will go deep in details, but since you have 512k parallel SRAM, a great address latching system with an auto incremented counter up for the first nibble of the address, 5 extra output lines that you can use to latch external IO buffers, complete access to all signal of the C3.
    This board is not only for video games and emulation but adds extra power to the C3 :)
    It's encouraging that you are targeting applications other than just video games. Will the CD that comes with the Synapse include the PropGCC cache driver and configuration file needed to use Synapse with Propeller C? Will it include any sample C code?
  • AndreLAndreL Posts: 1,004
    edited 2012-08-24 13:21
    @David,

    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'
  • David BetzDavid Betz Posts: 14,516
    edited 2012-08-24 13:25
    AndreL wrote: »
    @David,

    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.
  • yetiyeti Posts: 818
    edited 2012-08-24 15:11
    Who will be distributor in Germany or EU?

    I'd like to see GCC and CP/M on C3+Synapse...
  • Daniel HarrisDaniel Harris Posts: 207
    edited 2012-08-24 16:38
    I am thoroughly impressed! I had no idea this board was even in development. Seeing the Youtube video with 8 bit color and a solid framerate was incredible. Great job guys!
  • David BetzDavid Betz Posts: 14,516
    edited 2012-08-24 21:06
    yeti wrote: »
    Who will be distributor in Germany or EU?

    I'd like to see GCC and CP/M on C3+Synapse...
    Propeller GCC already works on the Synapse board.
  • digimorfdigimorf Posts: 74
    edited 2012-08-26 05:28
    I am thoroughly impressed! I had no idea this board was even in development. Seeing the Youtube video with 8 bit color and a solid framerate was incredible. Great job guys!

    Thank you Daniel!
    :D
  • digimorfdigimorf Posts: 74
    edited 2012-08-26 05:30
    yeti wrote: »
    Who will be distributor in Germany or EU?

    I'd like to see GCC and CP/M on C3+Synapse...

    It already supports GCC, so in addiction to the LMM you will be able to do great things with PropC3+C3Synapse! :)
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-08-26 14:08
    Congratulations! You guys made it to the back cover of the latest Nuts & Volts in the Parallax advertisement!!!
  • David BetzDavid Betz Posts: 14,516
    edited 2012-09-08 14:24
    Any news on when Synapse will be available?
  • digimorfdigimorf Posts: 74
    edited 2012-09-09 07:12
    The C3Synapse is available now, it should be up on the Parallax site very soon for sale, the web dev team has been entering it into the computer. Additionally, it will be up on the XGameStation site shortly.

    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.
  • David BetzDavid Betz Posts: 14,516
    edited 2012-09-09 10:12
    digimorf wrote: »
    The C3Synapse is available now, it should be up on the Parallax site very soon for sale, the web dev team has been entering it into the computer. Additionally, it will be up on the XGameStation site shortly.

    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.
    Thanks for the info. Good luck with the Synapse!
Sign In or Register to comment.