Shop OBEX P1 Docs P2 Docs Learn Events
GameBoyAdvance Propeller Community Project? — Parallax Forums

GameBoyAdvance Propeller Community Project?

jazzedjazzed Posts: 11,803
edited 2011-05-19 04:21 in Propeller 1
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
«1

Comments

  • David BetzDavid Betz Posts: 14,516
    edited 2011-02-26 12:20
    Sounds like an interesting project. I'd offer to help but I know nothing about designing hardware. At the risk of drawing fire from the other members of this forum, I'd suggest that the board have both a Propeller and an ARM chip. Use Propeller can do all of the I/O and the ARM can run the application.
  • ColeyColey Posts: 1,112
    edited 2011-02-26 14:10
    jazzed, have you considered the Onestation instead?
    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
  • RaymanRayman Posts: 14,877
    edited 2011-02-26 17:18
    Sounds like a great idea (both). For me, the major hurdle is getting a datasheet for the LCD. With that, it's easy to move forward. Otherwise, it'll take a lot of detective work...
  • jazzedjazzed Posts: 11,803
    edited 2011-02-26 19:17
    I've been looking for more info on the OneStation consoles. Looks like dealextreme.com is out of stock and is one of only a few providers. There is also a Kensington OneStation available for about $30, but there isn't a description of it. Details are very sparse one way or another.

    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?
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2011-02-26 20:03
    I've mentioned this idea a few months ago.. I'm really pleased to see someone ready to take it on.

    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
  • David BetzDavid Betz Posts: 14,516
    edited 2011-02-26 20:15
    jazzed wrote: »
    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.

    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!
  • jazzedjazzed Posts: 11,803
    edited 2011-02-26 21:10
    I've mentioned this idea a few months ago.. I'm really pleased to see someone ready to take it on.
    Your 2 cents are worth more than 2 cents here. I already have tons of stuff to do, but the dust should settle by UPEW and hopefully I can focus more then. Meanwhile there are others who can feed the fire.
    David Betz wrote: »
    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.
    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.
  • ColeyColey Posts: 1,112
    edited 2011-02-27 07:02
    @jazzed,

    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
    OS_PCB_Front.jpg

    PCB - Rear, shows cartridge port
    OS_PCB_Back.jpg

    Cartridge - Front
    Cart_Front.jpg

    Cartridge - Back
    Cart_Back.jpg
  • FjornirFjornir Posts: 9
    edited 2011-02-27 10:14
    David Betz wrote: »
    Sounds like an interesting project. I'd offer to help but I know nothing about designing hardware. At the risk of drawing fire from the other members of this forum, I'd suggest that the board have both a Propeller and an ARM chip. Use Propeller can do all of the I/O and the ARM can run the application.

    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?
  • David BetzDavid Betz Posts: 14,516
    edited 2011-02-27 10:17
    Fjornir wrote: »
    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.
  • jazzedjazzed Posts: 11,803
    edited 2011-02-27 10:30
    Hi Coley.

    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.
  • BotdocterBotdocter Posts: 271
    edited 2011-02-27 10:50
    The gameboy advance original has all the pin outs printed on the pcb. So that one is easy. My problem is that i can not find a pin out diagram for the ARM cpu behind it. They might use the same lcd....?
    Also memory and any other connection pin is commented. Try search google...
  • ColeyColey Posts: 1,112
    edited 2011-02-27 11:39
    I agree that an ARM would be a better fit for this type of application but remember it's the ease of use of the Propeller that would make this accessible to all....

    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
  • David BetzDavid Betz Posts: 14,516
    edited 2011-02-27 12:17
    Coley wrote: »
    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.
    If you think the Propeller is easier for the application program that I guess there is no point in having the ARM at all. I agree that the Propeller is pretty easy to program as long as you don't forget that it is a microcontroller and not a general purpose microprocessor. However, if your application is going to be written in C or C++, the ARM would be a better choice.
  • ColeyColey Posts: 1,112
    edited 2011-02-27 13:45
    If you think the Propeller is easier for the application program that I guess there is no point in having the ARM at all. I agree that the Propeller is pretty easy to program as long as you don't forget that it is a microcontroller and not a general purpose microprocessor. However, if your application is going to be written in C or C++, the ARM would be a better choice.

    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 :smile:


    Coley
  • RaymanRayman Posts: 14,877
    edited 2011-02-27 14:49
    I tried to find the datasheet for that LCD, but couldn't find it.
    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...
  • jazzedjazzed Posts: 11,803
    edited 2011-02-27 22:47
    Rayman wrote: »
    I'd recommend finding a different 2.8" LCD with higher resolution and better controller IC...
    This was one of my initial reactions. Do you have any suggestions?
  • BotdocterBotdocter Posts: 271
    edited 2011-02-28 02:21
    Have a look at byvac.com

    I just ordered one of these. The BV4629
    is only £49...
  • jazzedjazzed Posts: 11,803
    edited 2011-02-28 08:56
    Botdocter wrote: »
    I just ordered one of these. The BV4629
    is only £49...
    Looks like a nice LCD for a serial interface. The GBA project will need at least an 8 bit interface for graphics games.
  • Capt. QuirkCapt. Quirk Posts: 872
    edited 2011-02-28 18:16
  • jazzedjazzed Posts: 11,803
    edited 2011-02-28 19:05
    Very Nice!!! Thanks!
  • RaymanRayman Posts: 14,877
    edited 2011-03-02 06:24
    I just bought a couple GBA SP housings off of ebay... It looks like my 3.5" lcds would fit, but don't know for sure, it's a bit of a gamble...
  • Capt. QuirkCapt. Quirk Posts: 872
    edited 2011-03-04 15:15
    One More, has schematics http://fms.komkon.org/GameBoy/Tech/
  • TuxFanGKRTuxFanGKR Posts: 15
    edited 2011-03-08 03:48
    Hallo!
    Excuse my bad english. I have learned english at school but it is a very very long time ago.
    jazzed wrote: »
    Anyone interested in doing an open-source Propeller project for GameBoyAdvance "GBA" ? ..............
    --Steve
    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
  • jazzedjazzed Posts: 11,803
    edited 2011-03-08 08:12
    @TuxFanGKR,

    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.
  • TuxFanGKRTuxFanGKR Posts: 15
    edited 2011-03-09 05:02
    jazzed wrote: »
    @TuxFanGKR,

    That's a nice board.

    Will the board fit in either a GameBoyColor or a GameBoyAdvance case?.................
    In landscape format, the board is wider than a GBC but may fit a GBA. If you use an old GBC or GBA housing there are problems with the control buttons. I use the EAGLE freeware edition, which limit the board to an area of 100mm x 80mm. I think it is too small for a GBC- or GBA-board.
    jazzed wrote: »
    ....................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............
    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
  • jazzedjazzed Posts: 11,803
    edited 2011-03-09 07:59
    For me producing a "GameBoy compatible" cartridge is not a goal especially since selling them in some countries is illegal. Any mechanically sound connector methodology will do. A connector and pin definition needs to be specified. I prefer a card edge connector, but headers will do.

    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.
  • jazzedjazzed Posts: 11,803
    edited 2011-03-09 08:52
    It would benefit everyone if we have a boost converter on board so that 2 AA batteries can be used. I know Propeller can run at 3.0V, but 2AA batteries don't produce 3.0V very long and rechargeable NiMh batteries never do. There are some low quiescent current converters available from TI, Exar, Microchip and others.
  • TuxFanGKRTuxFanGKR Posts: 15
    edited 2011-03-09 13:01
    1. Step Up regulator :
    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.
  • jazzedjazzed Posts: 11,803
    edited 2011-03-09 15:39
    TuxFanGKR wrote: »
    1. Step Up regulator :
    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.
    The LTC part seems relatively expensive. Maybe the DigiKey markup? It is not available from mouser.

    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
    TuxFanGKR wrote: »
    2. cartridge connector :
    I think the Mini PCI Express connector is a good idea. I found one at Farnell too.
    Good. Let's think about pin-out.

    GameBoyColor is not exactly the same as GameBoyAdvance. It doesn't hurt to think about both enclosures.
Sign In or Register to comment.