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 00B80454 08000000
4240E10C 058E3EB3 4240E10C 058E3EB3
+Insane heat waves Crazy colors everywhere! Insane heat waves Crazy colors everywhere!
00B80485 08000000 00B80485 08000000
043AA070 41200000 043AA070 41200000

View File

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

View File

@ -56,7 +56,7 @@ Super Hookshot
123ED84A 00000140 123ED84A 00000140
040F2898 8001004C 040F2898 8001004C
+Teleport to Fire Mountain up R Y Teleport to Fire Mountain up R Y
01E05660 08000000 01E05660 08000000
4A3ED84A 00000828 4A3ED84A 00000828
043E440C 482F85A1 043E440C 482F85A1
@ -69,7 +69,7 @@ Hold A to swim fast
123ED84A 00000100 123ED84A 00000100
0435D548 41900000 0435D548 41900000
+Run/Swim/Crawl fast Hold A Run/Swim/Crawl fast Hold A
01E06820 08000000 01E06820 08000000
4A3ED84A 00000100 4A3ED84A 00000100
0435CEEC 42480000 0435CEEC 42480000
@ -412,7 +412,7 @@ Have Complete Triforce USE THIS CODE AFTER BEATING THE TOWER OF THE GODS
01E019B8 08000000 01E019B8 08000000
003C4CC6 000000FF 003C4CC6 000000FF
+Press R to Jump Press R to Jump
01E019BB 08000000 01E019BB 08000000
0A3ED84A 00000020 0A3ED84A 00000020
863E4410 00000001 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 very risky to mix _SECURE_SCL=0 and _SECURE_SCL=1 compiled libraries
// it is possible that you overwrite memory if you do it // it is possible that you overwrite memory if you do it
#ifdef _WIN32
#ifndef _SECURE_SCL #ifndef _SECURE_SCL
#error Please define _SECURE_SCL=0 in the project settings #error Please define _SECURE_SCL=0 in the project settings
#else #else
template <bool> struct CompileTimeAssert; template <bool> struct CompileTimeAssert;
template<> struct CompileTimeAssert<true> {}; template<> struct CompileTimeAssert<true> {};
CompileTimeAssert<_SECURE_SCL==0> x; CompileTimeAssert<_SECURE_SCL==0> x;
#endif
#endif #endif
} }

View File

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

View File

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

View File

@ -55,6 +55,7 @@ enum TEXIDevices
EXIDEVICE_IPL, EXIDEVICE_IPL,
EXIDEVICE_AD16, EXIDEVICE_AD16,
EXIDEVICE_MIC, EXIDEVICE_MIC,
EXIDEVICE_ETH,
}; };
extern IEXIDevice* EXIDevice_Create(TEXIDevices _EXIDevice); 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; //status = MC_STATUS_BUSY | MC_STATUS_UNLOCKED | MC_STATUS_READY;
m_uPosition = 0; m_uPosition = 0;
formatDelay = 0; formatDelay = 0;
ID= 0x0a000000; ID = 0x0a000000;
} }
@ -109,8 +109,14 @@ void CEXIMic::TransferByte(u8 &byte)
break; break;
case cmdStatus: case cmdStatus:
{ {
u16 Status = 0x0; // 0x80 if you want button pressed forever byte = (u8)(Status.U16 >> (24-(((m_uPosition - 2) & 3) * 8)));
byte = (u8)(Status >> (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; break;
default: default:

View File

@ -34,7 +34,7 @@ private:
{ {
cmdID = 0x00, cmdID = 0x00,
cmdStatus = 0x40, cmdStatus = 0x40,
cmdArrayToBuffer = 0x53, cmdSetStatus = 0x80,
cmdSetInterrupt = 0x81, cmdSetInterrupt = 0x81,
cmdWriteBuffer = 0x82, cmdWriteBuffer = 0x82,
cmdReadStatus = 0x83, cmdReadStatus = 0x83,
@ -53,10 +53,15 @@ private:
int interruptSwitch; int interruptSwitch;
bool m_bInterruptSet; bool m_bInterruptSet;
int command; int command;
int status; union uStatus
{
u16 U16;
u8 U8[2];
};
int Index; int Index;
u32 m_uPosition; u32 m_uPosition;
u32 formatDelay; u32 formatDelay;
uStatus Status;
//! memory card parameters //! memory card parameters
unsigned int ID; 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(); GL_REPORT_ERRORD();
glBegin(GL_QUADS); glBegin(GL_QUADS);
glTexCoord2f(width, height + yOffset); glVertex2f(-1,-1); glTexCoord2f(width, height + yOffset); glVertex2f(1,-1);
glTexCoord2f(width, 0 + yOffset); glVertex2f(-1,1); glTexCoord2f(width, 0 + yOffset); glVertex2f(1,1);
glTexCoord2f(0, 0 + yOffset); glVertex2f(1,1); glTexCoord2f(0, 0 + yOffset); glVertex2f(-1,1);
glTexCoord2f(0, height + yOffset); glVertex2f(1,-1); glTexCoord2f(0, height + yOffset); glVertex2f(-1,-1);
glEnd(); glEnd();
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, 0); glBindTexture(GL_TEXTURE_RECTANGLE_ARB, 0);