aboutsummaryrefslogtreecommitdiff
path: root/src/DSi_Camera.h
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2020-12-04 18:32:35 +0100
committerGitHub <noreply@github.com>2020-12-04 18:32:35 +0100
commitc5729964269631c443c23d37451e332afc91822e (patch)
tree8e5712bd241319731f7b6ade3363cefe845e3a5e /src/DSi_Camera.h
parent42e083960e52cce31589714dcc7fab8e173efb81 (diff)
parent129018a6626cbec915ef73484c51c9d07af8e8b9 (diff)
Merge pull request #837 from Arisotura/dsi_camera
merge DSi camera branch
Diffstat (limited to 'src/DSi_Camera.h')
-rw-r--r--src/DSi_Camera.h41
1 files changed, 35 insertions, 6 deletions
diff --git a/src/DSi_Camera.h b/src/DSi_Camera.h
index 844a4d2..108d76a 100644
--- a/src/DSi_Camera.h
+++ b/src/DSi_Camera.h
@@ -28,27 +28,56 @@ public:
static void DeInit();
static void Reset();
+ static void IRQ(u32 param);
+ static void RequestFrame(u32 cam);
+
+ static void Transfer(u32 pos);
+
DSi_Camera(u32 num);
~DSi_Camera();
void ResetCam();
+ bool IsActivated();
- void Start();
- u8 Read(bool last);
- void Write(u8 val, bool last);
+ void I2C_Start();
+ u8 I2C_Read(bool last);
+ void I2C_Write(u8 val, bool last);
+
+ static u8 Read8(u32 addr);
+ static u16 Read16(u32 addr);
+ static u32 Read32(u32 addr);
+ static void Write8(u32 addr, u8 val);
+ static void Write16(u32 addr, u16 val);
+ static void Write32(u32 addr, u32 val);
-private:
u32 Num;
+private:
u32 DataPos;
u32 RegAddr;
u16 RegData;
- u16 ReadReg(u16 addr);
- void WriteReg(u16 addr, u16 val);
+ u16 I2C_ReadReg(u16 addr);
+ void I2C_WriteReg(u16 addr, u16 val);
+ u16 PLLDiv;
+ u16 PLLPDiv;
u16 PLLCnt;
+ u16 ClocksCnt;
u16 StandbyCnt;
+ u16 MiscCnt;
+
+ u16 MCUAddr;
+ u16* MCUData;
+
+ u8 MCURegs[0x8000];
+
+ static u16 ModuleCnt;
+ static u16 Cnt;
+
+ static u8 FrameBuffer[640*480*4];
+ static u32 TransferPos;
+ static u32 FrameLength;
};