This commit is contained in:
Wengier
2021-11-16 17:25:04 -05:00
parent 6b55adcd5e
commit 861138418d
2 changed files with 12 additions and 6 deletions

View File

@@ -76,8 +76,8 @@
- Fixed possible crash with printing. (jamesbond3142)
- Fixed possible freeze when shutting down Windows 9x
after changing a CD image from the menu. (Wengier)
- Fixed linebreaks when copying text from a DBCS code
page in the TTF output. (Wengier)
- Fixed missing line breaks while copying text from a
DBCS code page in the TTF output. (Wengier)
- Fixed TTF color issue with some DOS GUI programs by
initializing the color scheme when with default
COLORS= setting in EGA or VGA mode. (Wengier)

View File

@@ -73,9 +73,11 @@ int PC98AutoChoose_FAT(const std::vector<_PC98RawPartition> &parts,imageDisk *lo
}
int MBRAutoChoose_FAT(const std::vector<partTable::partentry_t> &parts,imageDisk *loadedDisk,uint8_t use_ver_maj=0,uint8_t use_ver_min=0) {
if (use_ver_maj == 0 || use_ver_min == 0) {
bool prompt1 = false, prompt2 = false;
if (use_ver_maj == 0 && use_ver_min == 0) {
use_ver_maj = dos.version.major;
use_ver_min = dos.version.minor;
prompt1 = prompt2 = true;
}
for (size_t i=0;i < parts.size();i++) {
@@ -90,22 +92,26 @@ int MBRAutoChoose_FAT(const std::vector<partTable::partentry_t> &parts,imageDisk
return (int)i;
}
else if (pe.parttype == 0x0E/*FAT16B LBA*/) {
if (use_ver_maj < 7 && systemmessagebox("Mounting LBA disk image","Mounting this type of disk images requires a reported DOS version of 7.0 or higher. Do you want to change the reported DOS version to 7.0 now?","yesno", "question", 1)) {
if (use_ver_maj < 7 && prompt1 && systemmessagebox("Mounting LBA disk image","Mounting this type of disk images requires a reported DOS version of 7.0 or higher. Do you want to auto-change the reported DOS version to 7.0 now and mount the disk image?","yesno", "question", 1)) {
use_ver_maj = dos.version.major = 7;
use_ver_min = dos.version.minor = 0;
dos_ver_menu(false);
}
}
if (use_ver_maj >= 7) /* MS-DOS 7.0 or higher */
return (int)i;
else
prompt1 = false;
}
else if (pe.parttype == 0x0B || pe.parttype == 0x0C) { /* FAT32 types */
if ((use_ver_maj < 7 || ((use_ver_maj == 7 && use_ver_min < 10))) && systemmessagebox("Mounting FAT32 disk image","Mounting this type of disk images requires a reported DOS version of 7.10 or higher. Do you want to change the reported DOS version to 7.10 now?","yesno", "question", 1)) {
if ((use_ver_maj < 7 || ((use_ver_maj == 7 && use_ver_min < 10))) && prompt2 && systemmessagebox("Mounting FAT32 disk image","Mounting this type of disk images requires a reported DOS version of 7.10 or higher. Do you want to auto-change the reported DOS version to 7.10 now and mount the disk image?","yesno", "question", 1)) {
use_ver_maj = dos.version.major = 7;
use_ver_min = dos.version.minor = 10;
dos_ver_menu(true);
}
if (use_ver_maj > 7 || (use_ver_maj == 7 && use_ver_min >= 10)) /* MS-DOS 7.10 or higher */
return (int)i;
else
prompt2 = false;
}
}