70 lines
3.2 KiB
C
70 lines
3.2 KiB
C
#include <winioctl.h>
|
|
|
|
#define FILE_DEVICE_SEGA 0x9c40
|
|
|
|
// amSramInit
|
|
#define IOCTL_MXSRAM_PING CTL_CODE(FILE_DEVICE_SEGA, 0x800, METHOD_BUFFERED, FILE_READ_ACCESS)
|
|
// amSramInit
|
|
#define IOCTL_MXSRAM_GET_SECTOR_SIZE \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x801, METHOD_BUFFERED, FILE_READ_ACCESS)
|
|
#define IOCTL_MXSRAM_GET_VERSION \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x802, METHOD_BUFFERED, FILE_READ_ACCESS)
|
|
|
|
// EEPROM uses MXSMBUS_GUID device class
|
|
// DIPSW uses MXSMBUS_GUID device class
|
|
// Platform uses PLATFORM_GUID device class
|
|
|
|
// amDipswRequestReadByteInternal
|
|
// amDipswReadByteInternal
|
|
// amDipswWriteByteInternal
|
|
// /\ all either use SUPERIO or SMBUS. Which is unknown atm. All use 0x801
|
|
//
|
|
// amDipswGetDriverVersion
|
|
// /\ uses either SUPERIO or SMBUS. Which is unknown atm. Uses 0x802
|
|
|
|
// Same as IOCTL_MXSRAM_PING
|
|
// amHmProbeSuperIoDevice
|
|
#define IOCTL_MXSUPERIO_PING CTL_CODE(FILE_DEVICE_SEGA, 0x800, METHOD_BUFFERED, FILE_READ_ACCESS)
|
|
// amHmGetLPCChipId
|
|
#define IOCTL_MXSUPERIO_READ CTL_CODE(FILE_DEVICE_SEGA, 0x801, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
|
#define IOCTL_MXSUPERIO_WRITE CTL_CODE(FILE_DEVICE_SEGA, 0x802, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
|
// amHmLpcReadByte
|
|
#define IOCTL_MXSUPERIO_HWMONITOR_LPC_READ \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x803, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
|
// amHmLpcWriteByte
|
|
#define IOCTL_MXSUPERIO_HWMONITOR_LPC_WRITE \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x804, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
|
|
|
#define IOCTL_MXJVS_EXCHANGE CTL_CODE(FILE_DEVICE_SEGA, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
|
|
|
// Same as IOCTL_MXSUPERIO_READ
|
|
// amHmI2CReadByte,amHmI2CWriteByte,amEepromWait
|
|
#define IOCTL_MXSMBUS_REQUEST CTL_CODE(FILE_DEVICE_SEGA, 0x801, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
|
// amEepromGetDriverVerision
|
|
#define IOCTL_MXSMBUS_GET_VERSION \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x802, METHOD_BUFFERED, FILE_READ_ACCESS)
|
|
// amEepromI2CReadBlock,amEepromI2CWriteBlock,amHmGetLPCChipId
|
|
#define IOCTL_MXSMBUS_I2C CTL_CODE(FILE_DEVICE_SEGA, 0x803, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
|
#define IOCTL_MXSMBUS_IDK CTL_CODE(FILE_DEVICE_SEGA, 0x807, METHOD_BUFFERED, FILE_READ_ACCESS)
|
|
|
|
#define IOCTL_COLUMBA_READ CTL_CODE(FILE_DEVICE_SEGA, 0x841, METHOD_BUFFERED, FILE_READ_ACCESS)
|
|
|
|
#define IOCTL_MXHWRESET_RESET CTL_CODE(FILE_DEVICE_SEGA, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_MXPARALLEL_WRITE_DATA \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x800, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
|
#define IOCTL_MXPARALLEL_READ_DATA \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x801, METHOD_BUFFERED, FILE_READ_ACCESS)
|
|
#define IOCTL_MXPARALLEL_WRITE_STATUS \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x802, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
|
#define IOCTL_MXPARALLEL_READ_STATUS \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x803, METHOD_BUFFERED, FILE_READ_ACCESS)
|
|
#define IOCTL_MXPARALLEL_WRITE_CTRL_PORT \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x804, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
|
#define IOCTL_MXPARALLEL_READ_CTRL_PORT \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x805, METHOD_BUFFERED, FILE_READ_ACCESS)
|
|
#define IOCTL_MXPARALLEL_WRITE_FLAGS \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x806, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
|
#define IOCTL_MXPARALLEL_READ_FLAGS \
|
|
CTL_CODE(FILE_DEVICE_SEGA, 0x807, METHOD_BUFFERED, FILE_READ_ACCESS)
|