How are games for Playstation programmed without an operating system?

I thought of it and recognized some of them myself, and from digging .

It is clear that in combination with the fact that there is no operating system for the Playstation equipment (first) and just firmware, the games programmed for the Playstation were essentially complete monty, such as Final Fantasy VII for example:

There are several “pieces” of code that interact with each other, from a low-level kernel that processes hardware data, changes, etc., to a user interface that controls interrupts from a PS controller, to a data bank that stores HP cloud current, TIFA ATB value and increment divider to determine the byte of the attack stream.

So technically speaking games made for the Playstation were removable kernels, interaction with gameplay and full executable files. The kernel does not exist in the PS hardware, so how could you program the game as a kernel with several modules and an interface?

Does this mean that the Playstation executable files stored as .ISO files were mainly operating systems?

The game module is the main interface from the hardware level to the user level, so is it possible to say that all PS1 games were sorted operating systems?

In principle, it is possible to make a game an "operating system" and a game, i.e. A fully interoperable low-level data processor, device driver, interrupt handler, etc. are all stored in a file system emulation format?

Hopefully I was clear enough, as it confuses me when I try to understand it.

PS: If it's better in another section, please help migrate there. Thanks!

+4
source share
1 answer

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

This is not only possible, but not rare. For example, think of games that are bundles of other games. I think when you buy one disc on which there are 3-4 old games ...

So how could you program this? What you really do is search for the bootloader, which presents the “modules” menu when the user selects the “module” to execute the “module” and when he exits to return to the menu. In the X86 (insecure) infrastructure, this is done by modifying the IRQ tables, so that when the program exits the system, the transition returns to the menu system, rather than the default.

Now you just need to provide some games with the "exit" option. It seems to me that very few games that I played on PS have the option to “exit”, because when you are finished, you just turn off the power.

Specifically for the PS1, you will have to delve into the BIOS programming guide to figure out how to write a bootloader. I think this will be the most problematic part of the project.

Perhaps you managed to delve into the projects of the PS emulator ...

+5
source

Source: https://habr.com/ru/post/1488382/


All Articles