[NTVDM]: We know that .h files are header files ;)
[reactos.git] / subsystems / ntvdm / emulator.h
index ea295ea..7627d6e 100644 (file)
@@ -2,7 +2,7 @@
  * COPYRIGHT:       GPL - See COPYING in the top level directory
  * PROJECT:         ReactOS Virtual DOS Machine
  * FILE:            emulator.h
- * PURPOSE:         Minimal x86 machine emulator for the VDM (header file)
+ * PURPOSE:         Minimal x86 machine emulator for the VDM
  * PROGRAMMERS:     Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
  */
 
 #define EMULATOR_FLAG_VIP (1 << 20)
 #define EMULATOR_FLAG_ID (1 << 21)
 
-/* Common definitions */
-#define EMULATOR_BOP        0xC4C4
-#define EMULATOR_INT_BOP    0xFF
-
 #define STACK_COUNTER   0
 #define STACK_INT_NUM   1
 #define STACK_IP        2
@@ -63,39 +59,35 @@ enum
     EMULATOR_EXCEPTION_PAGE_FAULT
 };
 
-enum
-{
-    EMULATOR_REG_AX,
-    EMULATOR_REG_CX,
-    EMULATOR_REG_DX,
-    EMULATOR_REG_BX,
-    EMULATOR_REG_SP,
-    EMULATOR_REG_BP,
-    EMULATOR_REG_SI,
-    EMULATOR_REG_DI,
-    EMULATOR_REG_ES,
-    EMULATOR_REG_CS,
-    EMULATOR_REG_SS,
-    EMULATOR_REG_DS,
-    EMULATOR_REG_FS,
-    EMULATOR_REG_GS
-};
-
 extern FAST486_STATE EmulatorContext;
 
 /* FUNCTIONS ******************************************************************/
 
+VOID WINAPI EmulatorReadMemory
+(
+    PFAST486_STATE State,
+    ULONG Address,
+    PVOID Buffer,
+    ULONG Size
+);
+
+VOID WINAPI EmulatorWriteMemory
+(
+    PFAST486_STATE State,
+    ULONG Address,
+    PVOID Buffer,
+    ULONG Size
+);
+
+UCHAR WINAPI EmulatorIntAcknowledge
+(
+    PFAST486_STATE State
+);
+
 BOOLEAN EmulatorInitialize(VOID);
-VOID EmulatorSetStack(WORD Segment, DWORD Offset);
 VOID EmulatorExecute(WORD Segment, WORD Offset);
 VOID EmulatorInterrupt(BYTE Number);
 VOID EmulatorInterruptSignal(VOID);
-ULONG EmulatorGetRegister(ULONG Register);
-ULONG EmulatorGetProgramCounter(VOID);
-VOID EmulatorSetRegister(ULONG Register, ULONG Value);
-BOOLEAN EmulatorGetFlag(ULONG Flag);
-VOID EmulatorSetFlag(ULONG Flag);
-VOID EmulatorClearFlag(ULONG Flag);
 VOID EmulatorStep(VOID);
 VOID EmulatorCleanup(VOID);
 VOID EmulatorSetA20(BOOLEAN Enabled);