#include "FT_Platform.h"
#ifdef MSVC_FT800EMU
#include
#include
extern "C" void setup ();
externe "C" -Lückenschleife ();
ft_int32_t main (ft_int32_t argc, ft_char8_t * argv [])
{
FT800EMU :: EmulatorParameters params;
params.Setup = setup;
params.Loop = loop;
params.Flags =
FT800EMU :: EmulatorEnableKeyboard
| FT800EMU :: EmulatorEnableMouse
| FT800EMU :: EmulatorEnableAudio
| FT800EMU :: EmulatorEnableDebugShortkeys
| FT800EMU :: EmulatorEnableRegRotate
| FT800EMU :: EmulatorEnableCoprocessor
| FT800EMU :: EmulatorEnableGraphicsMultithread
| FT800EMU :: EmulatorEnableRegPwmDutyEmulation
#if defined FT_801_ENABLE
| FT800EMU :: EmulatorFT801
#endif
;
FT800EMU :: Emulator.run (Parameter);
//FT800EMU::SPII2C.end ();
}
void Ft_GpuEmu_SPII2C_begin ()
{
FT800EMU :: SPII2C.begin ();
}
void Ft_GpuEmu_SPII2C_csLow ()
{
FT800EMU :: SPII2C.csLow ();
}
void Ft_GpuEmu_SPII2C_csHigh ()
{
FT800EMU :: SPII2C.csHigh ();
}
void Ft_GpuEmu_SPII2C_end ()
{
FT800EMU :: SPII2C.end ();
}
uint8_t Ft_GpuEmu_SPII2C_transfer (uint8_t data)
{
return FT800EMU :: SPII2C.transfer (data);
}
void Ft_GpuEmu_SPII2C_StartRead (uint32_t addr)
{
Ft_GpuEmu_SPII2C_csLow ();
Ft_GpuEmu_SPII2C_transfer ((addr >> 16) & 0xFF);
Ft_GpuEmu_SPII2C_transfer ((addr >> 8) & 0xFF);
Ft_GpuEmu_SPII2C_transfer (addr & 0xFF);
Ft_GpuEmu_SPII2C_transfer (0); // Dummy-Lesebyte
}
void Ft_GpuEmu_SPII2C_StartWrite (uint32_t addr)
{
Ft_GpuEmu_SPII2C_csLow ();
Ft_GpuEmu_SPII2C_transfer (((addr >> 16) & 0xFF) | 0x80);
Ft_GpuEmu_SPII2C_transfer ((addr >> 8) & 0xFF);
Ft_GpuEmu_SPII2C_transfer (addr & 0xFF);
}
#endif