Advertisement

What Language? Does it Matter? Console Developing Sites?

Started by February 15, 2001 05:02 PM
2 comments, last by rodneyldixon 23 years, 11 months ago
Sorry to post so many times! But I would just like to ask some questions about Console Programming. Does it matter what language I use to create roms for different consoles? EX: C++, Assembly, C, etc..... EX: Nintendo 64, Nintendo, SNES, Gaameboy, etc... Also, if it does matter, then what language do I need to use? I have read all my posts and replies, but they are not telling me what I want to know. All I really want to know is Does it matter what language I use and If it does matter, what language am I suppose to use to create roms for different systems? Finally, is there anykind of Console Developing site that I can go to besides www.consoledev.com that will help me with my problems?
In the end, if you can compile your language down to the machine code for the processor your console uses, you''re okay.

Typically, most consoles are programmed with C/C++. It''s low-level enough to be efficient; high-level enough to be understandable. I''ve used C++ on N64, PSX, PS2, XBOX...

Game Boy Color is usually programmed in asm. There is, I think, a C compiler, but don''t know how well it optimizes.


---- --- -- -
Blue programmer needs food badly. Blue programmer is about to die!
Advertisement
Mr Dixon,

I think you haven''t got many responses because your last myriad of posting on here is still a sore point. People on here aren''t usually so unfriendly, so whatever you do please avoid a repeat performance of last time and I am sure you will get some help. If you posted a message only yesterday (which you did) then don''t post almost the same message a day later. The more you upset this community in this way, the less you shall be tolerated and your questions will go unanswered much like they did last time you graced us with your presence. Ask your questions less frequently and be patient with waiting for a response and I am sure you will be welcomed back.

Now, to answer your queries...

It seems with the questions you have been posting that you are keen to begin game programming. When you were posting last time you did get some answers so I presume you went away and found those paths were not for you at this stage??? Now you seem to be asking about console programming, which is an alternate path but I can assure you that it might also prove to be something you don''t wish to follow just yet.

Where do you start? At the beginning of course. If you knew anything about programming you''d probably be able to answer your questions yourself as you''d pretty quickly gain an idea about which consoles have which languages just by reading a few sites. My advice to you is to be patient and remember the old saying that ''Rome was not built in a day''. First you need to learn a language and then you can learn to do the games. There are several languages you can choose...

BASIC:
Many people started here as it came built into the machine they first had. That was a long time ago though, and the modern basic programming environment (such as Visual Basic) can be quite daunting at first. Instead of learning the language by typing and running a program you can end up having to get involved in all manner of stuff. On the positive side of VB there are an awful lot of books written to help you.

To keep things simpler you could try other basic interpreters/compilers (quick basic or gwbasic). The problem here though is that they are out of date and you might not find much reference material for them. You might find this a very lonely or at best a minority road.

www.blitzbasic.com is a basic compiler aimed at creating games. It does have one of the best environments for typing a program and running it with minimal messing around. There are plenty of people programming it and there are many small programs around for you to disect. The only other reference material you''ll get from this route though is what its user community can offer (which in the long run is probably going to be a lot). If you can become proficient enough in basic then blitz basic would be a good way to begin to learn game programming afterwards. I would recommend this is where you should start. You should be able to code any 2D game you want (when you have been patient enough to learn) with the current blitzbasic. Blitzbasic3D is also out very soon, if not already.

C:
If you want to get a little more advanced then learning C is a good bet. I recommend this as something for you later on. The problem again though is that most of the contemporary C programming environments also aren''t going to give you the quick method to write a program and compile it. Many of the freeware C compilers require much setting up, those you buy can have you fiddling around with the IDE before you really get anywhere. There are plenty of books here though, even those specific to a certain compiler will get you through to compiling programs and learning the language. After learning this language you will want to be looking into programming games in it, I would avoid 3D for now though. If using OpenGl or DirectX for 2D programming does not grab you, you should be able to find some other 2D programming libraries in the public domain.

Yes, you can get a C compiler for GameBoy but I will explain all that below.

C++/Java:

Don''t go here at this stage. It is exactly where you want to aim for eventually but starting out in this area on your own can be extremely difficult. Some people would argue differently, but maybe they had help or went to college or something.

Now, if you really don''t want to have a look at BlitzBasic then here is some information on programming those consoles:

GameBoy:

GameBoy is usually programming in Assembly although someone did write a C compiler for it, I think there is also a version of BASIC. Unless you have done some programming before then you should avoid Assembly as a first step. GameBoy isn''t at all Z80 based but it''s superficially close. Although its chip has many extra instructions that Z80 doesn''t at least you can still find good reference on Z80 programming. That C compiler does come with a range of libraries to help you and I am quite sure you could get some simple programs up and running with ease and it looks like they''ve been improved very much recently. The version of BASIC, I have not seen but I would suspect it isn''t of interest to you.

If you want to program GameBoy then a good page with many links is http://www.devrs.com/gb/ and you should also find links to the GameBoy development web ring from here. There are many good emulators around and you don''t need to make ROMs, one such emulator which is also used by professional game developers is NO$GMB at http://www.work.de/nocash/gmb.htm which has a built in disassembler and debugger! If you do truly wish to learn assembler then the GameBoy scene is quite well equipped. I used an Assembler called RGBASM which you should have no problem finding.

Note that http://www.devrs.com/ also has information on programming the NeoGeo pockets, Cybiko and another less known handheld I''ve never heard of.

If you truly want to make your own GameBoy ROMS then you can get the necessary hardware from http://www3.goldenshop.com.hk/, which also has NeoGeo pocket ROM burning hardware.

N64:

N64 is usually programmed with C and some assembler, the hardware needed to do it is becoming a little scarce.

You will find all you need (or links to all you need ) to start on N64 coding at http://www.dextrose.com/dx_section_1.htm

SNES and Nintendo 8-bit:

SNES and Nintendo 8-bit are programming solely in assembly. Remember what I said about avoiding assembly, but if you must then its a similar story to GameBoy in that Nintendo based the instruction set on something else (6502) and bastardized it a little, added instructions made it 16-bit.

Given the general lack of information you will find on SNES and Nintendo 8-bit programming nowadays I would not recommend that route. I cannot help you here much as it is has long since been my scene but for now try http://www.informatik.uni-oldenburg.de/~bexxx/snes/snes.html

Other resources:

http://www.hitmen-console.org/ for C64, GB, Dreamcast and PlayStation

http://members.nbci.com/_bitmaster_/psx-index.html for PlayStation

http://psx.rules.org/psxrul2.shtml for PlayStation

http://www.zophar.net/tech/ also contains a variety of technical information on various consoles. In particular http://www.zophar.net/tech/psx.html has a link to the ''PSX Documentation Project''.


OK nag time again. I''ve given you plenty to be going on with so don''t come back here with the same question tomorrow. If you do want links to web pages try doing a search with Yahoo or even better WebFerret or something before asking if anyone knows of any good pages. Make the effort yourself, information like the above really isn''t that hard to find.

How do you go about making a CD that can be run on a PSX? Or do you need one of those chips or the double-swap trick?

Magmai Kai Holmlor
- The disgruntled & disillusioned
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara

This topic is closed to new replies.

Advertisement