I was looking at the Arduino Mega and have already been having big ideas. I haven't done much in the way of complete projects, but have had a lot of fun with Arduino none the less.
its really funny that this post just came up, I was thinking THE exact same thing. While i did salivate over the impressive specs of the Mega, I decided against getting it, (I'm a high school senior on a pathetically small budget ;D) also, I thought I ought to learn to drive a rustbucket (aka duemilanove) before I take on a porsche (aka Mega) Well, you should check out bricogeek's work, I thought thatt was pretty neat, and the work with the Meggy platform is also intreresting, but I've always thought the arduino could do SO much more. I just ordered one of those 4d systems nifty oled screens and its currently on its way from ScHparkPfun, I've already gotten my duemilanove 168, so hopefully I can get my own gamepad-a-ma-bob up and running soon. @ PA Skins, it would be great if we could work together, maybe with our combined brainpower we could cook up somethin halfway decent and y'know awesome.
I thought I ought to learn to drive a rustbucket (aka duemilanove) before I take on a porsche (aka Mega)
That's probably a good plan. Don't forget you can easily upgrade your duemilanove to the 328 chip for just a few bucks and it doubles your memory size.
The beauty of this type of project is the open endedness and customizability.
in terms of (in a perfect (and through hole) world) hardware:
large oled screen
duel joysticks/ button pads
lithium ion battery pack
2GB SD card interface
XBEE radio for com. and updating
atmega 644 (sanguino w/o ze board basically)
[specialty sound chip]
<$200 is quite possible
in terms of software(should I miraculously gain uber coding skills):
classics: pong, tetris,
advanced:sidescroller, pacman arcade style space games, chess?
Pro:Halo, Call of duty...( I wish)
I know you listed hardware, but what were you thinking in terms of capability?
BTW I know my way around a soldering iron and Im ok with hardware stuff, software is enh, and knowhow about game programming is about zilch
Although I got my mega a lot closer to home from the www.coolcomponents.co.uk from the UK and paid £49.95 + VAT
There are already a couple of good AVR based games consoles out there. Have a look at Uzebox (Uzebox - The ATMega Game Console) and AVGA (AVGA Homepage), perhaps you could replace the TV/VGA output with a LCD interface. I'm pretty sure someone on the Uzebox forum has already done that.
I have no rush to get a mega now , I think I will wait until xmas.
wanting something to interface to now I`ve mastered c / arduino programming a little more than basic level.
How hard would it be to make a program on the Arduino that loads any code from a memory stick (say 16MB) in some sort of cartridge? You could then make the console and run any games on it with plenty of storage space
I reckon that the upgrade to a small colour screen would beat extra RAM or faster CPU speeds, as it would be nice to just upload a sketch to any Arduino Mega and keep the base hardware the same, this way there will be more people able to make games for it. And perhaps creating a "Game-duino" Controls library so it is really simple to get control data (Two joy stick and 6 buttons? Up, down, left right, start, pause, look around, move) this should leave the most possibilities open for playing with.
Just my two pence (is it cents in American?), not sure how much of this is doable, if it is possible on the hardware then I have to insist on many, MANY flashing LEDs (I like shiny, and brackets it would seem... :P)
If you set up a "master" 328, communicating via SPI to 2-3 other 328s, those other 328s could act as:
Sound/Music output
Graphic LCD (128x64 GLCD - the common one) engine
I/O - joypad/SD card
Those three extra 328s should be running firmware to take commands and data via the SPI bus and drive the proper parts, etc. The sound/music chip could handle multi-voice (3-4) 8-bit FM sound synthesis easily, I would think. The graphic LCD chip would store the entire screen (and draw the bits on command) in the 2K RAM area, then "blast" the bits to the screen in one shot (poor-man's double buffer); it should have a nice library to handle scrolling, tilesets, sprites, and graphic primatives (heh, it would also be nice if there were a way to quickly reprogram it for a simple wireframe 3D library). Finally, the I/O chip would handle button/joypad interaction, vibration control, and perhaps SD card communication (or, hang that off the SPI bus, too).
You might also add an SPI eeprom for extra storage; you might also want a custom bootloader that could look at the SD card for a particular file (hex), and upload that (game code).
Yes, it would be more limiting, to an extent (compared to say, a Fuzebox); but I have often found that when given limits, hackers tend to destroy them given the incentive to do so. I don't think the limit is that great, though - you will end up with an interesting multi-processor system with main SPI bus for communication, that could be used in any untold manners...
Wouldn't this defy the point of there being a Mega, and it would also provide less IO for a higher cost (3x£20) and lower speeds! I don't think that this sort of manipulation would be worth it.
Get an dfrduino mega. They're 100% arduino mega compatible with the only difference being that they look better. Here's one for 27 pounds UK including shipping: