Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve hard disk and DVD image handling #15

Open
StrikerX3 opened this issue Dec 10, 2018 · 0 comments
Open

Improve hard disk and DVD image handling #15

StrikerX3 opened this issue Dec 10, 2018 · 0 comments
Labels
enhancement New feature or request

Comments

@StrikerX3
Copy link
Owner

StrikerX3 commented Dec 10, 2018

The current image loaders are very basic. They rely on the C file management functions (fopen, fread, ftell, etc.), have no caching mechanism, don't implement write-on-copy as advertised, have poor performance, and so on. They also only support raw hard disk images and game discs in the XISO format.

The current implementations live in core/strikebox/hw/ata/drvs/drv_vhd_image.(cpp|h) and core/strikebox/hw/ata/drvs/drv_vdvd_image.(cpp|h).

For this issue, the goal is to:

  • Create an abstraction for image loaders in order to support different formats, such as QEMU's QCOW2 format and other popular formats, perhaps even a custom format that embeds media information if that turns out to be necessary, and virtual disks/DVDs that directly access host folders;
  • Improve performance by using platform-specific features such as memory mapped files; and
  • Pave the way for new features such as the ability to read audio CDs or video DVDs in the emulator.

It may be necessary to implement new ATA/ATAPI/SCSI commands to support these features. Refer to the following specifications and manuals:

@StrikerX3 StrikerX3 added the enhancement New feature or request label Dec 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant