fixed up qdatastream usage. use writeRawData() when creating hdd images. specify littleendian when creating floppy images
This commit is contained in:
@@ -371,12 +371,12 @@ void HarddiskDialog::onCreateNewFile() {
|
||||
uint64_t restBlock = size & 0xfffff;
|
||||
|
||||
if (restBlock) {
|
||||
stream << QByteArray::fromRawData(buf.data(), restBlock);
|
||||
stream.writeRawData(buf.data(), restBlock);
|
||||
}
|
||||
|
||||
if (mibBlocks) {
|
||||
for (uint64_t i = 0; i < mibBlocks; ++i) {
|
||||
stream << buf;
|
||||
stream.writeRawData(buf.data(), buf.size());
|
||||
emit fileProgress(static_cast<int>((i * 100) / mibBlocks));
|
||||
}
|
||||
}
|
||||
|
@@ -271,6 +271,7 @@ bool NewFloppyDialog::create86f(const QString& filename, const disk_size_t& disk
|
||||
return false;
|
||||
}
|
||||
QDataStream stream(&file);
|
||||
stream.setByteOrder(QDataStream::LittleEndian);
|
||||
|
||||
stream << magic;
|
||||
stream << version;
|
||||
@@ -314,6 +315,7 @@ bool NewFloppyDialog::createSectorImage(const QString &filename, const disk_size
|
||||
return false;
|
||||
}
|
||||
QDataStream stream(&file);
|
||||
stream.setByteOrder(QDataStream::LittleEndian);
|
||||
|
||||
sector_bytes = (128 << disk_size.sector_len);
|
||||
total_sectors = disk_size.sides * disk_size.tracks * disk_size.sectors;
|
||||
@@ -411,6 +413,7 @@ bool NewFloppyDialog::createZipSectorImage(const QString &filename, const disk_s
|
||||
return false;
|
||||
}
|
||||
QDataStream stream(&file);
|
||||
stream.setByteOrder(QDataStream::LittleEndian);
|
||||
|
||||
sector_bytes = (128 << disk_size.sector_len);
|
||||
total_sectors = disk_size.sides * disk_size.tracks * disk_size.sectors;
|
||||
@@ -599,6 +602,7 @@ bool NewFloppyDialog::createMoSectorImage(const QString& filename, int8_t disk_s
|
||||
return false;
|
||||
}
|
||||
QDataStream stream(&file);
|
||||
stream.setByteOrder(QDataStream::LittleEndian);
|
||||
|
||||
sector_bytes = dp->bytes_per_sector;
|
||||
total_sectors = dp->sectors;
|
||||
|
Reference in New Issue
Block a user