Jump to content
  • entries
    21
  • comments
    83
  • views
    24,364

Homebrewing on the GBA - Charmed Labs XPort


djmips

1,702 views

I was recently emailing D. Debro about PSX development and It reminded me that I have a lot of homebrew development hardware.

 

One of the systems I have is the Charmed Labs Xport. This is a very cool system and while not cheap ($200), it is affordable and you get a lot for the price. It has 4 megabytes of flash and includes a Xilinx Spartan II XC2S150 FPGA which has a claimed 150,0000 programmable gates. While a smaller FPGA, this can still be quite useful for interfacing or as a co-processor. It also has 16 MBytes of SDRAM and a high speed communications/debug port.

 

As I was saying to Dennis, Charmed Labs has ported eCos and RedBoot . The nice thing is that you can use the inSight source level debugger with this setup.

 

And yes, you can make games. You don't have to make Robots or even go near the FPGA or 64 pins of I/O... Probably overkill, since you can always develop using the nocash GBA emulator and/or flash carts.

 

Actually on a shoestring budget, you could still debug (on a flash cart) using GDB/Insight. All you would need to do is include the RedBoot stub in your game and build a serial interface for your GBA. Actually the serial interface is cool in any case because you can also use it as a debug terminal to output useful messages.

 

The really shoestring method is to make/modify a GBA link cable to connect to a PC and download your game to an unmodified stock GBA using the multiboot method. This is a built in form of game sharing and in normal use, a game is transmitted from a GBA with a ROM onto your friends GBA and you can then play a small multiplayer game with only one cart. The problem is that you probably need a DOS machine to run the xboo software because it is timing critical. The alternative, is to build an intelligent cable with an embedded CPU to handle the synchronous serial without interruption.

6 Comments


Recommended Comments

Hi David,

 

I didn't see the robot pic when I went to the site from the link in the e-mail message. Cool! This reminds me of Lego's MINDSTORMS. IIRC it uses the same processor as the GBA.

Link to comment

Hi David,

 

I didn't see the robot pic when I went to the site from the link in the e-mail message. Cool! This reminds me of Lego's MINDSTORMS. IIRC it uses the same processor as the GBA.

 

The original Mindstorms used a Hitachi (now Renesas) H8 type CPU. The newest Mindstorms (Mindstorms NXT) does use an ARM7 similar to the GBA.. Interesting that it also includes an 8 bit AVR CPU as well.

 

As a side note, I have several Renesas development boards. (M16C) The are very nice and include a C compiler, IDE and source level debugger via USB.

 

BTW - the closest relative to the original Mindstorms might be the SEGA Saturn which was powered by two Hitachi Super H processors and an Hitachi SH1. I haven't examined these CPU's but they are likely have an H8 heritage. The H8 is apparently patterned after the DEC PDP-11 which must make it a kissing cousin to the 68000 I would guess. (You can tell I haven't really touched my M16C system very much)

Link to comment

Wow, homebrew GBA games. How about homebrew N64 games? Is that possible? Cuz that would be cool. There are only around 300 N64 games IIRC. We need more of those. GBA games are still being made, though, with three that I know of coming out in March (MLB 2k7, TMNT and Meet the Robinsons.)

Link to comment

Wow, homebrew GBA games. How about homebrew N64 games? Is that possible? Cuz that would be cool. There are only around 300 N64 games IIRC. We need more of those. GBA games are still being made, though, with three that I know of coming out in March (MLB 2k7, TMNT and Meet the Robinsons.)

 

I don't have a homebrew system for the N64. I did a 'quick' search for N64 homebrewing, and a downloader is hard to come by these days. Homebrewing for the N64 wasn't as popular as for other systems due the N64 not being as popular, and the cost of the downloaders I'm guessing.

 

Here's a link to one that appears to still be in production/for sale. It might not actually be available. Edit-> I wrote them and they replied that it isn't available. :)

 

I'd love to get a downloader, several were available back in the day. The CD64, Z64 and V64. The CD64 and V64 both used CDROM drivers, the Doctor V64 used a Zip drive.

 

The

Link to comment

N64 homebrews are possible, but there isn't a huge amount of development documentation available. And, somehow, I don't think the big N would look kindly on anyone selling actual homebrew cartridges.

 

One observation I've made about homebrews is the ability to make homebrew games is inversely proportional to the generation of the console. I think there's four main reasons for this:

1. Hardware complexity. The 2600 is very simple - a 6502 CPU and a 1-D GPU, while the N64 has a CPU, a (programmable) 3-D GPU.

2. Anti-piracy measures. An NES homebrew either has to include the lockout chip, or the buyer has to mod their console.

3. Improved graphics means more detailed artwork is required. This also goes for the overall environment - i.e. level design.

4. Higher expectations. Robot Finds Kitten is amusing, but it barely compares to a first generation console title.

Link to comment

N64 homebrews are possible, but there isn't a huge amount of development documentation available. And, somehow, I don't think the big N would look kindly on anyone selling actual homebrew cartridges.

 

One observation I've made about homebrews is the ability to make homebrew games is inversely proportional to the generation of the console. I think there's four main reasons for this:

1. Hardware complexity. The 2600 is very simple - a 6502 CPU and a 1-D GPU, while the N64 has a CPU, a (programmable) 3-D GPU.

2. Anti-piracy measures. An NES homebrew either has to include the lockout chip, or the buyer has to mod their console.

3. Improved graphics means more detailed artwork is required. This also goes for the overall environment - i.e. level design.

4. Higher expectations. Robot Finds Kitten is amusing, but it barely compares to a first generation console title.

 

That makes a lot of sense. I've noticed that 3D homebrews are even rarer than the 2D variety. Authoring good 3D art is well beyond what most homebrew programmers are capable. This seems especially true when it comes to animation. I've yet to meet the Nathan Strum's of 3D homebrew (not that they don't exist). Programming a game in 3D is also challenging.

 

Some bigger companies have figured out how to manufacture carts or CDs that get around lockout issues (In the case of PS1 and PS2 for instance, the Cheat Product folks make non Sony approved boot discs) but as far as I know that is still out of reach for the homebrewer.

 

All the earlier PS1 systems had cartridge slots and you could potentially release a homebrew product on a cart, but wouldn't it have been nice if you could release a game on a CD instead?

 

An interesting thing on the PS1 homebrewing was that although you could not read from a data CD on a un modded PS1, audio discs were allowed. Somebody apparently made a library that would read the audio tracks and use it as data. Pretty neat idea. Still wouldn't boot however.

 

For the homebrewer on PS2, there is the potential to distribute a game, to anyone, on a memory card like device. The entire game would have to fit in the memory card (maybe your memory card is a custom device with lots of storage). You would also have to ship with a PS1 disc and utilize the independance day PS1 disc/mem card exploit to boot. (also this doesn't work on latest PS2 models)

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...