PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
main.c
1#include <bdm.h>
2#include <intrman.h>
3#include <irx.h>
4#include <loadcore.h>
5#include <stdio.h>
6#include <sysmem.h>
7
8#include "fat_driver.h"
9
10// #define DEBUG //comment out this line when not debugging
11#include "mass_debug.h"
12
13#define MAJOR_VER 1
14#define MINOR_VER 1
15
16IRX_ID("bdmvfat", MAJOR_VER, MINOR_VER);
17
18extern int InitFAT(void);
19extern int InitFS(void);
20
21static struct file_system g_fs = {
22 .priv = NULL,
23 .name = "vfat",
24 .connect_bd = fat_mount,
25 .disconnect_bd = fat_forceUnmount,
26};
27
28int _start(int argc, char *argv[])
29{
30 (void)argc;
31 (void)argv;
32
33 printf("BDM VFAT driver (FAT12/16/32) v%d.%d\n", MAJOR_VER, MINOR_VER);
34
35 // initialize the FAT driver
36 if (InitFAT() != 0) {
37 M_DEBUG("Error initializing FAT driver!\n");
38 return MODULE_NO_RESIDENT_END;
39 }
40
41 // initialize the file system driver
42 if (InitFS() != 0) {
43 M_DEBUG("Error initializing FS driver!\n");
44 return MODULE_NO_RESIDENT_END;
45 }
46
47 // Connect to block device manager
48 bdm_connect_fs(&g_fs);
49
50 // return resident
51 return MODULE_RESIDENT_END;
52}
53
54void *malloc(int size)
55{
56 void *result;
57 int OldState;
58
59 CpuSuspendIntr(&OldState);
60 result = AllocSysMemory(ALLOC_FIRST, size, NULL);
61 CpuResumeIntr(OldState);
62
63 return result;
64}
65
66void free(void *ptr)
67{
68 int OldState;
69
70 CpuSuspendIntr(&OldState);
71 FreeSysMemory(ptr);
72 CpuResumeIntr(OldState);
73}
int CpuResumeIntr(int state)
Definition intrman.c:227
int CpuSuspendIntr(int *state)
Definition intrman.c:205