Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/psx/mednadisc/cdrom/CDAccess_Physical.h
2 views
1
#ifndef __MDFN_CDACCESS_PHYSICAL_H
2
#define __MDFN_CDACCESS_PHYSICAL_H
3
4
//
5
// This class's methods are NOT re-entrant!
6
//
7
8
// Don't include <cdio.h> here, else it will pollute with its #define's.
9
10
class CDAccess_Physical : public CDAccess
11
{
12
public:
13
14
CDAccess_Physical(const std::string& path);
15
virtual ~CDAccess_Physical();
16
17
virtual void Read_Raw_Sector(uint8 *buf, int32 lba);
18
19
virtual void Read_TOC(CDUtility::TOC *toc);
20
21
virtual bool Is_Physical(void) throw();
22
23
virtual void Eject(bool eject_status);
24
private:
25
26
void *p_cdio;
27
28
void DetermineFeatures(void);
29
void ReadPhysDiscInfo(unsigned retry);
30
31
void PreventAllowMediumRemoval(bool prevent);
32
33
CDUtility::TOC PhysTOC;
34
35
// TODO: 1-bit per sector on the physical CD. If set, don't read that sector.
36
uint8 SkipSectorRead[65536];
37
};
38
39
#endif
40
41