Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
987123879113 committed Nov 7, 2024
1 parent ffd39cd commit f6014f6
Show file tree
Hide file tree
Showing 6 changed files with 996 additions and 101 deletions.
1 change: 0 additions & 1 deletion roms/dir.txt

This file was deleted.

32 changes: 30 additions & 2 deletions src/devices/imagedev/cdromimg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,13 @@ uint32_t cdrom_image_device::get_track_start(uint32_t track) const
return 0;
}

uint32_t cdrom_image_device::get_adr_control_frame(uint32_t frame) const
{
if (m_cdrom_handle)
return m_cdrom_handle->get_adr_control_frame(frame);
return 0;
}

bool cdrom_image_device::read_data(uint32_t lbasector, void *buffer, uint32_t datatype, bool phys)
{
if (m_cdrom_handle)
Expand All @@ -237,10 +244,17 @@ bool cdrom_image_device::read_data(uint32_t lbasector, void *buffer, uint32_t da
return 0;
}

bool cdrom_image_device::read_subcode(uint32_t lbasector, void *buffer, bool phys)
bool cdrom_image_device::read_subcode(uint32_t lbasector, void *buffer, bool phys, bool uninterlaced)
{
if (m_cdrom_handle)
return m_cdrom_handle->read_subcode(lbasector, buffer, phys, uninterlaced);
return 0;
}

bool cdrom_image_device::read_subcode_channel_raw(uint32_t lbasector, void *buffer, uint32_t subchan)
{
if (m_cdrom_handle)
return m_cdrom_handle->read_subcode(lbasector, buffer, phys);
return m_cdrom_handle->read_subcode_channel_raw(lbasector, buffer, subchan);
return 0;
}

Expand All @@ -266,6 +280,20 @@ int cdrom_image_device::get_track_type(int track) const
return 0;
}

uint32_t cdrom_image_device::get_absolute_msf(uint32_t frame) const
{
if (m_cdrom_handle)
return m_cdrom_handle->get_absolute_msf(frame);
return 0;
}

uint32_t cdrom_image_device::get_relative_msf(uint32_t frame) const
{
if (m_cdrom_handle)
return m_cdrom_handle->get_relative_msf(frame);
return 0;
}

bool cdrom_image_device::is_cd() const
{
return m_cdrom_handle != nullptr;
Expand Down
7 changes: 6 additions & 1 deletion src/devices/imagedev/cdromimg.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,17 @@ class cdrom_image_device : public device_t,
uint32_t get_track(uint32_t frame) const;
uint32_t get_track_index(uint32_t frame) const;
uint32_t get_track_start(uint32_t track) const;
uint32_t get_adr_control_frame(uint32_t frame) const;
bool read_data(uint32_t lbasector, void *buffer, uint32_t datatype, bool phys=false);
bool read_subcode(uint32_t lbasector, void *buffer, bool phys=false);
bool read_subcode(uint32_t lbasector, void *buffer, bool phys=false, bool uninterlaced=false);
bool read_subcode_channel_raw(uint32_t lbasector, void *buffer, uint32_t subchan);
int get_adr_control(int track) const;
const cdrom_file::toc &get_toc() const;
int get_track_type(int track) const;

uint32_t get_absolute_msf(uint32_t frame) const;
uint32_t get_relative_msf(uint32_t frame) const;

bool is_cd() const;
bool is_gd() const;
bool is_dvd() const;
Expand Down
Loading

0 comments on commit f6014f6

Please sign in to comment.