Added hidden options to be able to define your own device delay before loading ART...
[open-ps2-loader.git] / include / iosupport.h
blobad939cfcb5186b877d07691c9266cf1c00c63c73
1 #ifndef __IOSUPPORT_H
2 #define __IOSUPPORT_H
4 #include "include/config.h"
6 #define USB_MODE 0
7 #define ETH_MODE 1
8 #define HDD_MODE 2
9 #define APP_MODE 3
11 #define NO_EXCEPTION 0x00
12 #define UNMOUNT_EXCEPTION 0x01
14 #define NO_COMPAT 0x00 // no compat support
15 #define COMPAT 0x01 // default compatibility flags
16 #define COMPAT_FULL 0x02 // default + DMA compat flags
18 #define COMPAT_MODE_1 0x01 // Load alternate core
19 #define COMPAT_MODE_2 0x02 // Alternative data read method
20 #define COMPAT_MODE_3 0x04 // Unhook Syscalls
21 #define COMPAT_MODE_4 0x08 // 0 PSS mode
22 #define COMPAT_MODE_5 0x10 // Disable DVD-DL
23 #define COMPAT_MODE_6 0x20 // Disable IGR
24 #define COMPAT_MODE_7 0x40 // Reduced cdvdfsv buffer (UNUSED)
25 #define COMPAT_MODE_8 0x80 // Hide dev9 module
26 #define COMPAT_MODE_9 0x100 // Alternate IGR combo (UNUSED)
28 #define COMPAT_MODE_COUNT 8
30 // minimal inactive frames for cover display, can be pretty low since it means no button is pressed :)
31 #define MENU_MIN_INACTIVE_FRAMES 8
33 typedef struct
35 int mode;
37 int enabled;
39 int haveCompatibilityMode;
41 /// update in progress indicator
42 int uip;
44 /// max inactive frame delay
45 int delay;
47 /// item description
48 char* text;
50 /// item description in localised form (used if value is not negative)
51 int textId;
53 void (*itemInit)(void);
55 /** @return 1 if update is needed, 0 otherwise */
56 int (*itemNeedsUpdate)(void);
58 /** @return game count (0 on error) */
59 int (*itemUpdate)(void);
61 int (*itemGetCount)(void);
63 void* (*itemGet)(int id);
65 char* (*itemGetName)(int id);
67 int (*itemGetNameLength)(int id);
69 char* (*itemGetStartup)(int id);
71 void (*itemDelete)(int id);
73 void (*itemRename)(int id, char* newName);
75 void (*itemLaunch)(int id, config_set_t* configSet);
77 config_set_t* (*itemGetConfig)(int id);
79 int (*itemGetImage)(char* folder, int isRelative, char* value, char* suffix, GSTEXTURE* resultTex, short psm);
81 void (*itemCleanUp)(int exception);
83 #ifdef VMC
84 int (*itemCheckVMC)(char* name, int createSize);
85 #endif
87 int iconId;
88 } item_list_t;
90 #endif