Programming a new console

Started by
7 comments, last by EbonySeraphim 16 years, 8 months ago
How do you go about creating a new console? I mean, does it have to be programmed or what? And if so, what prgramming language would you use?
Advertisement
1) Start with custom hardware created in the massive R&D departments of chip manufactures.
2) Come up with a set form factor you are shooting for, so you know what all you can even cram in the console.
3) Put together the system.
-----
4) Now you got a console, but it doesn't do anything! The hardware is all going to need custom software driver layres to
make it work. This means (skip to 6) driver programming using some toolchain and straight ASM.
5) The console might need an OS of sorts (all the menus on your PS* or XBox* when you don't have a game in there)
6) The people working on the games for it are going to need a tool chain so they can work on the console.
This means a (probably)c/c++ compiler, debuggers, dev kits, API's to access hardware resources, etc.
-----

Now, a dev has your console. They are programming it in whatever language you are providing a toolchain for.
If there is no C++ compiler for the console, only C, then the games for the console are going to be programmed in C.
If the dev says you program it in VB97 then that is just about all you got. Back in the day (iirc) console games were just programed in ASM cauze there was no higher level language tool chain.
VHDL (VHSIC Hardware Description Language) is commonly used for hardware design, If this is what you are looking for…
Alternativly you can take microsoft's route and just stick a PC in a box. ;)
APE
Quote:Original post by Naku
Alternativly you can take microsoft's route and just stick a PC in a box. ;)

Expanded version:
1) Stick a PC in a *very* expensive box (must be the box, the rest of the PC doesn't cost that much) that is slightly too small...
2) Discover the lack of space means it runs too hot, so smear heat-paste all over it...
3) When the shipping models start to melt down, bring them back, put a giant heat-pipe in instead...
4) When those melt down too... goto stage 3 and repeat...
5) Turn a profit.. oh never mind, we are stuck in an infinite loop at stages 3-4 [grin]

Anyway, moral of this story is to consult an engineer who specialises in thermodynamics *before* designing the case...

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Basically you've got to build yourself an entire computer system. So you'll want a general purpose CPU, something to handle the graphics, something to handle the sound, one or more storage devices, input devices etc. How precisely you do this depends upon what kind of console you're shooting for. If you look at the high end (i.e. 360, PS3, Wii) you've got one or more custom chips in there along with various off the shelf stuff. Making your own chips is a very expensive proposition and it's only economical if you can sell a lot of them (the cost per chip is actually pretty cheap, it's expensive because you need to pay the one off cost of developing the chip and getting a mask set made which will be many millions of dollars). So if you don't have the resources to make your own chip or don't expect to sell enough to make it worth your while you'll need to go for off the shelf parts. The GP2X uses a system on chip solution that basically has everything on one chip, this is an off the shelf part so they don't need to produce their own chips. If you can't find an off the shelf part that does what you want and you can't afford the production of an ASIC(Application Specific Integrated Circuit, i.e. a custom chip) then you can use an FPGA (Field programmable gate array) which is effectively a chip which you can rewire at will so it does what you want. The disadvantages of FPGAs are the per unit cost is generally higher, they'll have high power consumption and they won't run as fast. Furthermore there are just some designs that you're just not gonna fit into an FPGA.

As for programming, yes it will have to be programmed but depending upon the console you may only need to write a small amount of code. E.g. you may just need a little bootloader that reads off a sd card or a cartridge or similar and executes that program. On the other hand if you look at say the XBox 360 that will have an extensive amount of software written by Microsoft. You'll be using an API to interact with the hardware whereas on older or simpler consoles you'd just talk to it directly.
Check out http://www.xgamestation.com/ , its nothing high end but will get ya going!
my blog contains ramblings and what I am up to programming wise.
or you can follow the PS3 route and just go "oh that processor looks cool" - "hmm blu ray must be good" "Ah motion control the way forward". Then grab all the components stick them in a box give it a really good shake and then give it to developers to try and figure out how to do something with it.
I can feel the tension growing!

Quote:Original post by Buster2000
or you can follow the PS3 route and just go "oh that processor looks cool" - "hmm blu ray must be good" "Ah motion control the way forward". Then grab all the components stick them in a box give it a really good shake and then give it to developers to try and figure out how to do something with it.

The PS3 hardware warranted changes the entire approach to solving the same problems that were solved before. Similar to new WS-* specs, it takes time to come to a consensus from major companies to decide on how things should be done in practice for ease and efficiency. You can't expect a single company to figure this out. Once the industry does settle on it, then it's time to judge if the architectural change was the right one.

This topic is closed to new replies.

Advertisement