OXYGENHUB
◆ main openmsx / src / fdc / RamDSKDiskImage.cc
709 B · C++ · last changed chore(): initial commit 1 month ago source blame history raw
e8555c89 Andy McCall 1
#include "RamDSKDiskImage.hh"
2
3
#include "DiskImageUtils.hh"
4
5
#include "ranges.hh"
6
7
namespace openmsx {
8
9
RamDSKDiskImage::RamDSKDiskImage(size_t size)
10
	: SectorBasedDisk(DiskName(Filename(), "ramdsk"))
11
	, data(size / sizeof(SectorBuffer))
12
{
13
	setNbSectors(size / sizeof(SectorBuffer));
14
15
	DiskImageUtils::format(*this, MSXBootSectorType::DOS2);
16
}
17
18
void RamDSKDiskImage::readSectorsImpl(
19
	std::span<SectorBuffer> buffers, size_t startSector)
20
{
21
	copy_to_range(data.subspan(startSector, buffers.size()), buffers);
22
}
23
24
void RamDSKDiskImage::writeSectorImpl(size_t sector, const SectorBuffer& buf)
25
{
26
	data[sector] = buf;
27
}
28
29
bool RamDSKDiskImage::isWriteProtectedImpl() const
30
{
31
	return false;
32
}
33
34
} // namespace openmsx