Make sure that floppy icons and options do not appear if there's no floppy controller available

This commit is contained in:
Cacodemon345
2025-04-02 01:10:21 +06:00
parent b644016d1e
commit 5e61b78b78
2 changed files with 11 additions and 0 deletions

View File

@@ -79,6 +79,8 @@ int floppyrate[4];
int fdc_current[FDC_MAX] = { 0, 0 }; int fdc_current[FDC_MAX] = { 0, 0 };
volatile int fdcinited = 0;
#ifdef ENABLE_FDC_LOG #ifdef ENABLE_FDC_LOG
int fdc_do_log = ENABLE_FDC_LOG; int fdc_do_log = ENABLE_FDC_LOG;
@@ -2337,6 +2339,8 @@ fdc_close(void *priv)
fifo_close(fdc->fifo_p); fifo_close(fdc->fifo_p);
fdcinited = 0;
free(fdc); free(fdc);
} }
@@ -2382,6 +2386,8 @@ fdc_init(const device_t *info)
fdc_reset(fdc); fdc_reset(fdc);
fdcinited = 1;
return fdc; return fdc;
} }

View File

@@ -40,6 +40,8 @@ extern "C" {
#include <86box/ui.h> #include <86box/ui.h>
#include <86box/machine_status.h> #include <86box/machine_status.h>
#include <86box/config.h> #include <86box/config.h>
extern volatile int fdcinited;
}; };
#include <QIcon> #include <QIcon>
@@ -303,6 +305,9 @@ MachineStatus::hasSCSI()
void void
MachineStatus::iterateFDD(const std::function<void(int)> &cb) MachineStatus::iterateFDD(const std::function<void(int)> &cb)
{ {
if (!fdcinited)
return;
for (int i = 0; i < FDD_NUM; ++i) { for (int i = 0; i < FDD_NUM; ++i) {
if (fdd_get_type(i) != 0) { if (fdd_get_type(i) != 0) {
cb(i); cb(i);