Fix crash when changing floppies mounted by drive numbers on a booted guest

This commit is contained in:
maron2000 2024-10-25 21:30:50 +09:00
parent bbc7a9ca4c
commit 34b1a16b6d

View File

@ -58,6 +58,7 @@ extern bool CodePageGuestToHostUTF16(uint16_t *d/*CROSS_LEN*/,const char *s/*CRO
extern bool CodePageHostToGuestUTF16(char *d/*CROSS_LEN*/,const uint16_t *s/*CROSS_LEN*/);
extern bool wild_match(const char* haystack, char* needle);
bool systemmessagebox(char const * aTitle, char const * aMessage, char const * aDialogType, char const * aIconType, int aDefaultButton);
extern bool dos_kernel_disabled;
int PC98AutoChoose_FAT(const std::vector<_PC98RawPartition> &parts,imageDisk *loadedDisk) {
for (size_t i=0;i < parts.size();i++) {
@ -1343,7 +1344,7 @@ fatDrive::fatDrive(const char* sysFilename, uint32_t bytesector, uint32_t cylsec
uint32_t filesize;
unsigned char bootcode[256];
if(imgDTASeg == 0) {
if(!dos_kernel_disabled && imgDTASeg == 0) {
imgDTASeg = DOS_GetMemory(4,"imgDTASeg");
imgDTAPtr = RealMake(imgDTASeg, 0);
imgDTA = new DOS_DTA(imgDTAPtr);