12#include <irx_imports.h>
14#define MODNAME "JV_loader"
39typedef char *(*jvld_strop_t)(
char *name);
41static char *jvld_path(
char *name);
42static char *jvld_basename(
char *name);
44static jvld_strop_t ops_8[2] = {&jvld_path, &jvld_basename};
45static char buf_13[8192];
47static char *jvld_path(
char *name)
51 str = strchr(name,
':');
57static char *jvld_basename(
char *name)
65 str = strchr(name,
':');
69 str_v4 = strrchr(str_v3,
'/');
72 str_v6 = strrchr(str_v3,
'\\');
84#define acJvLoader _start
86int acJvLoader(
int argc,
char **argv)
102 if ( jvld_path(name) == name )
109 if ( fd < 0 && prog )
114 while ( (
unsigned int)index < 2 )
120 v9 = (
char *)op(prog);
123 memcpy(buf_13, prog, v9 - prog);
124 strcpy(&buf_13[v9 - prog], op(name));
125 fd = open(buf_13, 1);
135 printf(
"acjvld:open: error %d\n", fd);
140 volatile acUint16 *ret_v10;
143 *((
volatile acUint16 *)0xB2416000) = 0;
144 ret_v10 = (
volatile acUint16 *)0xB2400000;
149 const unsigned char *ptr;
152 c448 = read(fd, buf_13, 0x2000);
155 ptr = (
unsigned char *)buf_13;
158 while ( ret_v15 >= 0 )
164 if ( sent != lseek(fd, 0, 2) )