2022-10-09 05:13:17 +00:00
|
|
|
#ifndef _DOLPHIN_DVDPRIV
|
|
|
|
#define _DOLPHIN_DVDPRIV
|
2022-09-16 01:17:42 +00:00
|
|
|
|
|
|
|
#include <dolphin/dvd.h>
|
2023-01-13 18:32:40 +00:00
|
|
|
#include <dolphin/dvd_regs.h>
|
2022-09-16 01:17:42 +00:00
|
|
|
#include <types.h>
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef struct DVDDriveInfo {
|
|
|
|
u16 revisionLevel;
|
|
|
|
u16 deviceCode;
|
|
|
|
u32 releaseDate;
|
|
|
|
u8 padding[24];
|
|
|
|
} DVDDriveInfo;
|
|
|
|
|
|
|
|
typedef struct DVDBB1 {
|
|
|
|
u32 appLoaderLength;
|
|
|
|
void* appLoaderFunc1;
|
|
|
|
void* appLoaderFunc2;
|
|
|
|
void* appLoaderFunc3;
|
|
|
|
} DVDBB1;
|
|
|
|
|
|
|
|
typedef struct DVDBB2 {
|
|
|
|
u32 bootFilePosition;
|
|
|
|
u32 FSTPosition;
|
|
|
|
u32 FSTLength;
|
|
|
|
u32 FSTMaxLength;
|
|
|
|
void* FSTAddress;
|
|
|
|
u32 userPosition;
|
|
|
|
u32 userLength;
|
|
|
|
|
|
|
|
u32 padding0;
|
|
|
|
} DVDBB2;
|
|
|
|
|
|
|
|
typedef void (*DVDOptionalCommandChecker)(DVDCommandBlock* block, void (*cb)(u32 intType));
|
|
|
|
typedef void (*DVDLowCallback)(u32 intType);
|
2023-01-13 18:32:40 +00:00
|
|
|
|
2022-09-16 01:17:42 +00:00
|
|
|
DVDLowCallback DVDLowClearCallback();
|
2023-02-05 19:12:16 +00:00
|
|
|
BOOL DVDLowSeek(u32 offset, DVDLowCallback callback);
|
2023-01-13 18:32:40 +00:00
|
|
|
|
|
|
|
void __DVDLowSetWAType(u32 type, u32 location);
|
|
|
|
DVDCommandBlock* __DVDPopWaitingQueue();
|
2022-09-16 01:17:42 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _DOLPHIN_DVDPRIV
|
2022-09-16 01:17:42 +00:00
|
|
|
|
|
|
|
#endif __DVDPRIV_H__
|