📄 emulinit.cpp
字号:
#ifdef _EMUL_MQINIT
ULONG ulgcBuffer[0x40];
ULONG ulg1pBuffer[0x100];
ULONG ulg2pBuffer[0x100];
ULONG ulfpBuffer[0x38];
ULONG ulpciBuffer[0x12];
ULONG uldcBuffer[4];
ULONG ulpmuBuffer[8];
ULONG ulmiuBuffer[4];
ULONG ulcpuBuffer[2];
UCHAR ucCursor[1024];
ULONG ulBuffer[0x100];
ULONG ulgeBuffer[0x100];
void EmulInit(void)
{
// Set up some registers
ulpciBuffer[0] = MQ100_DEVICE;
ulpciBuffer[0x10] = PM_ID_CAP;
return;
}
// Register data write
//
void Emulgc1REG(int id, ULONG data)
{
//DEBUGMSG( 1,(TEXT("Emulgc1REG,id=%x,data=%8x\r\n"),id,data));
ulgcBuffer[id] = data;
return;
}
void Emulgc2REG(int id, ULONG data)
{
//DEBUGMSG( 1,(TEXT("Emulgc2REG,id=%x,data=%8x\r\n"),id,data));
ulgcBuffer[id] = data;
return;
}
void EmulfpREG(int id, ULONG data)
{
ulfpBuffer[id] = data;
return;
}
void Emulg1pREG(int id, ULONG data)
{
ulg1pBuffer[id] = data;
return;
}
void Emulg2pREG(int id, ULONG data)
{
ulg2pBuffer[id] = data;
return;
}
void EmuldcREG(int id, ULONG data)
{
uldcBuffer[id] = data;
return;
}
void EmulpmuREG(int id, ULONG data)
{
ulpmuBuffer[id] = data;
return;
}
void EmulpciREG(int id, ULONG data)
{
int realid;
realid = id >> 2;
ulpciBuffer[realid] = data;
return;
}
void EmulcpuREG(int id, ULONG data)
{
ulcpuBuffer[id] = data;
return;
}
void EmulmiuREG(int id, ULONG data)
{
ulmiuBuffer[id] = data;
return;
}
void EmulgeREG(int id, ULONG data)
{
ulgeBuffer[id] = data;
return;
}
// Register data read
//
ULONG Emulgc1READ(int id)
{
return (ulgcBuffer[id]);
}
ULONG Emulgc2READ(int id)
{
return (ulgcBuffer[id]);
}
ULONG EmulfpREAD(int id)
{
return (ulfpBuffer[id]);
}
ULONG Emulg1pREAD(int id)
{
return (ulg1pBuffer[id]);
}
ULONG EmulpciREAD(int id)
{
return (ulpciBuffer[id]);
}
ULONG EmuldcREAD(int id)
{
return (uldcBuffer[id]);
}
ULONG EmulpmuREAD(int id)
{
return (ulpmuBuffer[id]);
}
ULONG EmulcpuREAD(int id)
{
return (ulcpuBuffer[id]);
}
ULONG EmulmiuREAD(int id)
{
return (ulmiuBuffer[id]);
}
ULONG EmulgeREAD(int id)
{
return (ulgeBuffer[id]);
}
void DumpReg(void)
{
int dumpreg;
for (dumpreg=0; dumpreg<8; dumpreg++)
DEBUGMSG( 1,(TEXT("pmu%2d=%8x\r\n"), dumpreg, ulpmuBuffer[dumpreg]));
for (dumpreg=0; dumpreg<4; dumpreg++)
DEBUGMSG( 1,(TEXT("miu%2d=%8x\r\n"), dumpreg, ulmiuBuffer[dumpreg]));
for (dumpreg=0; dumpreg<2; dumpreg++)
DEBUGMSG( 1,(TEXT("cpu%2d=%8x\r\n"), dumpreg, ulcpuBuffer[dumpreg]));
for (dumpreg=0; dumpreg<0x12; dumpreg++)
DEBUGMSG( 1,(TEXT("pci%2x=%8x\r\n"), dumpreg, ulpciBuffer[dumpreg]));
for (dumpreg=0; dumpreg<0x6; dumpreg++)
DEBUGMSG( 1,(TEXT("fp%2x=%8x\r\n"), dumpreg, ulfpBuffer[dumpreg]));
for (dumpreg=0x0f; dumpreg<0x38; dumpreg++)
DEBUGMSG( 1,(TEXT("fp%2x=%8x\r\n"), dumpreg, ulfpBuffer[dumpreg]));
for (dumpreg=0x0; dumpreg<0x10; dumpreg++)
DEBUGMSG( 1,(TEXT("gc1_%2x=%8x\r\n"), dumpreg, ulgcBuffer[dumpreg]));
for (dumpreg=0x20; dumpreg<0x30; dumpreg++)
DEBUGMSG( 1,(TEXT("gc2_%2x=%8x\r\n"), dumpreg, ulgcBuffer[dumpreg]));
}
void DumpPal(void)
{
int dumpreg;
for (dumpreg=0x00; dumpreg<0x0a; dumpreg++)
DEBUGMSG( 1,(TEXT("g1p%2x=%8x\r\n"), dumpreg, ulg1pBuffer[dumpreg]));
for (dumpreg=0xf6; dumpreg<=0xff; dumpreg++)
DEBUGMSG( 1,(TEXT("g1p%2x=%8x\r\n"), dumpreg, ulg1pBuffer[dumpreg]));
for (dumpreg=0x00; dumpreg<0x0a; dumpreg++)
DEBUGMSG( 1,(TEXT("g2p%2x=%8x\r\n"), dumpreg, ulg2pBuffer[dumpreg]));
for (dumpreg=0xf6; dumpreg<=0xff; dumpreg++)
DEBUGMSG( 1,(TEXT("g2p%2x=%8x\r\n"), dumpreg, ulg2pBuffer[dumpreg]));
}
void DumpCursor(void)
{
int dumpreg;
DEBUGMSG( 1,(TEXT("gc1_00=%8x\r\n"), ulgcBuffer[0]));
DEBUGMSG( 1,(TEXT("gc1_0c=%8x\r\n"), ulgcBuffer[0x0c]));
for (dumpreg=0x10; dumpreg<0x14; dumpreg++)
DEBUGMSG( 1,(TEXT("gc1_%2x=%8x\r\n"), dumpreg, ulgcBuffer[dumpreg]));
DEBUGMSG( 1,(TEXT("gc2_00=%8x\r\n"), ulgcBuffer[0x20]));
DEBUGMSG( 1,(TEXT("gc2_0c=%8x\r\n"), ulgcBuffer[0x2c]));
for (dumpreg=0x30; dumpreg<0x34; dumpreg++)
DEBUGMSG( 1,(TEXT("gc2_%2x=%8x\r\n"), dumpreg, ulgcBuffer[dumpreg]));
}
#endif //_EMUL_MQINIT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -