Shop OBEX P1 Docs P2 Docs Learn Events
PropCade: Propeller Development, Retro Gaming and Computing platform - Available NOW! — Parallax Forums

PropCade: Propeller Development, Retro Gaming and Computing platform - Available NOW!

Bill HenningBill Henning Posts: 6,445
edited 2010-10-19 15:02 in Propeller 1
It has been a long journey, but production PropCade's are now available for your enjoyment!

PropCade is the first Propeller based computer designed for 100Mhz operation from the ground up.

Feature List:

- 100MHz operation, tested for all functions
- 6.800''x2.800' double sided, solder masked, silk-screened PCB
- Propeller P8X32 (running at 100Mhz)
- 64KB EEPROM
- PCF8563 RTC
- battery backup of RTC, and optionally last two DIP SPI ram's
- 2x RJ45 for easy RS485 daisy-chained networking (SP485)
- IR receiver (38Khz)
- IR transmitter
- two Sega/Atari DB9M joystick ports using a MCP23S17 running at 5VDC
- built-in 'SerPlug' MAX3232 with DB9F runs at 1Mbps with optional FTDI USB cable
- uSD socket (push/pull)
- six sockets for SPI RAM/FRAM/FLASH (SOIC8 pattern under DIP8 socket)
- VGA output (demo board compatible)
- Video output (demo board compatible)
- S-Video output
- Stereo audio out via RCA jacks
- PS/2 keyboard jack (demo board compatible)
- PS/2 mouse jack (demo board compatible)
- DC 2.1mm power jack
- push on / push off power switch
- power LED
- 2 user LED's
- PropPlug/SerPlug header (remove SP3232 to use a PropPlug)
- extremely Demo board compatible
- VGA/Keyboard/Mouse pins 100% Protoboard compatible

Future Expansion:

- up to seven more MCP23S17's for up to 112 more digital I/O's
- I2C expansion header for anything you care to hook up to it

Alternate Industrial Configuration:

- two 10-pin ports for upcoming Mikronauts optically isolated I/O modules
- three screw terminal instead of DB9F for RS232
- three screw terminals instead of RJ45's for RS485 networking
- SOIC8 SRAM/FLASH/FRAM instead of DIP8 memory

PropCade is a self-contained, affordable Propeller platform for:

- writing Spin and Pasm code right on the Propeller with Sphinx
- emulating old computers (Z80, 6809, etc)
- emulating old game consoles
- making arcade cabinets
- serial terminal replacement
- running virtual machines (ZOG, Java and others)
- running FemtoBasic
- VT100 replacement

The possibilities are endless!

As usual, Sapieha PCB layout is amazing - this board was designed for 100Mhz+ operation.

Kit #1 - "PropCade 128"

PropCade PCB, *COMPLETE* kit with 128KB SRAM for $109+s/h

Complete means complete - the only empty sockets on the board will be two of the 8 pin dip memory expansion sockets - please see the feature list at the top for what is included.

Add $30 if you would like your PropCade assembled and tested.

Kit #2 - "PropCade Essentials"

PropCade Essentials kit for $39 + s/h

Since a lot of forum members will already have most of the parts needed to populate PropCade, I thought it would be useful to make a "Bare Kit" consisting only of the parts that are not readily available from DigiKey.

This kit includes ONLY the following parts:

- PropCade printed circuit board
- 6.25Mhz crystal
- uSD socket
- power switch
- triple RCA socket that PropCade is designed to accept
- two of the RJ45 unshielded connectors I use

You will have to supply all of the other parts.

For either kit, shipping and handling should be between $28-$35 for XpressPost, and $17-$25 for Expedited Parcel (best guesses) to the continental U.S. including tracking and delivery in 3-5 business days to major urban centers. Please send me your exact address for an accurate shipping quote.

Here is an example of a PropCade complete kit 128K

- XpressPost shipping to California: $28 s/h, includes tracking, 3-4 business day delivery
- Expedited Parcel shipping to California: $17 s/h, includes tracking, 4 business day delivery

Note for non-major centers, add 2-3 business days to delivery.

I recommend Expedited Parcel!

Available Software

- SphinxOS
- BoulderDash
- pretty much everything from Obex as-is, after changing the xtal frequency!

(I will be editing this top post to keep it updated)

Attachments:

- Production Board Photo's
- NES joystick interface emulation (PropCade_Controller.zip)
1024 x 768 - 499K
1024 x 768 - 433K
1024 x 768 - 569K
1024 x 768 - 573K

Comments

  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-04 14:59
    PropCade's Demo board compatible pins:
    P30,P31  Serial Programming Port / H-COMM / PropPlug connector
    P28,P29  I2C Bus
    P26,P27  PS/2 Keyboard
    P24,P25  PS/2 Mouse
    P16-P23  VGA
    P12-P15  TV
    

    PropCade unique pins:
    P29       SDA is shared with IR_out
    P9-P11    SPI device address
    P7,P8     L/R Audio out
    P6        IR in
    P4,P5     RS485 data in/out, read/write direction control
    P3        MISO – SPI slave output
    P2        MOSI – SPI slave input
    P1        CLK – SPI clock
    P0        /CS – SPI active device select
    

    SPI Device addresses
    Y7  uSD
    Y6  MCP23S17
    Y5  SPI IC6
    Y4  SPI IC5
    Y3  SPI IC4
    Y2  SPI IC3
    Y1  SPI IC2
    Y0  SPI IC1
    

    FAQ


    Q1: Why no USB interface?

    A1: I wanted to use this board as a low cost terminal - and you can buy a $3 USB<->serial cable on Ebay if you need USB


    Q2: Why RS485 and not Ethernet?

    A2: The SP485 is much less expensive, needs less software support, and allows cheap networking for up to 32 PropCade's (or 300 with low bus loading SP485R's)


    Q3: Why RJ45?

    A3: Because the "RJ11's" I purchased in bulk are actually unshielded RJ45's, and I have a LOT of them (approx. 1000 pieces)


    Q4: Why S-Video?

    A4: S-Video allows MUCH higher quality video output on TV's which makes text much easier to read


    Q5: Why RCA audio output?

    A5: One of the main purposes of PropCade is to be hooked up to the family entertainment system for retro gaming


    Q6: Why Sega/Atari joysticks?

    A6: They use a nice, cheap, readily available DB9M connectors, and joysticks are readily available.


    Q7: Where is the original PropCade discussion?

    A7: http://forums.parallax.com/showthread.php?t=121315


    Q8: What do I have to do to port Spin programs to PropCade?

    A8: For programs originally written for the ProtoBoard or Demo Board, make the following changes:
    con
    
      ' Configure for PropCade
      _clkmode          = xtal1 + pll16x
      _xinfreq          = 6_250_000
    
      ' VGA, TV, Keyboard, Mouse are on the same pins as the Demo board
      ' Remember, audio pins are on P7 and P8!
    


    Q9: Will you be releasing code for reading the joysticks?

    A9: YES! There will be native joystick support, and also emulation for NES joysticks.

  • jazzedjazzed Posts: 11,803
    edited 2010-10-04 15:22
    Nice work Bill. :scool:
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-04 15:23
    Thank you!
    jazzed wrote: »
    Nice work Bill. :scool:
  • hover1hover1 Posts: 1,929
    edited 2010-10-04 15:43
    Awesome Bill! Worth the wait! RS485 support is a plus in my book.

    But now....Propcade...C3...Propcade...C3...

    Heck! One of each!

    Jim
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-04 15:46
    Thanks Jim!

    PropCade and the C3, while sharing some features, are aimed at different markets - and IMHO are both great products... I would not be surprised if many people picked up both - like you :)

    If you don't need joystick support, leave off the DB9M's, and add 10x1F connectors - then you will be able to use:

    - DIG-8-IN-V ... opto isolated nominally 24VDC eight input module
    - DIG-8-OUT-V ... opto isolated SSR's providing eight isolated 24V outputs with 500mA source/sink capability

    Coming soon!
    hover1 wrote: »
    Awesome Bill! Worth the wait! RS485 support is a plus in my book.

    But now....Propcade...C3...Propcade...C3...

    Heck! One of each!

    Jim
  • TinkersALotTinkersALot Posts: 535
    edited 2010-10-04 17:50
    where do these ship from?
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-04 17:54
    British Columbia, Canada

    Now that the BOM is done, I will make a few kits up this week, and get exact weight and dimensions - that way I can figure out the shipping costs more accurately.

    XpressPost just raised their prices, but improved their delivery time.

    Expedited parcel should be about $10 cheaper (I'll post shipping when I know) but it takes 5-10 business days.

    Update: I just ran the on-line quote with approximate dimensions / weight, and I've updated the shipping in the first post.
    where do these ship from?
  • Cluso99Cluso99 Posts: 18,069
    edited 2010-10-04 18:20
    Congratulations Bill & Sapieha. Hope this introduces a lot of new faces to the prop and you sell heaps.
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-04 20:31
    Thank you!

    Now if only the retro computing and retro gaming crowd around the net will notice it...
    Cluso99 wrote: »
    Congratulations Bill & Sapieha. Hope this introduces a lot of new faces to the prop and you sell heaps.
  • potatoheadpotatohead Posts: 10,261
    edited 2010-10-04 21:39
    We've got some talking up to do.

    Probably can get it into Classic VGM #6. We are working through #5 right now. I can probably buy one in time for #6. Expect a PM from me in the near future Bill. Very nice work. Can't wait! (and I'm buying one anyway, so that's not a call for a review unit :) )

    Wonder whether or not that NES emulation would operate from the external RAM fast enough to play bigger carts? If so, that's probably one easy attention getter.
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-05 05:43
    I'm happy to talk :)

    I have CVGM#4 - I like CVGM, and I like seeing the old ads in it.

    Thank you - PropCade was a lot of fun to design.

    Regarding bigger carts - using VMCOG, I suspect it would be fast enough. Directly accessing the SPI ram byte by byte I don't think it would be fast enough.
    potatohead wrote: »
    We've got some talking up to do.

    Probably can get it into Classic VGM #6. We are working through #5 right now. I can probably buy one in time for #6. Expect a PM from me in the near future Bill. Very nice work. Can't wait! (and I'm buying one anyway, so that's not a call for a review unit :) )

    Wonder whether or not that NES emulation would operate from the external RAM fast enough to play bigger carts? If so, that's probably one easy attention getter.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-10-05 06:31
    Now if only the retro computing and retro gaming crowd around the net will notice it...


    I guess that would need a demo program with photos or a video?

    What have you got already? What do you think you could add easily? And what things have yet to be coded but might be possible to do?

    A first step might be some more details of how the memory is managed. Where is the virtual memory up to - what model are you using for looking ahead for bytes etc?

    I was pondering a model today where a cog loads some bytes and sends them off to be processed - eg to emulate a single instruction from another microcontroller, and at the same time, exploiting the parallel way the propeller works, the cog starts reading ahead the next bytes. It might be a way to mitigate the slow nature of serial ram? As a rough guide, looking at instructions and how many might be directly emulated in PASM and how many are LMM (slower) and how many clock cycles it takes to read data serially, I'm guessing maybe both might be roughly equal?

    But VMCOG uses a different model I think? Am I right in saying that it loads blocks of data with the assumption that most code will stay in a block?

    For retrocomputing, there is the very practical tradeoff of how much of the 32k of hub memory you devote to local buffer storage, and how much to video ram.

    Your thoughts would be most appreciated.

    BTW - fantastic board!
  • potatoheadpotatohead Posts: 10,261
    edited 2010-10-05 08:48
    We had a thread a while back on a "gaming kit", where we assemble binary loadable objects, then wrap them into some framework, like prop basic, or something.

    IMHO, that's still valid. I have been chipping away at some video objects, but honestly, I think we should focus on the modified TV.spin that Eric did. Sprites and some other goodies can be added to that, and the resulting video capability would be very good.

    BTW: I would have captures by now, but my video device is on the fritz... stand by for those.

    Anyway, the thought behind those was to significantly improve what can be done, by fetching things from the SD card as needed, instead of trying to pack it all in.
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-05 09:19
    Dr_Acula wrote: »
    Now if only the retro computing and retro gaming crowd around the net will notice it...


    I guess that would need a demo program with photos or a video?

    What have you got already? What do you think you could add easily? And what things have yet to be coded but might be possible to do?

    I have started working on that... I pulled a lot of games off OBC's games page, with an eye to porting them to PropCade.

    Generally, porting is VERY easy - if the game was written for the Demoboard (or ProtoBoard) all I have to do is change the clock setup, and the audio pins.

    Hydra games require more pin changing :) and my new NES joystick emulation (for Sega joysticks) ... which uses a cog right now, but will be hidden in TV or VGA vsync processing later.

    So far, I've got Boulderdash96 running, Loderunner 50% there, and DodgyKong needs to be slimmed down because I ran out of room (and cogs) adding my joystick object.

    I stopped working on ports to get the BOM done, so I could start selling the board.
    Dr_Acula wrote: »
    A first step might be some more details of how the memory is managed. Where is the virtual memory up to - what model are you using for looking ahead for bytes etc?

    There is actually a lot of information on this in the VMCOG thread and the source; but the idea was that how VMCOG works would be transparent to the applications; merely use Spin or PASM code to access VMCOG. I need to document the PASM code to do so - the ZOG pasm source includes access functions written by heater.
    Dr_Acula wrote: »
    I was pondering a model today where a cog loads some bytes and sends them off to be processed - eg to emulate a single instruction from another microcontroller, and at the same time, exploiting the parallel way the propeller works, the cog starts reading ahead the next bytes. It might be a way to mitigate the slow nature of serial ram? As a rough guide, looking at instructions and how many might be directly emulated in PASM and how many are LMM (slower) and how many clock cycles it takes to read data serially, I'm guessing maybe both might be roughly equal?

    The pre-fetch mechanism would speed up VMCOG access, but SPI ram is so slow that accessing it, even with such a pre-fetch, is painfully slow - unless you are reading a lot of bytes at once. To read a single byte, you have to send a 24 bit command/address, then clock in 8 bits, plus manipulate /CS. This is roughly equal to 34 bits being banged, so at 4Mbps (rolled up bitbanging driver) it would take 8.5us minimum - per byte. A long would take approx. 58 bit bangs, which is 14.5us at 4Mbps.

    Using the more complex counter-helped code at 10Mbps it would be roughly 3.4us for a byte, and 5.8us for a long.

    Using the even more complex 20Mbps send / 10Mbps receive code, a byte would take roughly 2.2us, and a long 4.6us.

    With VMCOG, >90%+ of the time it is about approx. 1.2us for a byte or a long.
    Dr_Acula wrote: »
    But VMCOG uses a different model I think? Am I right in saying that it loads blocks of data with the assumption that most code will stay in a block?

    VMCOG assumes that locations to be read/written will tend to be "clustered", and that the majority of the accesses will not be truly random.

    Virtual memory was used on early mini/mainframe computers when core memory was insanely expensive; and it was found that with a reasonable size working set you could get close to 99% of the performance of "real" memory with "virtual" memory.
    Dr_Acula wrote: »
    For retrocomputing, there is the very practical tradeoff of how much of the 32k of hub memory you devote to local buffer storage, and how much to video ram.

    Your thoughts would be most appreciated.

    I TOTALLY agree!

    The nice thing about VMCOG is that you could devote say 20K to video buffers, and still have a 128K+ ZOG program! (once I finish the larger VM support)

    I can't wait to see CP/M running on it!
    Dr_Acula wrote: »
    BTW - fantastic board!

    Thank you!
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-05 09:25
    I remember that thread, and I agree - that is a very valid approach.

    I actually made a stripped down version of PropCmd intending to use it on PropCade; and I've gotten SphinxOS running on PropCade as well - it is surprisingly quick at compiling!
    potatohead wrote: »
    We had a thread a while back on a "gaming kit", where we assemble binary loadable objects, then wrap them into some framework, like prop basic, or something.

    IMHO, that's still valid. I have been chipping away at some video objects, but honestly, I think we should focus on the modified TV.spin that Eric did. Sprites and some other goodies can be added to that, and the resulting video capability would be very good.

    BTW: I would have captures by now, but my video device is on the fritz... stand by for those.

    Anyway, the thought behind those was to significantly improve what can be done, by fetching things from the SD card as needed, instead of trying to pack it all in.
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-05 13:12
    I've uploaded the NES controller emulation to the first post. Currently the exported names match what Boulderdash expects, but it is trivial to add other exported functions for what other games expect.
  • localrogerlocalroger Posts: 3,452
    edited 2010-10-05 18:09
    Beautiful work as usual, Bill. Of course I got a sneak preview when I visited you in BC but I think you were still in deep QA mode with it then. The completed product looks extremely clean, and it deserves to do well at market.
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-05 18:28
    Thank you Roger!

    When I have time, I'll build the joystick-less industrial version, and the minimal VT100 replacement variation :)

    (same pcb... oh so many uses!)
    localroger wrote: »
    Beautiful work as usual, Bill. Of course I got a sneak preview when I visited you in BC but I think you were still in deep QA mode with it then. The completed product looks extremely clean, and it deserves to do well at market.
  • David BetzDavid Betz Posts: 14,516
    edited 2010-10-05 18:38
    Thank you Roger!

    When I have time, I'll build the joystick-less industrial version, and the minimal VT100 replacement variation :)

    (same pcb... oh so many uses!)
    As far as the minimal VT100 replacement goes, have you seen Vince Briel's PockeTerm?

    http://www.brielcomputers.com/wordpress/?cat=6
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-05 20:21
    Yes, I have - it is a very nice terminal emulator, and it has a second serial port.

    What I was thinking of is that people could start out with a minimal kit, and populate the rest of PropCade as they needed the additional features - I am betting some people would like to buy a less "complete" kit than I describe above.
    David Betz wrote: »
    As far as the minimal VT100 replacement goes, have you seen Vince Briel's PockeTerm?

    http://www.brielcomputers.com/wordpress/?cat=6
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-06 17:49
    Bad news - I sprained my right wrist, and I am right handed.

    My board building and typing will be delayed for a few days.

    *ARGH*!
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-08 11:28
    I've added another forum special to the first message!

    Since a lot of you already have most of the parts needed to build a PropCade computer, I put together a kit consisting only of the PropCade PCB, power switch, 6.25MHz crystal, uSD socket, triple RCA socket and RJ45's - basically the only parts you can't get from Digikey.

    See the first post for pricing.
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-19 15:02
    While taking a short break from soldering, I got Hanno's Mandelbrot generator running on PropCade.

    [url=]http://forums.parallax.com/showthread.php?t=126429[/url]

    The only change needed is:

    _xinfreq = 6_250_000

    :-)
Sign In or Register to comment.