Shop OBEX P1 Docs P2 Docs Learn Events
Open source project. Using USB memory stick, USB joysticks, SD cards, file syst — Parallax Forums

Open source project. Using USB memory stick, USB joysticks, SD cards, file syst

fezmonkeyfezmonkey Posts: 41
edited 2010-06-15 00:22 in Propeller 1
This is an open source hardware/software project (FEZ Gameo) that combines the power of propeller (video, audio, sprites... more) with FEZ Domino (Visual Studio, C#, full file system, USB host, USB device, serial, SPI, I2C, ADC, DAC...many more!). It is still in a very early stage and your comments and contributions are appreciated.

Basically, the propeller will handle audio, video, sprites...etc on its all 8 cogs. Then, USBizi can run high level managed code in C# using free Visual Studio express. You will have threading, file system, USB devices...just too many tings to list here. You can even connect a USB guitar hero, XBOX or PS3 controllers...even connect an NXT lego robot!!
The project is an early stage so the "proof of concept" video is not very exciting but hopefully, with your contribution, this can be a cool retro gaming console that is programmed in C# (and Visual Basic in future)!

A prof of concept video www.youtube.com/watch?v=ltG1qPPqXr4
The project wiki is at www.microframeworkprojects.com/index.php?title=FEZ_Gameo
The discussion board for the project www.tinyclr.com/forum/11/
This is a quick video on FEZ Domino www.youtube.com/watch?v=CEvLqhQrfE4
FEZ Domino with RockBand stage kit www.microframeworkprojects.com/index.php?title=RockBandStageKit
A book covering C# and NETMF www.tinyclr.com/downloads/Beginners%20guide%20to%20NETMF.pdf

If you have experience in propeller and would like to contribute, the GHI team may have a free board for you smilewinkgrin.gif See this www.tinyclr.com/forum/11/302/

Comments

  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2010-06-11 15:32
    Hmm.. A couple "Propeller as video card" posts in the same day. I love the concept!

    So what language is the primary unit being programmed in? I'm guessing C?

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Feature Projects: PropellerPowered.com
    Visit the: PROPELLERPOWERED SIG forum kindly hosted by Savage Circuits.
  • blittledblittled Posts: 681
    edited 2010-06-12 02:28
    Sounds like a very interesting project. The FEZ looks like just the type of development system I would be comfortable with since I'm a C# programmer by profession, Electrical Engineer by education and a micro controller hobbyist. I've done plenty of ASM programming but I haven't done much PASM but it looks easy enough. The Gameo may have a broader appeal if you use a protoboard or demo board instead of a backpack. The backpack is an excellent board but it is relatively new and I think many more forum members have protoboards and demo boards.

    @OBC : I've been toying with the idea of using Rayman's PSM as a media front end communicating with another propeller or Chameleon PIC via SPI and also replacing the FSRW on it with Kye's new SD object.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Will work for Propeller parts!
  • fezmonkeyfezmonkey Posts: 41
    edited 2010-06-12 04:03
    This is a .NET CLR so it can run any thing .NET, including Visual Basic and C#, as of now only C# is officially supported.

    "blittled" you are more than welcome if you like to contribute to the project.


    The backpack was selected for only one reason. The TX/RX pins used for programming are exposed on this board. The next step is to load the propeller firmware right from FEZ (internal resource or SD card). This saves on the need for eeprom and makes the firmware more dynamic. The other boards are more common and they may have more exposed pins but the pins we need for programming the propeller are not exposed. Am I correct?

    Anyway, at the end this will be a design with everything on-board, no need of backpack or anything else.
  • blittledblittled Posts: 681
    edited 2010-06-12 22:12
    Sounds good. I always wanted to be part of an open source project. I have just moved from an apartment to a my first house so I don't have a lot of time right now but I'll register on the FEZ Forum and discuss how I can contribute to the project.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Will work for Propeller parts!
  • jazzedjazzed Posts: 11,803
    edited 2010-06-12 22:22
    fezmonkey said...

    The backpack was selected for only one reason. The TX/RX pins used for programming are exposed on this board. The next step is to load the propeller firmware right from FEZ (internal resource or SD card). This saves on the need for eeprom and makes the firmware more dynamic. The other boards are more common and they may have more exposed pins but the pins we need for programming the propeller are not exposed. Am I correct?
    Actually, the backpack tx/rx pins are no more or less accessible than any other board.
    It is small and cute though with some A/V outputs.

    Here's a page I keep with pictures of lots of Propeller based boards (more to come) that I'm targeting for my project:
    www.brouhaha.com/~sdenson/PropellerJVM/Hardware.html Your project could use them too.

    Cheers.
    --Steve

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Pages: Propeller JVM

    Post Edited (jazzed) : 6/12/2010 11:12:43 PM GMT
  • fezmonkeyfezmonkey Posts: 41
    edited 2010-06-13 01:40
    jazzed said...
    Actually, the backpack tx/rx pins are no more or less accessible than any other board.

    the propeller must use specific pins to load firmware on power up (pins 30 and 31 I think). Those pins are exposed on the backpack but on all other boards they are connected to FTDI USB<->serial chipset.


    Studying this further, I think it is better to place a loader inside the propeller and then we can use any pins we like to and any protocol we prefer. The 3 bit propeller use for the built in loader is not very friendly. Even the backpack itself has its own loader (monitor).
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-06-13 02:05
    P28 & P29 are used for the I2C boot eeprom
    fezmonkey said...

    the propeller must use specific pins to load firmware on power up (pins 30 and 31 I think). Those pins are exposed on the backpack but on all other boards they are connected to FTDI USB<->serial chipset.


    Studying this further, I think it is better to place a loader inside the propeller and then we can use any pins we like to and any protocol we prefer. The 3 bit propeller use for the built in loader is not very friendly. Even the backpack itself has its own loader (monitor).
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
    My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
    and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
    Las - Large model assembler Largos - upcoming nano operating system
  • fezmonkeyfezmonkey Posts: 41
    edited 2010-06-13 15:33
    Yes, I think it is better to leave the EEPROM in the project (p28+P29) and expose (p30+p31) for loading/debugging so propeller-users are more comfortable with the system plus it will make starting up easier.

    I looked at Steve's page to see what is the best hardware to use for prototyping and, since we need video/audio, the best option will be the backpack or the propeller demo board. The other boards are either not very common or do not have video output...yes yes you can add video to any circuit but I am trying to make this as easy to prototype as possible.

    Comments are welcome
  • blittledblittled Posts: 681
    edited 2010-06-14 02:31
    I was researching the video circuitry of the Backpack and it uses additional lines for output P16 for 75 ohm sourcing and P17 for filtering. Will the Gemeo also use this circuitry or will it follow the standard circuitry as in the demo board? If it follows the standard it may be easier to use/modify OBEX video objects with it. I personally use the Spin Studio www.ucontroller.com since it also exposes P31, P32 and can be set up to be just like the demo board.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Will work for Propeller parts!

    Post Edited (blittled) : 6/14/2010 3:07:06 AM GMT
  • fezmonkeyfezmonkey Posts: 41
    edited 2010-06-14 11:02
    blittled said...
    If it follows the standard it may be easier to use/modify OBEX video objects with it.

    Another good reason to use the standard "propeller demo board" plus most users will probably own one. The backpack has some extra circuitry that is cool for some projects but I am not seeing this being very useful in a gaming system.
  • heaterheater Posts: 3,370
    edited 2010-06-14 11:23
    Hmmm... "Visual Studio", does not sound very open source to me.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • fezmonkeyfezmonkey Posts: 41
    edited 2010-06-14 11:26
    The device is open source, this has nothing to do with tools! The propeller IDE is not open source but how does this limit anyone?
  • BradCBradC Posts: 2,601
    edited 2010-06-14 11:28
    heater said...
    Hmmm... "Visual Studio", does not sound very open source to me.

    I tried to download the SDK to see if the CLR source was included but it was a Setup.exe and an *.msi file. If the entire CLR and library source is available and unencumbered then it sounds very cool.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "I mean, if I went around sayin' I was an emperor just because some moistened bint had lobbed a scimitar at me they'd put me away!"
  • heaterheater Posts: 3,370
    edited 2010-06-14 11:43
    OK sounds good. I'm never quite sure how much of that C# stuff we can actually get to run on alternative platforms.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • fezmonkeyfezmonkey Posts: 41
    edited 2010-06-14 11:53
    You are looking at SDK not porting kit. search for ".NET Micro framework 4.0 porting kit" and you will find a huge download with thousands of source code files!

    Now, porting NETMF is not easy but the good news is that USBizi has everything compiled and loaded so you can just use it but if someone has the experience and time then they can customize and compile NETMF an anyway they like.

    "FEZ Gameo" itself is not meant to cover compiling/linking the NETMF system code, that would be too advanced for most users. It covers combining the power of USBizi chipset (USB host/ USB device, analog in and out, I2C, 2xSPI, 4xUART...and more) with a propeller (audio, video, critical timing). This can be done in 2 ways. You can think of the propeller as a salve device to handle audio/video or you can think of USBizi as a slave device to handle USB joysticks....since software/hardware are all open then you can select to where your core game will run...maybe a spin game on propeller or a C# game on USBizi. Either way, with having both of these together, you will have far more options than having just one or another.
  • ribbotsonribbotson Posts: 7
    edited 2010-06-14 21:18
    I am still trying to understand what is now open source on the GHI side.

    The USBizi is I understand an NXP LPC2388, which are available at fairly low cost for integration to propeller platforms. Are you putting the associated USB code etc. into the public domain as open source ?

    The Microsoft .NET MF license is another isuue, but it would be good to get a clear understanding of the GHI perspective, before generous contibutions of open propeller software. Do you represent GHI ?
  • fezmonkeyfezmonkey Posts: 41
    edited 2010-06-14 21:37
    The low level drivers, game engine or any C# code to be going between USBizi and propeller is open. The code to handle the rest on propeller side that is also open. Do not think of USBizi as a LPC2388. The project is not to cover the source codes of NETMF. Those are open but not covered by this project.
    When the project is complete, you can run it on USBizi or run it on any hardware running NETMF....even your own LPC2388 implementation. But again, this would be too much to cover in this small project which targets beginners.

    No I do not represent GHI, just working on this project and I thought will see if someone else would like to contribute since this is going to be all available online anyway.
  • jazzedjazzed Posts: 11,803
    edited 2010-06-15 00:15
    netmf said...
    The typical .NET Micro Framework device has a 32 bit processor with no external memory management unit (MMU) and could have as little as 64K RAM ....
    Too bad Propeller only has 32K on board smile.gif That is becoming just a speed bump these days.
    I wonder if the chip would sweat trying to run CLR .... I'm too busy to find out right now smile.gif

    Cheers.
    --Steve

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Pages: Propeller JVM
  • fezmonkeyfezmonkey Posts: 41
    edited 2010-06-15 00:22
    not possible..not even close! the propeller lacks interrupts and lacks many things that a "micro" has. I like ot think of the propeller as somewhere between an FPGA and a micro. Great for low level things in assembly and spin but tit is terrible when you want to go high end things....you can do it but using any micro would be easier.
Sign In or Register to comment.