16

Is there any common language that is used to create Play Station 1 Games? Or how can I find out what programming language is used for one of those games?

Vaillancourt
  • 16,325
  • 17
  • 55
  • 61
Zim3r
  • 339
  • 2
  • 3
  • 8

2 Answers2

27

Most PS1 games were probably written in C, with some assembly and possibly some light "C with classes." This isn't a universal truth, necessarily -- for example Crash Bandicoot had a good portion of its gameplay logic built in a LISP variant.

In general, you can only find out what languages were used for a game by asking the developers of that game. However, some technologies leave tell-tale signatures or watermarks of a sort that can help you make educated guesses.

For native languages, certain compilers or linkers may leave signature patterns or whatnot in the final binary (for example a tendency to store static data at a particular address, or a certain pattern of bootstrapping machine code instructions for the binary. On the PC, you can often run tools like Dependency Walker against an executable to see which runtime libraries it links against, and from there make educated guesses about which compiler was used to build it.

Similarly, games build in managed languages will require their runtime environments and usually complain loudly if they aren't found when the program is launched (this complaint is usually accomplished via a small bit of native bootstrap code in the executable, which you could also look for if you were so inclined.

Of course, this information is generally of little practical utility, since it doesn't really help you solve any particular problems related to your own game in most cases.

  • +1 Thanks Josh, Is there any programs to determine the programming language of the game? because it's bunch of *.bin files. or any way to view the source code ? – Zim3r Oct 25 '12 at 17:52
  • @Jake viewing the sourcecode of basically any compiled unmanaged binary is nearly impossible, or at least takes a long take and a lot of work! – Delusional Logic Oct 25 '12 at 18:14
  • Thanks but there are some .bin files that some of them are audio or video files. even these files can't be opened ? – Zim3r Oct 25 '12 at 18:21
  • They could be, but "how" can be a very complex process if you don't know the source formats, and would be out of scope for this question. –  Oct 25 '12 at 19:05
  • run searches for ps1 rom hacking. It looks like you are wanting to mod or make things for a ps1. I don't think that this is the best place to ask about rom editing though. You should look into different places. Also, heres a link to get you started http://www.romhacking.net/?page=documents&category=&platform=17&game=&author=&perpage=20&level=&title=&desc=&docsearch=Go – Bob Oct 25 '12 at 20:33
  • if you need to view or edit files of a particular PS1 game, have a look at http://rewiki.regengedanken.de/wiki/List_of_games or http://wiki.xentax.com/index.php/GRAFs/All – tigrou Oct 25 '12 at 21:56
  • @DelusionalLogic if the source was written in either assembly or C, decompiling it won't cause that much pain. sure you won't get clean code with meaningful variable names, but you'll somehow manage understanding it. – Ali1S232 Oct 26 '12 at 08:07
  • 2
    @Gajoo While it wont be that painful, it won't be easy if you don't know the language. and seeing as he wants to learn from it, it really won't be that useful. I wouldn't think it was worth it. – Delusional Logic Oct 26 '12 at 08:47
17

I was first party at SCEA when we launched the PS1, and the overwhelming majority of games were written in C, with some time critical bits in assembler. All of the library calls were C as well.

Rob Craig
  • 325
  • 1
  • 4
  • 1
    I can confirm this; though I suspect that the libraries were C calling conventions with some hand tweaked assembly inside, much like the time sensitive or tricksy pieces I've seen or worked on. – Patrick Hughes Jun 22 '13 at 22:03