I've always wanted to get into programming and hardware, but I always lose interest when I start it. I've always been really impressed and almost brought to tears when I see some new homebrew/console hacks/improvements/flash carts (Everdrive - I think Krikzz is amazing for developing these devices with his own spare time and by hand.)/advancements in emulation are released. I wanted to do some stuff like that myself but I always feel overwhelmed at what has already been done. I just don't even know where to start. I've been a Linux user for almost 10 years yet have never written anything more than Hello World in C. I spent almost $100 6 months ago buying some basic electronic components/development boards/etc once I saw the Cube64-DX by DarthCloud so I could make one myself. I have always hated the N64 controller so to see some guy on a forum release the schematics and source code of something he made to the public for free that would revive a whole console for me was awesome. I feel like I want to stay towards an older generation of consoles and games though. I use my Wii for emulation and it's great, but I still get excited and happy when I burn DreamSNES to a disc and boot it on my Dreamcast and seeing a whole interface and game that some guy made in his spare time. :thumbsup:
Just Google and learn a little bit at a time. Not all at once. It takes a lot of hard work, and time. Trust me. It also helps to know someone who does all this stuff already, if you need help. Good luck!
Hardware Development Recommend you get yourself a mega drive, sms etc and do a few simple mods, then move up to doing the DC, this will give you some basic electronics info, learn how the mods work and you will have a start, then you can adapt the current mods or work on your own for various systems, this is an inexpensive way to start and will give you some easy soldering work for you to practice on (mega drive especially) Software Development You could start by looking at the source code for various demo's, releases on various systems and get "Hello World" running on as many consoles as you can to see how the different systems need to be initialised and programmed or you could go for something like Visual Basic, Java or C# to begin writing PC tools to help with console development etc. theres alot out there to help you mate
Yeah, there's a ton of information floating around on the web waiting for you. The thing that you have to realize though, is that you cannot compare yourself to someone who's been developing stuff for years, it'll just discourage you. Just pick somewhere to start, learn C# or another language that YOU like, it's a personal preference really. Learn how the electronics and what not work, and learn how to make a simple pcb. Just take baby steps, and look at open-sourced demos like Mystical said. It's not going to be an overnight thing, but don't let yourself get discouraged by feeling that even if you did learn it, there wouldn't be a point.
DC/AC -> Ohm's Law Digital -> AND/OR/NOT gates Programming -> C and your choice of assembly OO Programming -> Wikipedia, Python I would suggest against starting with mods. Mods get your feet wet, but most are very poorly designed by novices and present you with a very real opportunity to maim your consoles (said from experience). As you gather engineering sense mods generally become less attractive than externally working around problems where possible. Instead I'd say to always start with theory first, and diversify your studies. Breadboards are great for testing analog and very small digital circuits. Most of the time you should use simulation. As for programming, I agree about using open source demos, but only as example code. There are often times where sufficient documentation doesn't exist so you have to resort to someone else's code, but in the theme of learning from the ground up you shouldn't get in the open source mindset of reuse, collaboration, collective thought etc.
I can backup that mods are a great way to maim consoles. So many things done to them that being taught properly can easily be avoided. Though it never hurts to have discrete connectors.
Learn with small codeparts from another developer and see whats happen. (http://openbook.galileocomputing.de/c_von_a_bis_z/ - best site for german, already translated to english? cant find it)
Honestly, I think one of the best options for a newbie programmer with a good brain is Batari Basic for the Atari 2600. The VCS is a notoriously difficult platform, but bB abstracts most of the worst issues, and makes it pretty easy to get a very simple demo up and running. There's also an IDE for bB that makes things even easier, but I've never used it.
That's a great idea. I don't have to invest any money to start out either. I'll update you soon. Thanks for all the advice guys. :thumbsup:
Well, you really need to take baby steps. You'll probably want to learn a programming language to start with. C (or maybe a variant) would be a good start, but you could use VB.NET or whatever takes your fancy. Whether you choose a language that'll be useful on a console or start with any language (programming on PC is still a useful start) is up to you. If there's a platform you've set your heart on, take a look at what you'll need in the way of programming knowledge, hardware, tools etc. I'd go with a console with a good homebrew base. They'll usually have some useful tools to hopefully take away some of the headaches! One with manuals available is of use, too. As for hardware, why not take a basic electronics course to start off with? You should be able to do one at your local college / adult education centre. In fact, they may even do a programming basics night course. If you're really lucky, maybe you could do programming on Monday nights and electronics on Tuesday nights! ;-) A good start to combine the two could be using PIC or Atmel AVR chips. Learn how they work, how to program them, and you may even be able to do something useful with it that's gaming-related! How about using Arduino? *EDIT* As far as "proper" console programming goes, perhaps something that has an easy to use method of getting your code into the console, such as a FLASH card (Ever Drive?) or uplink kit (Action Replay, PsyQ). You could even go down the Yaroze route - a bit daunting, but a full kit has everything you need. Oh, or you could do it all in software and use an emulator!
If you're interested, there are tutorials on how to create a small game, one in Corona SDK, one in C#. You'll just need to download the magazine from site: http://gamecodermag.com/game-coder-mag-12012/. It's free so don't worry
also a quite easy console to program for is the xbox, just use the XDK with SDL, and if you also have a XDK console(or retail to XDK modded console) it's even easier to get your code running on the unit, just press F5 and it's being uploaded, that way i got my very first game ported to the xbox and its very easy using SDL, c++ on the other hand is not easy :x.
For the Hardware part i sugest watching videos on YT about how each component works etc, and later on watching a bunch of Mod videos, to give you ideas and general comcept of the best ways to make something
Most tutorials are written by people rather inexperienced with a subject, so with something as technical as electronics they're a great way to learn misinformation. Unless you're watching a college lecture I'd say stay away from Youtube.
If your interested in developing for a console, I suggest you start programming straight up with Windows/Linux first. Once you get good at that, moving to a console is just learning specific details.
Yes, you can go it. It’s easy to learn with that you can get very nice start up to be in programming.