GameBoyAdvance Propeller Community Project?
jazzed
Posts: 11,803
Anyone interested in doing an open-source Propeller project for GameBoyAdvance "GBA" ?
I've noticed GBA housings on EBAY recently for about $1.00. The back-lit LCDs seem to be available too for about $18. No idea what the pin-out or specification is for the LCD.
The proposal is this: create a "motherboard" with LCD and buttons that can host expansion cards. I would like rights on producing such a board whether I design it or not. I'm very busy these days so I'm not sure if I have time to design the board but I will do it if necessary.
GBA-like "cartridge" solutions could be provided as needed for the programs. Such cartridges can be anything because they would be attached to a Propeller. There should be some definition for certain pins on the cartridges for pins P0-7, and P28-31 for example.
I would rather not produce a real GBA compatible cartridge because of legal issues (piracy). Fully compatible GBA cartridges are outlawed in some countries.
Custom plastics could be done if necessary later for commercial products if there is enough value in moving away from the GBA hack designs.
Different types of cartridge programs could be available based on application needs.
A fixed 2x Winbond SPI Quad flash "cartridge" could be used. The reason to use 2x Winbond flash is so that big programs can boot instantaneously without having to load SDRAM or SRAM. I noticed using a flash or SDcard cartridge is not without precedent.
An SDcard/RAM "cartridge" could be used for programs that have less code but lots of support files. Of course only one of these cartridges would be required for any given program. I would definitely provide and support an SDRAM solution.
A "game cartridge" could also include things like sensors, ADCs, etc...
If anyone is interested in this, it makes sense to define the motherboard features, cartridge mechanical interface, and Propeller pin-out. Any takers???
--Steve
I've noticed GBA housings on EBAY recently for about $1.00. The back-lit LCDs seem to be available too for about $18. No idea what the pin-out or specification is for the LCD.
The proposal is this: create a "motherboard" with LCD and buttons that can host expansion cards. I would like rights on producing such a board whether I design it or not. I'm very busy these days so I'm not sure if I have time to design the board but I will do it if necessary.
GBA-like "cartridge" solutions could be provided as needed for the programs. Such cartridges can be anything because they would be attached to a Propeller. There should be some definition for certain pins on the cartridges for pins P0-7, and P28-31 for example.
I would rather not produce a real GBA compatible cartridge because of legal issues (piracy). Fully compatible GBA cartridges are outlawed in some countries.
Custom plastics could be done if necessary later for commercial products if there is enough value in moving away from the GBA hack designs.
Different types of cartridge programs could be available based on application needs.
A fixed 2x Winbond SPI Quad flash "cartridge" could be used. The reason to use 2x Winbond flash is so that big programs can boot instantaneously without having to load SDRAM or SRAM. I noticed using a flash or SDcard cartridge is not without precedent.
An SDcard/RAM "cartridge" could be used for programs that have less code but lots of support files. Of course only one of these cartridges would be required for any given program. I would definitely provide and support an SDRAM solution.
A "game cartridge" could also include things like sensors, ADCs, etc...
If anyone is interested in this, it makes sense to define the motherboard features, cartridge mechanical interface, and Propeller pin-out. Any takers???
--Steve
Comments
http://www.dealextreme.com/p/onestation-mini-emulator-console-blue-1-game-1047
Its basically a similar concept but with a subtle difference in that it doesnt contain a cpu. It is a skeleton system, ie screen, sound and buttons, the cpu is on the cartridge. Would be easier to design a board to plug into it. I have some pictures somewhere of it stripped down....
Regards,
Coley
Having a package that's already designed and manufactured is interesting. I'd like to see more information on the idea of the pluggable CPU. Having a hand-held console that we in the community define is what I would like to see. If OneStation makes sense, that's fine; some models look a lot like GBA hardware.
Still, I'm very attracted by the opportunity to have a case and LCD that could cost less than $20 (GBA housing + alternate LCD). The hardware we plug into the case in any event will be relatively expensive though.
The way forward seems to be to have hardware in hand and see what's possible. After that, PC boards can be designed. Mechanical interface would be dictated by the enclosure and as long as we can maintain flexibility on I/O, any "handy" mechanical design would work.
In some ways I agree with David about using another CPU for the software since that would free us from certain straight-jacket constraints without sacrificing performance. In other ways I disagree since it goes off topic for the forum. We have made great strides in shedding our constraints and there is more to come, but an "open platform" should be considered too if possible. I would certainly be interested in other alternatives, but Propeller must be able to play some role otherwise the discussion should be moved.
The key things about the LCD display for me whether it's GBA or a cheaper alternative are the LCD must: 1) have it's own graphics memory, 2) allow at least 65K to 256K simultaneous colors, 3) be fast enough for animations, 4) be back-lit, and 5) be large enough to be usable with "old eyes". In many ways, this means Propeller is not the graphics controller.
More ideas?
My two cents...
I like the original idea! Stick with stuff that was mass produced. GBA's were generated by the million. They can be had everywhere easily, and cheaply. And they will continue to get cheaper!
OBC
Well, I didn't think I'd get away with that idea but I thought it was worth trying. :-)
You say we've shed some of our constraints and that is certainly true. However, some of the constraints we've shed may be more questionable than others. Since the Propeller is "Turing complete" it can perform any computation. That doesn't mean that it will be practical at performing those computations though. Sometimes I think we push the Propeller beyond its intended purpose and the fact that it strains to perform these out-of-scope tasks may turn people off to using the Propeller rather than turn them on to it because of its perceived inefficiencies. This may cause them to miss the fact that there are many things for which the Propeller is exactly the right solution.
On the other hand, a game machine is for fun and need not be practical in any way so I think my comments are largely irrelevant for this particular project!
I actually agree with this and have stated the same concern, but if nothing else such things may lead others to investigate. Propeller is pretty good at flashing LED's and so is any other micro, but it's rare to see one micro capable of so much.
I looked into this quite a lot a couple of years ago when I first found the Onesation.
There seem to be quite a few 'compatible' consoles on Dealextreme that may be worth a look at.
If people are interested I'll get a couple and do a teardown....
This would most certainly be a quicker way of doing things than designing a board to fit into an existing case.
Here's the datasheet for the Onestation LCD TD025THEA3_Product_SPEC_0809.pdf
Here are some pictures of the Onesation that I have (and the same one by 8 year old has been playing with for a couple of years now ;-) )
Coley
PCB - Front
PCB - Rear, shows cartridge port
Cartridge - Front
Cartridge - Back
Wouldn't it make a lot more sense to have a chip with decent IO hardware do all of the I/O instead of a Propeller?
I was thinking that one of the strengths of the Propeller is that it doesn't have a bunch of dedicated hardware interfaces built in but instead provides a way to construct whichever interfaces your applicaiton needs by using the COGs. For instance, if you need a eight UARTs you can have them with the Propeller but I don't know of any microcontroller that offers that many hardware UARTs.
Looks like about 1"x2" of usable real-estate. Any idea on the card-edge pin-out?
A usable Propeller design could be put on a board like that, but it would be super tight.
The LCD does not appear to have it's own RAM which is a big drawback for Propeller.
Interestingly the data bus interface looks a lot like the one I'm using on MicroPropPC.
Also memory and any other connection pin is commented. Try search google...
Maybe a Prop/ARM combo would be the answer but using the ARM to run the i/o and memory leaving the Prop to run the application.
The limitation of PCB real estate can be overcome by making the PCB bigger of course, we just need to find some way of encapsulating it then.....
I don't have any pinout details but it should be fairly easy to do, only 1 half on the connector is used and that goes to the LCD, speaker and buttons, I'll post up the full sized images if anyone wants them. But, thinking about it, I suppose this is pointless if there is no supply of them, as i mentioned previously Dealextreme seem to have several different variants available but I have no idea what LCD they might use or even whether the cartridge connector is the same.
Regards,
Coley
I totally agree, but we have to consider that not everyone will want to code in C or C++.
A 'handheld console' type application like this can easily be done with a single ARM cpu, there is no need for a Propeller to be involved at all other than for it's unique abilities, that's multicore and SPIN/PASM in my opinion.
Part of the attraction with the Propeller is how easy it is to program, that would be lost if it were just a peripheral to toggle i/o lines under the command of another processor.
Maybe a dual Propeller design would be a better fit for this forum
Coley
But, I did find the spec's are pretty poor...
I'd recommend finding a different 2.8" LCD with higher resolution and better controller IC...
I just ordered one of these. The BV4629
is only £49...
Excuse my bad english. I have learned english at school but it is a very very long time ago. A very good idea.
I had a similar idea and developed a little pcb (dimension : 80mm x 54mm) (not yet tested. I hope i get the board end of march)
Technical data :
One propeller-chip
Display : 2.83" LCD with touchscreen from Multi-Inno, SPI ( or 18bit) (powersuply : 3.3V even for backlight) internal ram
Touchscreen controller : ADS7846 , SPI
microSD : SPI
RTC : DS1338Z-33, 3,3V , CR1220 backup battery, it is nearly compatible with DS1307 (I2C)
EEprom : 24C512 (I2C)
USB connector : miniB-Connector with FT232RL for programming and communication
UHF-Transmitter : RFM12B for wireless communication with sensors (humidity, temperatur, pressure etc.) , SPI
External connector : 2 x 8 pinheader P12....P17 (gamecontrol), P24....27 (external keyboard and -mouse), P28..P29 (external I2C)
Powersuply : Voltage regulator 3.3V, for first test powerd through USB or external power supply 5V - 6V or 4 AA cell battery
Display, SDcard, Touchscreencontroller and UHF-Transmitter have each a full 4-wire SPI interface controlled by 4 cogs.
For a gameconsole the UHF-Transmitter may be substitut through a serial (SPI) sram. For better handling the microSDcard may substitut through a normal SDcard and the external connector through 6(8) pushbuttons. The remaning 6(4) pins ? 4(2) pins for external keyboard and 2 pins external I2C ?
Imho the programs should be stored on SDcard not on a cartridge, i think there are problems with adequate and available connectors for cartridges.
At last a picture of the board (eagle-freeware)
http://home.arcor.de/wood-and-strings/HProp/HandProp.png
-G
That's a nice board.
Will the board fit in either a GameBoyColor or a GameBoyAdvance case?
To me a cartridge must be an option in the spirit of GameBoy. The first 2 cartridges would
be 1) SdCard and other goodies, and 2) 2X W25Q16BV flash for bigger/faster programs.
Thanks for sharing.
Oh, i understand this very well and it was also my first idea. But then i got problems with the procurement of a suitable and available plug connector for the cartridge. If you order more than 10000 pieces of a connector, you can get also special parts (designed by the customer). For one or two parts, you only can use standard parts. For this reason i decided against a cartridge in my project.
If you know a suitable plug connector for the cartridge, then there is one problem less.
--G
The Molex Mini PCI Express connectors are less than $1.7 each and seem to be suitable. Can you evaluate that solution?
Eagle Freeware/Light constraints are painful. The board outline and holes can exceed the constraints, but the placement of library parts can not. Eagle Light ($45 license) can be used for commercial purposes but has the same constraint. If I make more money on boards, I'll upgrade my license.
I use a LTC3525-3.3 on my wireless sensorboards (ATmega328). It requires only 3 external components, two capacitors and one coil. It delivers 3.3V, 60mA from one cell (1.0V) and 3.3V, 140mA from 1.8V (2 cells AA Nimh). I hope it is enough for all components inclusive backlight.
2. cartridge connector :
I think the Mini PCI Express connector is a good idea. I found one at Farnell too.
This TI part below is very attractive. I would like to find a second source for it.
TI TPS61221 [url] http://www.mouser.com/Search/ProductDetail.aspx?R=TPS61221DCKTvirtualkey59500000virtualkey595-TPS61221DCKT[/url]
Requires 2 caps and inductor, delivers 400ma typ at 1.2Vin and costs about $2.00 ea qty 25.
I have both TPS61221 (3.3V) and TPS61222 (5V) for testing.
Here's another part, but I'm not so excited about it.
Exar SP6641BEK-L-3-3 http://www.mouser.com/ProductDetail/Exar/SP6641BEK-L-3-3/?qs=sGAEpiMZZMsMIqGZiACxIYNV2JYkEgZQFeEcPVbEAz8%3d
This delivers 200ma (1.3Vin) to 500ma (2.6Vin) and costs $1.20 ea qty 25.
It requires 2 100uF caps, a 22uH inductor, and a schottky diode.
I have a SP6641A for testing ... it's lower current than the SP6441B
Good. Let's think about pin-out.
GameBoyColor is not exactly the same as GameBoyAdvance. It doesn't hurt to think about both enclosures.