PropCade: Propeller Development, Retro Gaming and Computing platform - Available NOW!
Bill Henning
Posts: 6,445
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)
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)
Comments
PropCade unique pins:
SPI Device addresses
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:
Q9: Will you be releasing code for reading the joysticks?
A9: YES! There will be native joystick support, and also emulation for NES joysticks.
But now....Propcade...C3...Propcade...C3...
Heck! One of each!
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!
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.
Now if only the retro computing and retro gaming crowd around the net will notice it...
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.
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.
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!
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.
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.
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.
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.
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.
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!
Thank you!
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!
When I have time, I'll build the joystick-less industrial version, and the minimal VT100 replacement variation
(same pcb... oh so many uses!)
http://www.brielcomputers.com/wordpress/?cat=6
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.
My board building and typing will be delayed for a few days.
*ARGH*!
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.
[url=]http://forums.parallax.com/showthread.php?t=126429[/url]
The only change needed is:
_xinfreq = 6_250_000
:-)