PropCade: Propeller computer for emulation, gaming, RS485 networking, more (Joysticks, IR, see p5)

Hi guys,
I am trying something different this time. I am not waiting for production boards before introducing my new product, and I'll document my testing of the prototype so you can see what kind of issues can pop up.
PropCade was inspired by VMCOG - I wanted a nice, self-contained, platform for emulating:
- old computers (Z80, 6809, etc)
- old game consoles
- arcade games
- terminals
- virtual machines (ZOG, Java)
I also wanted it to be capable of self-hosted development under SphinxOS, and later, Largos. It should also be a great FemtoBasic platform!
Once I finalized the design, and hand-wired a preliminary prototype, Sapieha kindly offered to lay it out for me, and once again he did an extremely nice job laying out the board - it is a work of art!
(As you might have guessed, 'PropCade' is short for 'Propeller Arcade' - I thoroughly enjoyed reading about OBC's project with Jon's and GG's boards to make an arcade cabinet, and Ben Heck's Propeller based pinball machine is also inspiring)
PropCade Features:
- 6.800''x2.800' double sided, solder masked, silk-screened PCB
- Propeller DIP 40 chip
- 32KB or 64KB EEPROM
- PCF8563 RTC with battery backup
- 2x RJ45 for easy RS485 daisy-chained networking (SP485) - NEW: now independent, can be used at the same time as RS232!
- IR receiver (38Khz)
- IR transmitter
- two Sega/Atari DB9M joystick ports using a MCP23S17 running at 5VDC (or two 10 pin expansion connectors)
- built-in 'SerPlug' MAX3232 with DB9F
- uSD socket (one of two types)
- 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 (there is a jumper to choose between on-board RS232, RS485 and the hcomm header)
- a partridge and a pear tree (just kidding)
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
Features tested and working:
- voltage regulation
- PropPlug/SerPlug interface
- EEPROM
- Real Time Clock
- VGA
- TV Out (RCA)
- keyboard
- mouse
- built in RS232 programming port (works at 1Mbps with ViewPort using FTDI RS232 adapter)
- audio output
- S-Video output
- uSD
- 74HC138 SPI device selection
- SPI RAM
- Joystick ports
- IR Receive
- IR Transmit
- RS485 networking (up to 10Mbps, 5MBPS will be the 'standard' speed)
This thread with be the 'Official' PropCade thread, and I will be uploading photo's, and documenting my progress in debugging the prototype.
Please feel free to ask any questions you may have!
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
Post Edited (Bill Henning) : 8/2/2010 6:44:16 PM GMT
I am trying something different this time. I am not waiting for production boards before introducing my new product, and I'll document my testing of the prototype so you can see what kind of issues can pop up.
PropCade was inspired by VMCOG - I wanted a nice, self-contained, platform for emulating:
- old computers (Z80, 6809, etc)
- old game consoles
- arcade games
- terminals
- virtual machines (ZOG, Java)
I also wanted it to be capable of self-hosted development under SphinxOS, and later, Largos. It should also be a great FemtoBasic platform!
Once I finalized the design, and hand-wired a preliminary prototype, Sapieha kindly offered to lay it out for me, and once again he did an extremely nice job laying out the board - it is a work of art!
(As you might have guessed, 'PropCade' is short for 'Propeller Arcade' - I thoroughly enjoyed reading about OBC's project with Jon's and GG's boards to make an arcade cabinet, and Ben Heck's Propeller based pinball machine is also inspiring)
PropCade Features:
- 6.800''x2.800' double sided, solder masked, silk-screened PCB
- Propeller DIP 40 chip
- 32KB or 64KB EEPROM
- PCF8563 RTC with battery backup
- 2x RJ45 for easy RS485 daisy-chained networking (SP485) - NEW: now independent, can be used at the same time as RS232!
- IR receiver (38Khz)
- IR transmitter
- two Sega/Atari DB9M joystick ports using a MCP23S17 running at 5VDC (or two 10 pin expansion connectors)
- built-in 'SerPlug' MAX3232 with DB9F
- uSD socket (one of two types)
- 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 (there is a jumper to choose between on-board RS232, RS485 and the hcomm header)
- a partridge and a pear tree (just kidding)
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
Features tested and working:
- voltage regulation
- PropPlug/SerPlug interface
- EEPROM
- Real Time Clock
- VGA
- TV Out (RCA)
- keyboard
- mouse
- built in RS232 programming port (works at 1Mbps with ViewPort using FTDI RS232 adapter)
- audio output
- S-Video output
- uSD
- 74HC138 SPI device selection
- SPI RAM
- Joystick ports
- IR Receive
- IR Transmit
- RS485 networking (up to 10Mbps, 5MBPS will be the 'standard' speed)
This thread with be the 'Official' PropCade thread, and I will be uploading photo's, and documenting my progress in debugging the prototype.
Please feel free to ask any questions you may have!
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
Post Edited (Bill Henning) : 8/2/2010 6:44:16 PM GMT
Comments
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.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
Post Edited (Bill Henning) : 4/13/2010 12:21:36 AM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
Is this the one where you use SPI ram with a local cache in hub? Have you got code written?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.smarthome.viviti.com/propeller
Thanks!
Dr_Acula:
Yep! That's the one - and code is >50% written, and I am working to make that 100% written [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
Just a thought,
Juergen
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
He died at the console of hunger and thirst.
Next day he was buried. Face down, nine edge first.
Not just for longer distances, but also for a multipoint network. See the diagram a little further down that page. It would be a little different to RS232 in that data that goes out a port is immediately "echoed" back into the inport. I never could quite work out a way to handle that in software - possibly you disable the input then output a byte then turn the input back on? Or maybe all bytes going through the network are packets rather than individual bytes and then you know the packet came from yourself so you ignore it.
I suspect RS485 is the simplest and cheapest network. No routers needed and termination resistors not needed for short runs. And good choice re connectors too.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.smarthome.viviti.com/propeller
If you are running longer distances or high speed (1M) you will need termination at either "end" of the line. I understand why you would use RJ11s but as soon as you do you should really then have 2 on each board so that you can connect up more units easily. For shorter runs I have used 10 way IDC cable so that you can just crimp on a new IDC plug onto the cable at the point you want to tap off from. The IDC header is very compact. Alternatively it is common in the industry to use screw terminals of some kind and this makes it easy to also splice in other cables.
One thing to look out for with RS485 is that it is really a 2-wire connection and not a three wire connection (A+B+GND) as many would have you believe. The ground connection comes about because of the difference in ground potentials due to earthing etc and the attempt to balance it out (with it's own problems). If you isolate your RS485 or run from batteries you will never need the third wire.
BTW there are a lot of errors in the lammertbies link, it's written by PLC people for PLC people.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
*Peter*
The EEPROM is socketed
The idea is that PropCade will have a boot loader in the EEPROM, and run images off the uSD.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
Thanks!
You might want to take a look at my Morpheus product for emulations that need more than one Propeller. Morpheus has a parallel expansion bus (MorphBus) with 24 address, 8 data, and several control lines. Mem+ stacks on top of Morpheus.
I designed PropCade to be a simpler, less expensive platform than Morpheus, while providing the ability to use VMCOG to add up to 192KB of SPI RAM, or up to 768KB of FRAM. Granted, VMCOG is going to be slower than parallel memory expansions such as Morpheus, TriBlade, RamBlade etc., but it is also a simpler (from the hardware point of view) solution. Heater will re-target ZiCog and ZOG to VMCOG, so both will run on PropCade. I expect it to be slower than parallel solutions, but I believe it should be fast enough for a LOT of CP/M software (Wordstar, TurboPascal, Visicalc etc).
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
Thanks - I chose RS485 precisely because it is simple and very inexpensive to implement.
I am actually using half-duplex communications to simplify it even more. Normally all stations will listen. When the net is quiet, any station may try to send a message. If it does not receive a reply within a specified timeout, it can assume the message did not get through (due to collision or corruption), and it can wait a small random time interval, wait for the net to be quiet, and try again. This simplified algorithm will handle packet collisions, and corrupted packets - mind you, if the packet does not get through after a minute, it is probably safe to report the destination station as not being available [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
Agreed - RS485 is very easy to implement.
I am currently using the SP485 from Sipex; they have an SP485R that is 1/10th load and supports over 300 devices on the bus.
Totally agreed, I am using a half duplex configuration, Rx tied to Tx, and /RE tied to DE, and there is a termination resistor on board, with a 2 pin jumper to enable/disable it. I did not use screw terminals for this board as simplicity and ease of use were major design criteria.
Your point is an excellent one, and my goal of simplicity would be better served by having two RJ11's.
I considered using two RJ11's, but there was simply no room on the target board size without using a significantly more expensive vertical two port RJ11 jack, so I was thinking of using phone line splitters to add nodes, under the theory than in most cases the RS485 link is likely to be used as a point to point link.
I think I will bite the bullet, and make the board wider to accommodate a second RJ11 - as you point out, it will make it MUCH easier to easily daisy chain it.
Your objects sound great... are they in Obex?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
Is it too soon to add my wish list for version 2?
I wish someone would incorporate dual propeller with addon ram into a design like this geared for gaming...
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Are you Propeller Powered? PropellerPowered.com
Visit the: PROPELLERPOWERED SIG forum kindly hosted by Savage Circuits.
A Morpheus variant for gaming? <wink>
We'll talk at UPEW
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
Nonthing IS to SOON - It is only what People will have that decide it. And how many off them.
BUT that needs bigger PCB to fit it.
Regards
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nothing is impossible, there are only different degrees of difficulty.
For every stupid question there is at least one intelligent answer.
Don't guess - ask instead.
If you don't ask you won't know.
If your gonna construct something, make it·as simple as·possible yet as versatile as posible.
Sapieha
How about going from 9pin interfaces to Wii pcb connections? (cheaper too!)
[noparse]:)[/noparse]
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Are you Propeller Powered? PropellerPowered.com
Visit the: PROPELLERPOWERED SIG forum kindly hosted by Savage Circuits.
That Can be implemented already as small ADD ON PCB's as we have bottom on DB9 same connector holes as EXT1-2 on Morpheus.
Regards
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nothing is impossible, there are only different degrees of difficulty.
For every stupid question there is at least one intelligent answer.
Don't guess - ask instead.
If you don't ask you won't know.
If your gonna construct something, make it·as simple as·possible yet as versatile as posible.
Sapieha
If it's just a case of lots of C code that does not need to run fantastically fast I'm planning on using Zog to run stuff compiled with GCC. The ZPU byte codes that Zog executes will be in a SPI RAM probablly with Bill virtual memory cache driving it. So far I think Zog is the smallest easiest way to get C code running amongst a collection of existing objects in an existing project. Not so fast but Bill and I are going to work on that. Perhaps you would have some ideas for it as well.
Bill: When you say "six sockets for SPI RAM/FRAM/FLASH" Are they all going to be sitting on the same SPI bus or is it possible to drive them independently or in parallel for speed?
Actually what I'm getting at, prompted by PullMoll's question, is this:
If I have two or more BIG lumps of C code that I'd like to run independently and they both need the space provided by external RAM, currently with parallel bus RAMs that is a pain as a) Most Prop pins get used for a RAM device. b) I would have to share the RAM bus between both C processes.
Given SPI RAMs on different Prop pins it becomes possible to run these two big C blobs independently.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
On PropCade this is 6 IC sockets on one SPI bus decoded by 74HC138 3to8 decoder.
On same bus are 2x8 Pararell IC and uSD card decoded.
Regards
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nothing is impossible, there are only different degrees of difficulty.
For every stupid question there is at least one intelligent answer.
Don't guess - ask instead.
If you don't ask you won't know.
If your gonna construct something, make it·as simple as·possible yet as versatile as posible.
Sapieha
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
Post Edited (Bill Henning) : 3/31/2010 3:04:46 PM GMT
As Sapieha says, the SPI devices share CLK/MOSI/MISO, and /CS is decoded by a 74HC138
I did pull one cute trick so that the uSD drivers don't need to be changed - there are 3 SPI "address" bits, and the /CS pin enables the 74HC138, thus decoding 8 SPI devices in a way that is 100% compatible with existing uSD, SPI Flash, SPI ram, and MCP23S17 objects that expect a simple 4 pin (/CS, CLK, MOSI, MISO) interface - just set the address bits before accessing the device with the 4 pin interface!
Since you asked about a parallel SPI ram solution... look at the "Introducing FlexMem" thread I am about to start [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
1) After spending too much time searching for my IR detector and LED, and not finding them, I decided I will populate that section of PropCade later.
2) The board powers up fine without any IC's, power LED came on.
3) I added a Propeller, and using PropPlug it detected the Prop! PropCade is at least minimally alive!
4) EEPROM works
5) Real time clock works
6) VGA works
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
Post Edited (Bill Henning) : 3/31/2010 9:26:46 PM GMT
Curious- why the real time clock?
Hanno
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Co-author of the official Propeller Guide- available at Amazon
Developer of ViewPort, the premier visual debugger for the Propeller (read the review here, thread here),
12Blocks, the block-based programming environment (thread here)
and PropScope, the multi-function USB oscilloscope/function generator/logic analyzer
My goal on LAYOUT is always to be posible to RUN propeller as fast as posible.
Most of Propellers CAN run as fast as 14.318.318MHz crystal with PLL8 - some Can run 15MHz and litle more with PLL8.
Regards
Christoffer J
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nothing is impossible, there are only different degrees of difficulty.
For every stupid question there is at least one intelligent answer.
Don't guess - ask instead.
If you don't ask you won't know.
If your gonna construct something, make it·as simple as·possible yet as versatile as posible.
Sapieha
The floppy driver needs to emulate some memory mapped I/O locations, so it has to react whenever these are changed. But it doesn't need to run in parallel with the Z80 as in "parallel on another cog". It may be easier to port the existing C code to probable constraints (memory?) of the ZPU than to rewrite it in LMM PASM.
I'd be willing to give it a try. What version of GCC is able to produce ZPU binaries? I guess right now the code must live in hub RAM, not in external RAM? Or would it be possible to use the other 64K pages of e.g. DracBlade's external RAM for ZOG code?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
He died at the console of hunger and thirst.
Next day he was buried. Face down, nine edge first.
I think all real computers need an RTC [noparse]:)[/noparse]
Basically it is there for:
- date/time stamps on files
- potential for triggering actions at specific times - one example: using the IR transmitter to change channels on the tv, then trigger recording on a DVD recorder
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
PropCade supports up to 192KB of SPI SRAM (inexpensive) or up to 768KB of FRAM (very expensive) and ZOG (ZPU) will be able to use all that space (initially only 64KB) as code/data space!
See http://forums.parallax.com/showthread.php?p=878382 for the VMCOG information.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
- PropCade has independent VGA and Video/SVideo outputs
- PropCade has two PS/2 inputs, nominally for keyboard and mouse
- PropCade can have 192KB of memory available through VMCOG
Once ZiCog can run MP/M on PropCade it could support two users at the same time!
- User #1 on VGA + keyboard port
- User #2 on Video or SVideo + keyboard in mouse port
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
I have a newer multi-purpose serial communications object (UNICOM) that is designed for inclusion in the obex for April but without any pressure that might be 2011.
http://forums.parallax.com/showthread.php?p=867266
There would be no reason then to use the various modified serial communications objects that are currently in the obex. The goal is simple, let the object default to an FDX like state but with a superset of modes and methods available for more advanced communications. RS485 is one of them but not only the physical layer but also the networking layer as well which can work just like FDX to the application if need be. The number of data bits sent or received in each character can be up to 32 and I use 9-bits for networking addresses and commands. One method I use for collision detection is simply by issuing a single address character to establish a connection to the target. If the target responds with it's own address and no other garbage on the line within the connection establishment period I then assume that the connection is now point-to-point and data traffic can just flow normally between the connected units. If a proper response is not received then the initiator does a random timeout before trying again, as long as the bus is still free. There is a maximum timeout for the connection though but in the meantime all other nodes just mark the bus as being busy and continue to monitor the bus for a DISCONNECTED command (address zero). Group and global addresses are also allowed but without feedback until queried individually.
The object also includes XON/XOFF or RTS/CTS handshaking built-in for full duplex modes.
So, a couple of quick questions and observations then Bill.
1) Does your RS485 use 2 or 3 I/O pins? (BTW standard load 485 chip is ok, let all the external stuff be lighter loading if need be.)
2) You could still put screw terminal footprints under the "RJ11" jack.
3) When I saw your "RJ11" was the same as an "RJ45" I realized why it took up so much room, I thought you might of had a 4P4C RJ11 which is smaller. In regards to semantics these days too I think if you say RJ11 in the industry it usually means the 4/6 way modular jacks whereas RJ45 refers to the 8P8C jack such as Ethernet. I know that is not 100% historically correct but it's the de facto terminology for these jacks.
4) What is the strange footprint you have under the SPI devices? I'm referring to the large via and case pad.
5) I personally avoid any DB9 connectors due to their bulk plus the fact that you normally use only 4 pins. External adaptors are easy and cart the bulky cables away from the pcb.
6) Did you design the pcb to fit an enclosure? This should always be taken into account when designing any pcb. I usually build a meticulous mechanical footprint for enclosures as part of my pcb library.
7) The IR receiver really needs an RC filter in it's supply line as they are very sensitive to supply noise but what is the problem with getting hold of a receiver?
8) You can make room for your extra RS485 connector by putting the microSD connector under the pcb and connectors in a suitable and accessible position (or scrub the DB9s).
9) I like to bring out the I2C pins on the unused pins of the PS/2 connector. This proves useful for many special devices that I can plug in and with 4 pins I can even interface an SD/SDIO card (SCL=card CLK, SDA=card SDI).
10) Double digit remark, last one! RCA connections do take up a lot of room and it seems a shame when there are so many 3.5mm jack to RCA cables and connections in use that it is almost common.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
*Peter*
The unique features of PropCade are all confined to P0-P11, and I plan on making a joystick object for easily reading the joysticks.
I am currently thinking of the following simple joystick API:
js.init() - initialize joystick interface
js.read(n) - return state of joystick N buttons (more below) as a LONG
js.pressed(n,button) - return 1 if specified button is pressed, 0 otherwise
BIT 0 = UP
BIT 1 = RIGHT
BIT 2 = LEFT
BIT 3 = DOWN
BIT 4 = FIRE
BIT 6 = START
BIT 7 = A
BIT 8 = B
BIT 9 = C
BIT 10 = X
BIT 11 = Y
BIT 12 = Z
BIT 13..31 = reserved
so in a bit of code, you might go:
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
Las - Large model assembler Largos - upcoming nano operating system
Post Edited (Bill Henning) : 4/1/2010 3:19:26 AM GMT