71#define FLOPPY_SIZE_CODE 0x02
72#define FLOPPY_DATALEN 0xFF
73#define FLOPPY_MOTOR_TICKS 37
74#define FLOPPY_FILLBYTE 0xF6
75#define FLOPPY_GAPLEN 0x1B
76#define FLOPPY_FORMAT_GAPLEN 0x6C
132 if (DiskNumber & 0x80)
138 DPRINT1(
"GetDisk: HDD number 0x%02X invalid\n", DiskNumber | 0x80);
148 DPRINT1(
"GetDisk: Floppy number 0x%02X invalid\n", DiskNumber);
190 DPRINT1(
"BiosDiskService(0x00): Drive number 0x%02X invalid\n",
Drive);
209 BYTE LastOperationStatus = 0x00;
215 DPRINT1(
"BiosDiskService(0x01): Disk number 0x%02X invalid\n",
Drive);
231 setAH(LastOperationStatus);
232 if (LastOperationStatus == 0x00)
258 DPRINT1(
"BiosDiskService(0x02): Disk number 0x%02X invalid\n",
Drive);
276 DPRINT1(
"BiosDiskService(0x02): Error when reading from disk number 0x%02X (0x%02X)\n",
Drive,
Status);
304 DPRINT1(
"BiosDiskService(0x03): Disk number 0x%02X invalid\n",
Drive);
322 DPRINT1(
"BiosDiskService(0x03): Error when writing to disk number 0x%02X (0x%02X)\n",
Drive,
Status);
350 BYTE PresentDrives = 0;
357 DPRINT1(
"BiosDiskService(0x08): Disk number 0x%02X invalid\n",
Drive);
375 ((
HIBYTE(MaxCylinders) & 0x02) << 6));
410 setDL(PresentDrives);
447 DPRINT1(
"BiosDiskService(0x0C): Disk number 0x%02X is not a HDD\n",
Drive);
458 DPRINT1(
"BiosDiskService(0x0C): Disk number 0x%02X invalid\n",
Drive);
476 DPRINT1(
"BiosDiskService(0x0C): Error when seeking in disk number 0x%02X (0x%02X)\n",
Drive,
Status);
506 DPRINT1(
"BiosDiskService(0x10): Disk number 0x%02X is not a HDD\n",
Drive);
517 DPRINT1(
"BiosDiskService(0x10): Disk number 0x%02X invalid\n",
Drive);
539 DPRINT1(
"BiosDiskService(0x11): Disk number 0x%02X is not a HDD\n",
Drive);
550 DPRINT1(
"BiosDiskService(0x11): Disk number 0x%02X invalid\n",
Drive);
568 DPRINT1(
"BiosDiskService(0x11): Error when recalibrating disk number 0x%02X (0x%02X)\n",
Drive,
Status);
595 DPRINT1(
"BiosDiskService(0x15): Disk number 0x%02X invalid\n",
Drive);
639 DPRINT1(
"BIOS Function INT 13h, AH = 0x%02X, AL = 0x%02X, BH = 0x%02X NOT IMPLEMENTED\n",
#define RegisterBiosInt32(IntNumber, IntHandler)
static VOID AllDisksReset(VOID)
struct _FLOPPY_PARAM_TABLE * PFLOPPY_PARAM_TABLE
VOID DiskBios32Post(VOID)
#define FLOPPY_FORMAT_GAPLEN
static PDISK_IMAGE GetDisk(IN BYTE DiskNumber)
struct _FLOPPY_PARAM_TABLE_EX FLOPPY_PARAM_TABLE_EX
#define FLOPPY_MOTOR_TICKS
static PDISK_IMAGE HardDrive[4]
BOOLEAN DiskBios32Initialize(VOID)
struct _FLOPPY_PARAM_TABLE_EX * PFLOPPY_PARAM_TABLE_EX
struct _HARDDISK_PARAM_TABLE * PHARDDISK_PARAM_TABLE
static PDISK_IMAGE FloppyDrive[2]
VOID DiskBios32Cleanup(VOID)
VOID WINAPI BiosDiskService(LPWORD Stack)
struct _FLOPPY_PARAM_TABLE FLOPPY_PARAM_TABLE
static const FLOPPY_PARAM_TABLE_EX FloppyParamTable
struct _HARDDISK_PARAM_TABLE HARDDISK_PARAM_TABLE
#define BIOS_DISK_INTERRUPT
#define SEG_OFF_TO_PTR(seg, off)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
BYTE LastDisketteOperation
FLOPPY_PARAM_TABLE FloppyParamTable
BYTE ReadDisk(IN PDISK_IMAGE DiskImage, IN WORD Cylinder, IN BYTE Head, IN BYTE Sector, IN BYTE NumSectors)
BOOLEAN IsDiskPresent(IN PDISK_IMAGE DiskImage)
BYTE WriteDisk(IN PDISK_IMAGE DiskImage, IN WORD Cylinder, IN BYTE Head, IN BYTE Sector, IN BYTE NumSectors)
BYTE SeekDisk(IN PDISK_IMAGE DiskImage, IN WORD Cylinder, IN BYTE Head, IN BYTE Sector)
PDISK_IMAGE RetrieveDisk(IN DISK_TYPE DiskType, IN ULONG DiskNumber)
#define RtlCopyMemory(Destination, Source, Length)
VOID WINAPI setCX(USHORT)
VOID WINAPI setDX(USHORT)
VOID WINAPI setES(USHORT)
VOID WINAPI setDI(USHORT)
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack