Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I work as a iPhone app developer now, so I know a bit of c, c++ and objective c. Also have fiddled with Java and many other. All of them have been just high level application/games development.

My final goal is to make a handheld game console. More like a home made NES/SNES handheld console or even an Atari. I have found out about RaspberryPI and Arduino. But I need more information about how to approach this.

  1. How Do I learn to pick the best board/cpu/controller/GPU/LCD screen/LCD controller etc?
  2. Will learning to make a NES emulator first help me understand this field? If so are there any tutorials?
share|improve this question

1 Answer 1

up vote 10 down vote accepted

My suggestion is buy one of the arduino kits related to this goal. A few examples:

Fuzebox

Fuzebox

Hackvision

Hackvision

Video Game Shield Kit

Video Game Shield Kit

How Do I learn to pick the best board/cpu/controller/GPU/LCD screen/LCD controller etc?

Firstly you need know in depth a real machine. The arduinos are a very good option for this because are 100% open source and include documentation. Don't buy a RaspberryPI or others ARM boards because the most use closed drivers for the GPU and other pieces. If you finally decide buy a traditional ARM board (not a arduino with ARM processor), search a board with the GPU "mali".

Will learning to make a NES emulator first help me understand this field? If so are there any tutorials?

No. You will only learn a lot of assembler code :) . Probably, enhance your C skills are a better idea.

Don't be too ambitious at the beginning or your project will die. Step by step. My advice is:

  • Buy a Kit.
  • Read all the documentation.
  • Program a simple game.
  • Program a complex game.
  • Enhance your game internally. Try different ideas for enhance the performance.
  • Now you know well the platform.
  • Read the code of your system. Kernel and low level libs.
  • I'm sure that your system has bugs. Search and fix these.
  • The code of your system is inefficient. Enhance the code.
  • At this moment you know all your system with a very big depth.
  • Now you can create anything. Congratulations :)
share|improve this answer
1  
+1 For the amazing checklist.. –  qdot Jun 16 '12 at 14:09

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.