[fpc-pascal] FPC on gaming consoles: XBox One, PlayStation 4, Nintendo Switch

Michalis Kamburelis michalis.kambi at gmail.com
Thu May 10 05:42:31 CEST 2018

2018-05-10 4:05 GMT+02:00 Dmitry Boyarintsev <skalogryz.lists at gmail.com>:
> On Wed, May 9, 2018 at 9:38 PM, Michalis Kamburelis
> <michalis.kambi at gmail.com> wrote:
>> This would mean that it is impossible to openly distribute an open-source
>> code interfacing with e.g. PlayStation custom OS. Precluding open-source
>> support from both FPC and Castle Game Engine for the consoles. Any code that
>> uses some API covered by NDA must be closed-source, can be available only to
>> people who also signed the NDA.
> Not sure how much of impact it is for a game engine and/or FPC as is.
> Unity engine is capable of compiling for PS4. Yet it's distributed freely.
> Sure, it's a closed-source, but it doesn't mean that an open-source project
> couldn't support the closed-source system.

The issue is that some console libraries (like PS4 GNMX, their
rendering API) are not only closed-source. They are also covered by
NDAs that prevent you from openly discussing their API. That is my
understanding, from reading the
https://www.ogre3d.org/2006/01/08/official-support-for-game-consoles ,
confirmed explicitly by https://www.gamedev.net/forums/topic/666961-x/
, and the fact that you cannot find *any* documentation or examples
about GNMX on the Internet.

This means that you cannot write open-source code (and distribute it
publicly) that talks with GNMX. Such code must be kept secret, and
distributed only to other PlayStation devs who signed the Sony's NDA.

Which is not a show-stopper... but it's a real hindrance. I can still
write Castle Game Engine renderer targeting GNMX. But this renderer
can only be shown to other PlayStations devs who signed the NDA. I
cannot just place it in Castle Game Engine repository on GitHub.

Moreover: The developers using C or C++ get a working compiler from
Sony, once they sign the NDAs. So they don't worry about interacting
with Orbis OS (for stuff like reading files etc.) and generating code
for the appropriate CPU. However, we cannot hope that Sony provides a
working Pascal compiler tailored to work under PS4 operating system.
We can only speculate that hopefully it remains compatible with
FreeBSD (from which it was forked), and that FPC support for FreeBSD
will work (or will only require minimal modifications).

> It just requires some company with the business interest in it.
> The first step to be done is to have a big game product at the market,
> compiled with FPC.

I have such company. And we are working on such game :)


More information about the fpc-pascal mailing list