Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How were games for Playstation programmed with no operating system at all? [closed]

Tags:

kernel

I got to some thinking and found out some of it myself, and from some digging around.

It appears in great clarity that, combined with the fact that there is no operating system for Playstation (the first one's) hardware and just firmware, the games programmed for the Playstation were essentially the full monty, such as Final Fantasy VII for example:

Featured multiple "parts" of code that interacted with each other, from a low-level kernel that handles the hardware data, changes, etc., to a user interface that controls interrupts from a PS controller, to a data bank that stores Cloud's current HP, Tifa's ATB gauge value, and the increment divisor to determine an attack flow byte.

So technically speaking games made for Playstation were the removeable kernels, gameplay interaction, and full executables. No kernel exists in PS hardware, so how could you program a game to be both a kernel with multiple modules and an interface?

Does this mean that Playstation executable binaries stored as .ISO files were basically operating systems?

The game's module is the primary interface from the hardware level to the user level itself, so is it safe to say that all PS1 games were operating systems in a sort?

Basically, it's possible to make a game an "operating system" and a game, i.e., a fully interacting low-level data processor, device driver, interrupt handler, etc., all stored in an emulated filesystem container format?

I hope I was clear enough, as this quite confuses me when I try to get it down pat.

PS: If this is better off in another section, please help migrate it there. Thank you!

like image 386
Sinister Clock Avatar asked Jun 26 '13 22:06

Sinister Clock


People also ask

What were PS1 games programmed in?

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.

Does PlayStation have a OS?

The PlayStation 4 system software is the updatable firmware and operating system of the PlayStation 4. The operating system is Orbis OS, based on FreeBSD 9.

Did PS1 have an OS?

A full-fledged operating system - no. It was more of a "loader" that required disc (game) in order to connect it to further internal modules (graphics, sound and so on). PS1 actually had an interface/program for audio CD playback.

Do gaming consoles need an OS?

Game consoles today, like an Xbox, Nintendo Wii, or Sony PlayStation, are all basically computers: they contain a hard drive just like a computer, and they operate using an operating system, just like a computer. Since they are basically computers, they store information in a similar fashion.


1 Answers

The PS1 was a pretty simple machine, with hardware and APIs for graphics, sound, and user input, and some basic boot-up conventions. This is not very different from old Atari ST, Apple ][, IBM PC, and other systems where you would boot up directly into the game environment (anyone remember the old Sierra games on PCs?).

This is not only possible, it's actually not uncommon. Think about games that are bundles of other games, for instance. I'm thinking of when you buy one disc that has 3-4 old games on it...

So, how could you program this? What you're really doing is looking at building a loader, which presents a menu of "modules", when the user selects the "module" to execute the "module" and when it exits to return to the menu. In X86 (unprotected) infrastructure, this is done by modifying the IRQ tables, so that when a program exits, the jump back goes again to the menuing system, instead of the BIOS defaults.

Now, you just have to supply some games with an "exit" option. It occurs to me that very few games I've played on the PS have a "quit" option, because when you were done you'd just shut off the power.

Specific to the PS1, you'll have to dig around for a BIOS programming guide to figure out how to write the bootstrapper. This will be the most problematic part of the project, I think.

You might have some luck digging around in PS emulator projects...

like image 74
PaulProgrammer Avatar answered Sep 24 '22 03:09

PaulProgrammer