2020-08-22 22:30:12 -04:00
|
|
|
#include <cstring>
|
|
|
|
#include "overlord.h"
|
|
|
|
#include "game/sce/iop.h"
|
|
|
|
#include "ramdisk.h"
|
|
|
|
#include "iso.h"
|
|
|
|
#include "ssound.h"
|
|
|
|
#include "sbank.h"
|
|
|
|
|
|
|
|
using namespace iop;
|
|
|
|
|
|
|
|
int start_overlord(int argc, const char* const* argv) {
|
|
|
|
(void)argc;
|
|
|
|
FlushDcache();
|
|
|
|
CpuEnableIntr();
|
2020-08-26 01:21:33 -04:00
|
|
|
if (!sceSifCheckInit()) {
|
2020-08-22 22:30:12 -04:00
|
|
|
sceSifInit();
|
|
|
|
}
|
|
|
|
|
|
|
|
sceSifInitRpc(0);
|
|
|
|
InitBanks();
|
|
|
|
InitSound_Overlord();
|
|
|
|
InitRamdisk();
|
2020-08-26 01:21:33 -04:00
|
|
|
// RegisterVblankHandler(0, 0x20, VBlank_Handler, nullptr);
|
2020-08-22 22:30:12 -04:00
|
|
|
|
|
|
|
ThreadParam thread_param;
|
|
|
|
thread_param.attr = TH_C;
|
|
|
|
thread_param.initPriority = 98;
|
|
|
|
thread_param.stackSize = 0x800;
|
|
|
|
thread_param.option = 0;
|
|
|
|
thread_param.entry = (void*)Thread_Server;
|
2020-08-26 01:21:33 -04:00
|
|
|
strcpy(thread_param.name, "Server"); // added
|
2020-08-22 22:30:12 -04:00
|
|
|
auto thread_server = CreateThread(&thread_param);
|
2020-08-26 01:21:33 -04:00
|
|
|
if (thread_server <= 0) {
|
2020-08-22 22:30:12 -04:00
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2020-08-26 01:21:33 -04:00
|
|
|
// thread_param.attr = TH_C;
|
|
|
|
// thread_param.initPriority = 96;
|
|
|
|
// thread_param.stackSize = 0x800;
|
|
|
|
// thread_param.option = 0;
|
|
|
|
// thread_param.entry = Thread_Player;
|
|
|
|
// auto thread_player = CreateThread(&thread_param);
|
|
|
|
// if(thread_player <= 0) {
|
|
|
|
// return 1;
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// thread_param.attr = TH_C;
|
|
|
|
// thread_param.initPriority = 99;
|
|
|
|
// thread_param.stackSize = 0x1000;
|
|
|
|
// thread_param.option = 0;
|
|
|
|
// thread_param.entry = Thread_Loader;
|
|
|
|
// auto thread_loader = CreateThread(&thread_param);
|
|
|
|
// if(thread_loader <= 0) {
|
|
|
|
// return 1;
|
|
|
|
// }
|
2020-08-22 22:30:12 -04:00
|
|
|
|
|
|
|
InitISOFS(argv[1], argv[2]);
|
|
|
|
StartThread(thread_server, 0);
|
|
|
|
|
2020-08-26 01:21:33 -04:00
|
|
|
// StartThread(thread_player, 0);
|
|
|
|
// StartThread(thread_loader, 0);
|
2020-08-22 22:30:12 -04:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*!
|
|
|
|
* Loop endlessly and never return.
|
|
|
|
*/
|
|
|
|
void ExitIOP() {
|
2020-08-26 01:21:33 -04:00
|
|
|
while (true) {
|
2020-08-22 22:30:12 -04:00
|
|
|
}
|
|
|
|
}
|