diff options
| author | SND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-09-16 09:54:43 +0000 |
|---|---|---|
| committer | SND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-09-16 09:54:43 +0000 |
| commit | 35447c717d11a8fe6401f456737a14c95869cabc (patch) | |
| tree | e26fde24c36a1b4d96fe9924bde47c796e2b16f5 /libpcsxcore/ecm.h | |
| parent | de50d760fd03a7eed9a614a3d4a701f2097c88d9 (diff) | |
| download | pcsxr-35447c717d11a8fe6401f456737a14c95869cabc.tar.gz | |
ECM file support: mature enough so it can be now integrated with other platforms aswell.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@87188 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore/ecm.h')
| -rw-r--r-- | libpcsxcore/ecm.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/libpcsxcore/ecm.h b/libpcsxcore/ecm.h index 184382a7..d3cc218e 100644 --- a/libpcsxcore/ecm.h +++ b/libpcsxcore/ecm.h @@ -68,12 +68,24 @@ #define MAX(x, y) (((x) > (y)) ? (x) : (y)) #define ECM_HEADER_SIZE 4 -u32 len_decoded_ecm_buffer, len_ecm_savetable, lastsector; -u32 decoded_ecm_sectors = 0; // setting this to 1 makes whole ECM to be decoded in-memory + +u32 len_decoded_ecm_buffer=0; // same as decoded ECM file length or 2x size +u32 len_ecm_savetable=0; // same as sector count of decoded ECM file or 2x count + +#ifdef ENABLE_ECM_FULL //setting this makes whole ECM to be decoded in-memory meaning buffer could eat up to 700 MB of memory +u32 decoded_ecm_sectors=1; // initially sector 1 is always decoded +#else +u32 decoded_ecm_sectors=0; // disabled +#endif + +boolean ecm_file_detected = FALSE; +u32 prevsector; + FILE* decoded_ecm = NULL; void *decoded_ecm_buffer; -int (*cdimg_read_func_o)(FILE *f, unsigned int base, void *dest, int sector); +// Function that is used to read CD normally +int (*cdimg_read_func_o)(FILE *f, unsigned int base, void *dest, int sector) = NULL; typedef struct ECMFILELUT { s32 sector; |
