diff --git a/src/dos/cdrom.h b/src/dos/cdrom.h index c1219c7a..4ac398af 100644 --- a/src/dos/cdrom.h +++ b/src/dos/cdrom.h @@ -54,6 +54,25 @@ typedef struct SCtrl { Bit8u vol[4]; // channel volume } TCtrl; +// Conversion function from frames to Minutes/Second/Frames +// +template +inline void frames_to_msf(int frames, T *m, T *s, T *f) { + const int cd_fps = 75; + *f = frames % cd_fps; + frames /= cd_fps; + *s = frames % 60; + frames /= 60; + *m = frames; +} + +// Conversion function from Minutes/Second/Frames to frames +// +inline int msf_to_frames(int m, int s, int f) { + const int cd_fps = 75; + return m * 60 * cd_fps + s * cd_fps + f; +} + extern int CDROM_GetMountType(char* path, int force); class CDROM_Interface