Flips the XFB around and some other things

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@881 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Sonicadvance1 2008-10-15 21:12:43 +00:00
parent a3a948ac1d
commit 1972f9bf70
10 changed files with 51 additions and 27 deletions

View File

@ -86,7 +86,7 @@ Spin Jump Gravity - Normal Speed
00B80454 08000000
4240E10C 058E3EB3
+Insane heat waves Crazy colors everywhere!
Insane heat waves Crazy colors everywhere!
00B80485 08000000
043AA070 41200000

View File

@ -69,7 +69,7 @@ Hold A to swim fast
123ED84A 00000100
0435D548 41900000
+Run/Swim/Crawl fast Hold A
Run/Swim/Crawl fast Hold A
01E06820 08000000
4A3ED84A 00000100
0435CEEC 42480000

View File

@ -56,7 +56,7 @@ Super Hookshot
123ED84A 00000140
040F2898 8001004C
+Teleport to Fire Mountain up R Y
Teleport to Fire Mountain up R Y
01E05660 08000000
4A3ED84A 00000828
043E440C 482F85A1
@ -69,7 +69,7 @@ Hold A to swim fast
123ED84A 00000100
0435D548 41900000
+Run/Swim/Crawl fast Hold A
Run/Swim/Crawl fast Hold A
01E06820 08000000
4A3ED84A 00000100
0435CEEC 42480000
@ -412,7 +412,7 @@ Have Complete Triforce USE THIS CODE AFTER BEATING THE TOWER OF THE GODS
01E019B8 08000000
003C4CC6 000000FF
+Press R to Jump
Press R to Jump
01E019BB 08000000
0A3ED84A 00000020
863E4410 00000001

View File

@ -261,13 +261,14 @@ namespace
// it is very risky to mix _SECURE_SCL=0 and _SECURE_SCL=1 compiled libraries
// it is possible that you overwrite memory if you do it
#ifndef _SECURE_SCL
#error Please define _SECURE_SCL=0 in the project settings
#else
template <bool> struct CompileTimeAssert;
template<> struct CompileTimeAssert<true> {};
CompileTimeAssert<_SECURE_SCL==0> x;
#ifdef _WIN32
#ifndef _SECURE_SCL
#error Please define _SECURE_SCL=0 in the project settings
#else
template <bool> struct CompileTimeAssert;
template<> struct CompileTimeAssert<true> {};
CompileTimeAssert<_SECURE_SCL==0> x;
#endif
#endif
}

View File

@ -44,7 +44,10 @@ void Init()
g_Channels[0].AddDevice(EXIDEVICE_MEMORYCARD_A, 0);
g_Channels[0].AddDevice(EXIDEVICE_IPL, 1);
g_Channels[1].AddDevice(EXIDEVICE_MEMORYCARD_B, 0);
//g_Channels[1].AddDevice(EXIDEVICE_MIC, 0);
#if 0
g_Channels[0].AddDevice(EXIDEVICE_ETH, 2);
#endif
//g_Channels[1].AddDevice(EXIDEVICE_MIC, 0);
g_Channels[2].AddDevice(EXIDEVICE_AD16, 0);
}

View File

@ -22,6 +22,9 @@
#include "EXI_DeviceMemoryCard.h"
#include "EXI_DeviceAD16.h"
#include "EXI_DeviceMic.h"
#if 0
#include "EXI_DeviceEthernet.h"
#endif
#include "../Core.h"
@ -148,6 +151,11 @@ IEXIDevice* EXIDevice_Create(TEXIDevices _EXIDevice)
case EXIDEVICE_MIC:
return new CEXIMic(1);
break;
#if 0
case EXIDEVICE_ETH:
return new CEXIETHERNET();
break;
#endif
}
return NULL;
}

View File

@ -55,6 +55,7 @@ enum TEXIDevices
EXIDEVICE_IPL,
EXIDEVICE_AD16,
EXIDEVICE_MIC,
EXIDEVICE_ETH,
};
extern IEXIDevice* EXIDevice_Create(TEXIDevices _EXIDevice);

View File

@ -43,7 +43,7 @@ CEXIMic::CEXIMic(int _Index)
//status = MC_STATUS_BUSY | MC_STATUS_UNLOCKED | MC_STATUS_READY;
m_uPosition = 0;
formatDelay = 0;
ID= 0x0a000000;
ID = 0x0a000000;
}
@ -106,11 +106,17 @@ void CEXIMic::TransferByte(u8 &byte)
;//byte = 0x80; // dummy cycle
else
byte = (u8)(ID >> (24-(((m_uPosition-2) & 3) * 8)));
break;
break;
case cmdStatus:
{
u16 Status = 0x0; // 0x80 if you want button pressed forever
byte = (u8)(Status >> (24-(((m_uPosition-2) & 3) * 8)));
byte = (u8)(Status.U16 >> (24-(((m_uPosition - 2) & 3) * 8)));
}
break;
case cmdSetStatus:
{
Status.U8[m_uPosition - 1] = byte;
if(m_uPosition == 2)
printf("Status is 0x%04x\n", Status.U16);
}
break;
default:

View File

@ -32,9 +32,9 @@ private:
enum
{
cmdID = 0x00,
cmdStatus = 0x40,
cmdArrayToBuffer = 0x53,
cmdID = 0x00,
cmdStatus = 0x40,
cmdSetStatus = 0x80,
cmdSetInterrupt = 0x81,
cmdWriteBuffer = 0x82,
cmdReadStatus = 0x83,
@ -53,10 +53,15 @@ private:
int interruptSwitch;
bool m_bInterruptSet;
int command;
int status;
union uStatus
{
u16 U16;
u8 U8[2];
};
int Index;
u32 m_uPosition;
u32 formatDelay;
uStatus Status;
//! memory card parameters
unsigned int ID;

View File

@ -144,10 +144,10 @@ void XFB_Draw(u8 *xfb_in_ram, u32 width, u32 height, s32 yOffset)
GL_REPORT_ERRORD();
glBegin(GL_QUADS);
glTexCoord2f(width, height + yOffset); glVertex2f(-1,-1);
glTexCoord2f(width, 0 + yOffset); glVertex2f(-1,1);
glTexCoord2f(0, 0 + yOffset); glVertex2f(1,1);
glTexCoord2f(0, height + yOffset); glVertex2f(1,-1);
glTexCoord2f(width, height + yOffset); glVertex2f(1,-1);
glTexCoord2f(width, 0 + yOffset); glVertex2f(1,1);
glTexCoord2f(0, 0 + yOffset); glVertex2f(-1,1);
glTexCoord2f(0, height + yOffset); glVertex2f(-1,-1);
glEnd();
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, 0);