2013-08-17 15:20:47 +00:00
|
|
|
/*
|
|
|
|
* COPYRIGHT: GPL - See COPYING in the top level directory
|
|
|
|
* PROJECT: 386/486 CPU Emulation Library
|
|
|
|
* FILE: common.h
|
|
|
|
* PURPOSE: Common functions used internally by Soft386 (header file).
|
|
|
|
* PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _COMMON_H_
|
|
|
|
#define _COMMON_H_
|
|
|
|
|
|
|
|
/* DEFINES ********************************************************************/
|
|
|
|
|
2013-08-17 18:44:16 +00:00
|
|
|
#define GET_SEGMENT_RPL(s) ((s) & 3)
|
|
|
|
#define GET_SEGMENT_INDEX(s) ((s) & 0xFFF8)
|
2013-08-17 15:20:47 +00:00
|
|
|
|
|
|
|
/* FUNCTIONS ******************************************************************/
|
|
|
|
|
|
|
|
inline
|
|
|
|
BOOLEAN
|
|
|
|
Soft386ReadMemory
|
|
|
|
(
|
|
|
|
PSOFT386_STATE State,
|
|
|
|
INT SegmentReg,
|
|
|
|
ULONG Offset,
|
|
|
|
BOOLEAN InstFetch,
|
|
|
|
PVOID Buffer,
|
|
|
|
ULONG Size
|
|
|
|
);
|
|
|
|
|
|
|
|
inline
|
|
|
|
BOOLEAN
|
|
|
|
Soft386WriteMemory
|
|
|
|
(
|
|
|
|
PSOFT386_STATE State,
|
|
|
|
INT SegmentReg,
|
|
|
|
ULONG Offset,
|
|
|
|
PVOID Buffer,
|
|
|
|
ULONG Size
|
|
|
|
);
|
|
|
|
|
|
|
|
inline
|
|
|
|
BOOLEAN
|
|
|
|
Soft386StackPush
|
|
|
|
(
|
|
|
|
PSOFT386_STATE State,
|
|
|
|
ULONG Value
|
|
|
|
);
|
|
|
|
|
|
|
|
inline
|
|
|
|
BOOLEAN
|
|
|
|
Soft386StackPop
|
|
|
|
(
|
|
|
|
PSOFT386_STATE State,
|
|
|
|
PULONG Value
|
|
|
|
);
|
|
|
|
|
2013-08-17 18:44:16 +00:00
|
|
|
inline
|
|
|
|
BOOLEAN
|
|
|
|
Soft386LoadSegment
|
|
|
|
(
|
|
|
|
PSOFT386_STATE State,
|
|
|
|
INT Segment,
|
|
|
|
WORD Selector
|
|
|
|
);
|
|
|
|
|
2013-08-17 15:20:47 +00:00
|
|
|
#endif // _COMMON_H_
|
|
|
|
|
|
|
|
/* EOF */
|