ReactOS  0.4.14-dev-608-gd495a4f
dskbios32.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BIOS_DISK_INTERRUPT   0x13
 

Functions

VOID DiskBios32Post (VOID)
 
BOOLEAN DiskBios32Initialize (VOID)
 
VOID DiskBios32Cleanup (VOID)
 

Macro Definition Documentation

◆ BIOS_DISK_INTERRUPT

#define BIOS_DISK_INTERRUPT   0x13

Definition at line 14 of file dskbios32.h.

Function Documentation

◆ DiskBios32Cleanup()

VOID DiskBios32Cleanup ( VOID  )

Definition at line 701 of file dskbios32.c.

702 {
703 }

Referenced by Bios32Cleanup().

◆ DiskBios32Initialize()

BOOLEAN DiskBios32Initialize ( VOID  )

Definition at line 674 of file dskbios32.c.

675 {
676  /*
677  * Initialize BIOS Disk ROM static data
678  */
679 
680  /* Floppy Parameter Table */
684 
685  //
686  // FIXME: Must be done by HW floppy controller!
687  //
688 
689  /* Detect and initialize the supported disks */
690  // TODO: the "Detect" part is missing.
697 
698  return TRUE;
699 }
#define TRUE
Definition: types.h:120
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
static PDISK_IMAGE HardDrive[4]
Definition: dskbios32.c:37
#define SEG_OFF_TO_PTR(seg, off)
Definition: emulator.h:28
static const FLOPPY_PARAM_TABLE_EX FloppyParamTable
Definition: dskbios32.c:78
static PDISK_IMAGE FloppyDrive[2]
Definition: dskbios32.c:36
FLOPPY_PARAM_TABLE FloppyParamTable
Definition: dskbios32.c:59
PDISK_IMAGE RetrieveDisk(IN DISK_TYPE DiskType, IN ULONG DiskNumber)
Definition: disk.c:485
Definition: disk.h:45
#define BIOS_SEGMENT
Definition: bios.h:29

Referenced by Bios32Initialize().

◆ DiskBios32Post()

VOID DiskBios32Post ( VOID  )

Definition at line 647 of file dskbios32.c.

648 {
649  /*
650  * Initialize BIOS Disk RAM dynamic data
651  */
652 
653  /* Some vectors are in fact addresses to tables */
654  // Diskette Parameters
655  ((PULONG)BaseAddress)[0x1E] = MAKELONG(0xEFC7, BIOS_SEGMENT);
656  // Hard Disk 0 Parameter Table Address
657  ((PULONG)BaseAddress)[0x41] = NULL32;
658  // Hard Disk 1 Drive Parameter Table Address
659  ((PULONG)BaseAddress)[0x46] = NULL32;
660 
661  /* Relocated services by the BIOS (when needed) */
662  ((PULONG)BaseAddress)[0x40] = NULL32; // ROM BIOS Diskette Handler relocated by Hard Disk BIOS
663  // RegisterBiosInt32(0x40, NULL); // ROM BIOS Diskette Handler relocated by Hard Disk BIOS
664 
665  /* Register the BIOS 32-bit Interrupts */
667 
668  /* Initialize the BDA */
669  // Bda->LastDisketteOperation = 0;
670  // Bda->LastDiskOperation = 0;
671  AllDisksReset();
672 }
#define RegisterBiosInt32(IntNumber, IntHandler)
Definition: bios32p.h:34
#define MAKELONG(a, b)
Definition: typedefs.h:248
static VOID AllDisksReset(VOID)
Definition: dskbios32.c:157
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
Definition: mmfuncs.h:404
#define NULL32
Definition: ntvdm.h:70
#define BIOS_DISK_INTERRUPT
Definition: dskbios32.h:14
unsigned int * PULONG
Definition: retypes.h:1
VOID WINAPI BiosDiskService(LPWORD Stack)
Definition: dskbios32.c:164
#define BIOS_SEGMENT
Definition: bios.h:29

Referenced by Bios32Post().