Revert "Revert "misc: get rid of an unaligned read""
[pcsx_rearmed.git] / libpcsxcore / cdrom.h
index 5d7c358..216a213 100644 (file)
@@ -41,6 +41,9 @@ extern "C" {
 
 #define SUB_FRAMESIZE                  96
 
+#define MIN_VALUE(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
+#define MAX_VALUE(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a > _b ? _a : _b; })
+
 typedef struct {
        unsigned char OCUP;
        unsigned char Reg1Mode;
@@ -59,7 +62,8 @@ typedef struct {
                unsigned char Absolute[3];
        } subq;
        unsigned char TrackChanged;
-       unsigned char pad1[3];
+       boolean m_locationChanged;
+       unsigned char pad1[2];
        unsigned int  freeze_ver;
 
        unsigned char Prev[4];
@@ -73,19 +77,20 @@ typedef struct {
        unsigned char ResultReady;
        unsigned char Cmd;
        unsigned char Readed;
+       unsigned char SetlocPending;
        u32 Reading;
 
        unsigned char ResultTN[6];
        unsigned char ResultTD[4];
-       unsigned char SetSector[4];
-       unsigned char SetSectorEnd[4];
        unsigned char SetSectorPlay[4];
+       unsigned char SetSectorEnd[4];
+       unsigned char SetSector[4];
        unsigned char Track;
        boolean Play, Muted;
        int CurTrack;
        int Mode, File, Channel;
        int Reset;
-       int RErr;
+       int NoErr;
        int FirstSector;
 
        xa_decode_t Xa;