Flexible Disk support

This commit is contained in:
David Kuder 2022-06-11 11:09:01 -04:00
parent b8580bd4e6
commit 4f4a9b1a33
2 changed files with 14 additions and 0 deletions

View File

@ -409,6 +409,19 @@ void ModeSenseCommandHandler()
m_responsebuffer[len + 3] = bc >> 8;
m_responsebuffer[len + 4] = bc;
m_responsebuffer[len + 5] = 1; //Number of heads
}
len += 24;
break;
case MODEPAGE_FLEXIBLE_GEOMETRY:
{
m_responsebuffer[len + 0] = MODEPAGE_FLEXIBLE_GEOMETRY; //Page code
m_responsebuffer[len + 1] = 0x1E; // Page length
m_responsebuffer[len + 2] = 0x03; // Transfer rate 1mbit/s (MSB)
m_responsebuffer[len + 3] = 0xE8; // Transfer rate 1mbit/s (LSB)
m_responsebuffer[len + 4] = 16; // Number of heads
m_responsebuffer[len + 5] = 18; // Sectors per track
m_responsebuffer[len + 6] = 0x20; // Data bytes per sector (MSB)
m_responsebuffer[len + 6] = 0x00; // Data bytes per sector (LSB)
len += 24;
}
break;

View File

@ -7,6 +7,7 @@
#define MODEPAGE_DCRC_PARAMETERS 0x02
#define MODEPAGE_FORMAT_PARAMETERS 0x03
#define MODEPAGE_RIGID_GEOMETRY 0x04
#define MODEPAGE_FLEXIBLE_GEOMETRY 0x05
#define MODEPAGE_APPLE 0x30
#define MODEPAGE_ALL_PAGES 0x3F