⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmonemu.h

📁 SM501基于ARMV4/ARMV4I平台
💻 H
字号:
#include "smi.h"

#ifndef __MMONEMU_H__
#define __MMONEMU_H__

#ifdef MULTIMONEMU_ENABLE

class SMIVGXEmu : public SMI
{
private:
	SMI				*m_pSMI;

public:
    // config.cpp
					SMIVGXEmu(SMISETTINGS *pss, SMI *pSMI);

	virtual BYTE	GetPanelID(void);
    virtual void    InitCard(void);
    virtual void    AdjustDefaultMode(void);
	virtual void 	SetModeHardware(int modeId);
	virtual void	SetupVideoMemory(void);

	virtual void    GetPhysicalVideoMemory(PULONG pPhysicalMemoryBase, PULONG pVideoMemorySize);
    virtual void    WaitForNotBusy(void);
	virtual void	WaitForVBlank();
    virtual int     IsBusy(void);
    virtual int     InVBlank();
    //virtual ULONG   GetGraphicsCaps();
    virtual SCODE   SetPalette(const PALETTEENTRY *src,unsigned short firstEntry,unsigned short numEntries );
    virtual ULONG   DrvEscape(SURFOBJ *pso, ULONG iEsc, ULONG cjIn, PVOID pvIn, ULONG cjOut, PVOID pvOut);

    // cursor.cpp
    virtual SCODE   SetPointerShape(GPESurf *pMask, GPESurf *pColorSurf, int xHot, int yHot, int cx, int cy);
    virtual SCODE   MovePointer(int x, int y);
	virtual void	SetCursorColors(ULONG foreground, ULONG background);
	virtual void	SetCursorAddress(ULONG dwAddress);
	virtual void	DisableCursor(void);
	virtual void	EnableCursor(void);
	virtual void	SetupCursor(void);
	virtual	int		GetRotateModeFromReg();
    virtual LONG 	DynRotate(int angle);

    // surf.cpp
    virtual SCODE   AllocSurface(GPESurf **ppSurf, int width, int height, EGPEFormat format, int surfaceFlags);
#ifdef	DD_ENABLE
    virtual SCODE   AllocSurface(DDGPESurf **ppSurf, int width, int height, EGPEFormat format, EDDGPEPixelFormat pixelFormat, int surfaceFlags);
	virtual void	SetVisibleSurface( GPESurf *pSurf, BOOL bWaitForVBlank = FALSE);
#else	// ! DD_ENABLE
	virtual void	SetVisibleSurface( GPESurf *pSurf);
#endif	// DD_ENABLE

    // Line.cpp:
    virtual SCODE   Line(GPELineParms *pLineParms, EGPEPhase phase);

    // Blt.cpp:
    virtual SCODE   BltPrepare(GPEBltParms *pBltParms);
    virtual SCODE   BltComplete(GPEBltParms *pBltParms);
};

#endif // ENABLE_MULTIMONEMU

#endif // __MMONEMU_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -