Ещё в начале 2000х, а точнее где-то в 2001г. или в 2002г. у нас открыли в Алматы не далеко от моего дома клуб там были приставки Playstation 1. Я сделал 2 компьютерные игры на Visual Basic 6.0 "Угадай мелодию" и "Кто возьмёт миллион", и хотел их портировать на Playstation 1. Поехав на курсы в Германию я нашёл в интернет PSX SDK и PSX Chipmunk Basic. Тогда в Алматы интернет был слабый, а в Германии был  примерно 1 мбит/сек.
У меня есть дома старенькая Playstation 1 и PSX SDK (PSY-Q), есть так-же SDK (Yarozo) для Playstation синей версии, это были такие приставки для хобби программистов, которые хотел-бы делать игры. Почитав специальные ресурсы научился писать Hello World для PSX. Спасибо некому LameGuy64, который в этих делах спец. Здесь опишу поэтапно как сделать простенькое App для PSX и запустить её, я буду использовать PSY-Q, PSX CD-GEN, PSX Disc Patcher, ImgBurn. В будущем нам понадобиться bin2h, bmp2tim, Tim2Tool, jpsxdec, Blender 2.7x, и для Blender понадобиться RSD Export Plug-In.

Системные требования для компиляции Windows 2000, NT 4.0, на современные и 64 битные PSY-Q не будет работать т.к. там есть 16 битные приложения и DOS приложения. У меня установлен PSY-Q на Windows 2000 SP4 на VirtualBox. Для 3D нужно от Windows XP и Blender 2.7x. Для тестирования нужно чтобы запустился эмулятор.

Сразу говорю код не мой, код я взял его на другом сайте.

1. Распакуйте или установите PSY-Q.
2. Если нет пути PSY-Q в PATH, то установите в PATH путь к PSY-Q, у меня путь такой N:\psyq\bin, где N это сетевая папка.
3. Создайте папку PS1GAME
4. Перекопируйте этот код, и сохраните как MAIN.C:

Код:
#include <stdlib.h>
#include <libgte.h>
#include <libgpu.h>
#include <libgs.h>

#define OT_LENGTH 1
#define PACKETMAX 18
#define SCREEN_WIDTH  320
#define	SCREEN_HEIGHT 240

GsOT myOT[2];
GsOT_TAG myOT_TAG[2][1<<OT_LENGTH];
PACKET GPUPacketArea[2][PACKETMAX];

u_long __ramsize   = 0x00200000;
u_long __stacksize = 0x00004000;

short CurrentBuffer = 0;

void graphics();
void display();

int main() 
{
  graphics();
  FntLoad(960, 256);
  SetDumpFnt(FntOpen(5, 20, 320, 240, 0, 512));
  while(1)
  {
    FntPrint("My First PS1 Application");
    display();
  }
  return 0;
}

void graphics()
{
  if(*(char *)0xbfc7ff52=='E') 
    SetVideoMode(1); 
  else 
    SetVideoMode(0);
	
  GsInitGraph(SCREEN_WIDTH, SCREEN_HEIGHT, GsINTER|GsOFSGPU, 1, 0);
  GsDefDispBuff(0, 0, 0, SCREEN_HEIGHT);

  myOT[0].length = OT_LENGTH;
  myOT[1].length = OT_LENGTH;
  myOT[0].org = myOT_TAG[0];
  myOT[1].org = myOT_TAG[1];

  GsClearOt(0,0,&myOT[0]);
  GsClearOt(0,0,&myOT[1]);
}


void display()
{
  FntFlush(-1);
  CurrentBuffer = GsGetActiveBuff();
  GsSetWorkBase((PACKET*)GPUPacketArea[CurrentBuffer]);
  GsClearOt(0,0,&myOT[CurrentBuffer]);
  DrawSync(0);
  VSync(0);
  GsSwapDispBuff();
  GsSortClear(50,50,50,&myOT[CurrentBuffer]);
  GsDrawOt(&myOT[CurrentBuffer]); 
}

2. Создайте makefile.mak

Код:
all:
	ccpsx -O3 -Xo$80010000 main.c -omain.cpe,main.sym,mem.map
	cpe2x /ce main.cpe

cpe2x /c и регион, у меня стоит /ce это значит для европы см.:

Код:
CPE2X Ver1.5
Copyright (C) 1994,1995 by Sony Computer Entertainment Inc.
   /C[area code]
      J : for Japan area (default)
      A : for North America area
      E : for Europe area

5. Дальше в сеансе MS-DOS дайте команду psymake должно что-то типа такого получиться:

Код:
C:\PS1GAME>psymake
PsyMake version 1.14  copyright SN Systems Software Ltd 1993
N:\psyq\bin\ccpsx.EXE -O3 -Xo$80010000 main.c -omain.cpe,main.sym,mem.map
N:\psyq\bin\cpe2x.EXE /ce main.cpe
CPE2X Ver1.5
Copyright (C) 1994,1995 by Sony Computer Entertainment Inc.
convert from main.cpe to main.EXE for Europe area
pc0:8001612c  t_addr:80010000  t_size:00008800

6. Создайте файл system.cnf, это будет загрузчик.

Код:
BOOT=cdrom:\main.exe;1
TCB=4
EVENT=10
STACK=801FFFF0

7. Запускаем PSX CD-GEN, и добавляем файлы main.exe и system.cnf, а так-же меняем лейбл диска, я назвал диск MYGAME, и выбераем в меню COMPILE PS/PS2 CD Image.
https://i.ibb.co/fYztRsp/psx0-min.jpg

https://i.ibb.co/3BszNdx/psx1-min.jpg

8. Если всё успешно, т.е. если вы увидели надпись CD Image Created Sucessfully, то запускаем PSX/PS2 Disc Patcher 3.0, я выбераю приставка PSX, тип образ CD, регион Europe.
https://i.ibb.co/Ycpq8NF/psx2-min.jpg

9. Если успешно пропатчился диск, т.е. должна надпись CD Image Created Successfully, то можно запускать образ. Я буду тестировать на ePSXe
https://i.ibb.co/v1GYdyk/psx3-min.jpg