2012-12-19 09:30:18 +00:00
|
|
|
#pragma once
|
|
|
|
|
2022-04-19 01:47:43 +00:00
|
|
|
#include <Project64-core\Logging.h>
|
|
|
|
#include <Project64-core\N64System\SaveType\Eeprom.h>
|
2015-12-06 09:59:58 +00:00
|
|
|
|
2010-06-14 21:14:58 +00:00
|
|
|
class CPifRam :
|
2015-11-13 13:23:43 +00:00
|
|
|
public CLogging,
|
2016-01-13 21:29:55 +00:00
|
|
|
private CEeprom
|
2010-06-14 21:14:58 +00:00
|
|
|
{
|
|
|
|
public:
|
2016-01-13 21:29:55 +00:00
|
|
|
CPifRam(bool SavesReadOnly);
|
|
|
|
~CPifRam();
|
2010-06-14 21:14:58 +00:00
|
|
|
|
2016-01-13 21:29:55 +00:00
|
|
|
void Reset();
|
2011-01-02 10:40:00 +00:00
|
|
|
|
2016-01-13 21:29:55 +00:00
|
|
|
void PifRamWrite();
|
|
|
|
void PifRamRead();
|
2010-06-14 21:14:58 +00:00
|
|
|
|
2016-01-13 21:29:55 +00:00
|
|
|
void SI_DMA_READ();
|
|
|
|
void SI_DMA_WRITE();
|
2010-06-14 21:14:58 +00:00
|
|
|
|
|
|
|
protected:
|
2015-12-06 09:59:58 +00:00
|
|
|
uint8_t m_PifRom[0x7C0];
|
|
|
|
uint8_t m_PifRam[0x40];
|
2010-06-14 21:14:58 +00:00
|
|
|
|
|
|
|
private:
|
2021-04-13 00:07:11 +00:00
|
|
|
CPifRam();
|
|
|
|
CPifRam(const CPifRam&);
|
|
|
|
CPifRam& operator=(const CPifRam&);
|
2016-01-18 08:54:39 +00:00
|
|
|
|
|
|
|
enum { CHALLENGE_LENGTH = 0x20 };
|
|
|
|
void ProcessControllerCommand(int32_t Control, uint8_t * Command);
|
|
|
|
void ReadControllerCommand(int32_t Control, uint8_t * Command);
|
|
|
|
void LogControllerPakData(const char * Description);
|
|
|
|
void n64_cic_nus_6105(char challenge[], char response[], int32_t length);
|
2015-01-31 19:27:27 +00:00
|
|
|
};
|