Go Down

Topic: Arduino Game Console >? (Read 2931 times) previous topic - next topic

amansammy

Ok, so here is my "Complicated" Question. Or is it ?   :smiley-slim:
So, I want to build an arduino game console that would plug into my TV.Must be compatible with both NTSC and PAL.
It must have about 10 games i can choose of and a full screen play view.

Now what I have got : :
Atmega 328     x1
Atmega 8A      x3
Atmega 168    x2
All other electronics needed (got an electronic store nearby, sells alls resistors, caps etc.. :P)
Programmer etc etc...

So is it enough..?  :smiley-roll:

And also, anyone can help me with a webpage link for such a gaming console of my needs or just help me with it.

Would be very thankful...

Regards
Minds are like parachutes. They only function when they are open.

Grumpy_Mike

Quote
So is it enough.

No.

Generating video with an arduino can be done but it is time consuming. Getting NTSC and PAL out of it is impossible.
There will not be enough processing power or memory to have 10 games.

amansammy

But why generating NTSC and PAL impossible. How come this project is possible ? : http://www.youtube.com/watch?v=m_PoMv7Mt28
and Okay.not ten...possibly 4...
Minds are like parachutes. They only function when they are open.

Grumpy_Mike

Quote
How come this project is possible ? :

Because that project is not generating NTSC or PAL video. What makes you think it is? It is just monochrome.

Quote
But why generating NTSC and PAL impossible.

Because it requires the modulation of a colour sub carrier at just over 4MHz, and then you have to insert a colour sub carrier burst after the line sync signal. The arduino has a 16MHz processor! If you can do that then the whole of information theory falls apart.

cr0sh

Ok - you got Grumpy's hackles up, but he does have a point - so you can:

1) Re-state that you want to use black-and-white video output, viewable on NTSC or PAL television systems (or just say you want to use the TVOut library and be done with it)

2) Or give up on the whole TV output thing, and go with VGA using a Gameduino shield

Now you haven't said how you plan to get the games on to the Arduino that is running them; if you just plan to dump them individually via the Arduino IDE (and/or an ISP - if you need the extra flash space), then probably no problem.

However, if you are looking to do something that like a "cartridge" or similar - you're going to run into some headache. Even there, though, I think with the hardware you have, it might be possible. How?

Well - let's say you use the single 328 to host the game code; your game code would consist of all the logic and data necessary to run/build/draw the gamefield, as well as communicate with peripheral processors. The "peripheral processors" in the meantime would be the two 168 processors. One 168 processor would be dedicated to "game loading". The second would be dedicated to "sound output". You might also use the second for "joystick/pad" input. Or you might press the Atmega8 processors into this service...

The 328 would be a "bare-bones" 328; no need for a bootloader (it could even be an Arduino, if you wanted to use the VGA shield - it just doesn't need the bootloader). All of the other peripheral processors (168 and 8), with the exception of the "game loading" processor, would be "slaves" on the I2C bus; there would also be code in your game (as part of your game library code) to communicate with these slave processors over I2C.

The "game loading" 168 would serve only one purpose - to act as an ISP programmer; this is where it gets tricky and might all fall apart (I haven't designed any of this - I am talking out my rear here, and haven't consulted anything - so take this all with a grain!). It would run the ArduinoISP programmer (you might load this sans bootloader as well), but it would read the hex file off of a pre-prepped SD card, then send it to the 328. Where it could all fall apart would be memory needs (can you fit the ArduinoISP sketch, along with SDFAT read capabilities - and who knows what else - all in a 168? Could it be done in a 328 even? I don't know - something tells me it will be tight, if possible at all - you would probably have to customize everything to make it all as small as possible), as well as pin needs (can you use/do ISP while reading from an SD card? Can other "non-standard" pins be used? Are there other solutions to make the pins available - maybe in a blocking manner?). If you can clear that hurdle...

Then the idea is that you stick the card into the reader, hit a button, and a hex file on the card is read, dumped to the 328, and then the 328 is reset (by the "game loader"?) to start the code running. It then acts as "master" to the i/o slave 168 and/or 8 via I2C (once again, if pins are available - maybe you have to use software serial instead); one of the processors gets input from the controls and passes the data on when requested, the other acts as a sound generator to play music and/or sound effects, etc (this can be as simple or fancy as you want - for starting out, just getting it to play simple tones or tunes based on commands/data dumped to it would be fine).

But like I said - take it all with a grain, as I haven't researched much on the specifics of whether this is all possible; it sounds great in theory, but practice (after a lot of research) might mean something very different...
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

GoForSmoke

With enough extra parts it could work. With similar games that only differ by the data they process it would be easier to fit more games on the same device. Then again with a bigger processor at the heart it would be easier too.

Of course if the average game is Pong then LOL, you won't need so much. Pong to Breakout to Nuclear Attack to a shooting game to Tetris and some basic side-scrollers could all run on the same game engine given a good programmer and hardware tech (may be the same person) and enough (read: a lot of) time.

Nick Gammon on multitasking Arduinos:
1) http://gammon.com.au/blink
2) http://gammon.com.au/serial
3) http://gammon.com.au/interrupts

amansammy

@Grumpy_mike :
Yeah, got your point, was just thinking it was PAL or NTSC. Want mine to be simply monochrome itself.
@cr0sh :
Ok, re-stating here that I just want to use black and white video out and just monochrome as Grumpy_Mike stated, and use the TV-Out library with it.
Actually, don't take me as a big (heavy duty  8) ) programmer coz i am nothing like that. And no, not a cartridge thingy. It's just got to be a
console(with the circuit in it) plugged to the TV and the additional peripherals plugged to it.
All the thanks for the information you provided.
@GoForSmoke :
Yeah the average games COULD be and most probably would be :P Pong, Frogger, Asteroids, Breakout ..that's all.

Havn't got ANY experience in this at all and just want to build this as a gift to my brother on his Birthday.
Thanks for the provided help. Give more if available PLEASE.. :)
Regards.
Minds are like parachutes. They only function when they are open.

liudr

The main problem seems to be the lack of RAM. You can use an arduino MEGA coupled with this awesome external memory (transparent from programming) to get the memory you need.

https://shop.ruggedcircuits.com/index.php?main_page=product_info&cPath=4&products_id=41

or even this:

https://shop.ruggedcircuits.com/index.php?main_page=product_info&cPath=4&products_id=50

Now memory issue is solved, you can worry about other stuff.

amansammy

Thanks for the suggestion, but isn't the hackvision : http://nootropicdesign.com/hackvision/ working without any external ram and has 3 games on already ?
That too, with just a ATMEGA328 .
Too bad, that nootropic does not provide any schematics or code for this . :(
Or do they ? (did a lot of searches but did not find any) .

If they do, please just post the schematics and the code.
ThankYou..
Minds are like parachutes. They only function when they are open.

GoForSmoke


Havn't got ANY experience in this at all and just want to build this as a gift to my brother on his Birthday.


If you are talented and work really hard and his birthday is maybe a year away, then maybe you can do it.
If you are rich then buy something that works or hire someone else to do it.

What you are asking is not going to come in bits and pieces through the forum teaching you all the way in any year or less. Even if the lessons are all there with example code you won't 'get it' without a lot of background and ability yourself. I've seen comp-sci master's degree holders who didn't have the flexibility to pull it off.

I post that it's possible. So is building your own ultralight airplane and flying it. The latter might be easier.
Nick Gammon on multitasking Arduinos:
1) http://gammon.com.au/blink
2) http://gammon.com.au/serial
3) http://gammon.com.au/interrupts

amansammy

I just want to build this and his birthday is ot really far away. In March really.
Just asking if ANYONE can please give me Nootropics Hackvision schematics and codes.

Because as GoForSmoke said, what I'am getting from the forum at the bits-and-pieces. But still, trying to learn, I can say I would build it if I am provided with just the schematics and the code.

Thankyou.
Minds are like parachutes. They only function when they are open.

GoForSmoke

Have you ever heard of Google? I entered hackvision and it's the top of the list.
Seriously, a -lot- of questions asked here Google with complete already prepared answers right up top.
Those answers are right there, no waiting, no checking back... so why don't people do a search before asking?

This isn't just practice, it's life. Do the simple things first and you can ask better questions later.
Nick Gammon on multitasking Arduinos:
1) http://gammon.com.au/blink
2) http://gammon.com.au/serial
3) http://gammon.com.au/interrupts

PeterH

#12
Dec 11, 2011, 05:11 pm Last Edit: Dec 12, 2011, 12:26 am by PeterH Reason: 1

I just want to build this and his birthday is ot really far away. In March really.


If you want to give him a working game, buy one. It'll cost far less and work better.

If you want to give him a game that you wrote, I suggest you need to lower your ambitions considerably. Buy an arduino with a display shield and dedicated display. (The display will be tiny.) Choose a game which will be playable on that size/type of display. Tetris, pong, whatever. Choose and buy the controllers suitable to play that game in a type which can provide a simple analogue or digital output suitable to connect directly to the Arduino.

Spend 6 months learning to program well enough to understand how to implement your game, and another six months implementing it. Probably add another three months to get rid of the snags that you'll encounter when you finally get to play the game.

In other words, start now and plan to give it to him *next* year.
I only provide help via the forum - please do not contact me for private consultancy.

spycatcher2k

Hi amansammy, I went to his website and found, diagrams, board layouts & fill  software for his board. Its all been released under the Open Source Hardware Definition v1.0.

You could download the files and make your own, and there are quite a few games already made for it.
Drew.
http://www.uk-pcb.co.uk - My UK Based PCB Fab & Assembly Company
Design work undertaken
SMD & Thru-Hole assembly

nootropic

Yeah, guys, the Hackvision is completely open source, just like all my products.  Not sure why anyone would think otherwise.  Just look at the product page:  http://nootropicdesign.com/hackvision/

Go Up