PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
accore-entry.c
1/*
2# _____ ___ ____ ___ ____
3# ____| | ____| | | |____|
4# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5#-----------------------------------------------------------------------
6# Copyright ps2dev - http://www.ps2dev.org
7# Licenced under Academic Free License version 2.0
8# Review ps2sdk README & LICENSE files for further details.
9*/
10
11#include "accore_internal.h"
12
13#define MODNAME "Arcade_Core"
14IRX_ID(MODNAME, 1, 1);
15// Text section hash:
16// cf99d72936452b3070371cc2c3cbe883
17// Known titles:
18// NM00004
19// NM00005
20// NM00006
21// NM00008
22// Path strings:
23// /home/ueda/tmp/psalm-0.1.3/core-iop-0.1.6/src/
24// /home/ueda/tmp/psalm-0.1.3/core-hdr-0.1.3/src/util/
25// TODO: diff with module text hash 10cd5c69591445ffdde8468d75dd031b
26
27extern struct irx_export_table _exp_accore;
28
29#define acCoreEntry _start
30
31int acCoreEntry(int argc, char **argv)
32{
33 unsigned int v4;
34 acCoreInit *v5;
35 int ret_v4;
36 acCoreInit inits[3];
37
38 v4 = 0;
39 v5 = inits;
40 inits[0] = acDev9ModuleStart;
41 inits[1] = acIntrModuleStart;
42 inits[2] = acDmaModuleStart;
43 while ( 1 )
44 {
45 int ret;
46 int v7;
47
48 ret = (*v5)(argc, argv);
49 v7 = ret;
50 if ( ret < 0 )
51 {
52 printf("accore:init_start:%d: error %d\n", (int)v4, ret);
53 ret_v4 = v7;
54 break;
55 }
56 ++v4;
57 ++v5;
58 if ( v4 >= 3 )
59 {
60 ret_v4 = 0;
61 break;
62 }
63 }
64 if ( ret_v4 < 0 )
65 {
66 return ret_v4;
67 }
68 if ( RegisterLibraryEntries(&_exp_accore) != 0 )
69 return -16;
70 return 0;
71}