19 void controllerMenu();
27 void setupController();
31 inline void setAddress(uint32_t myAddress);
34 void writeWord(uint16_t myWord);
36 void sendJoyBus(uint8_t
const * buffer,
char length);
37 uint16_t recvJoyBus(uint8_t * output, uint8_t byte_count);
40 void resetController();
41 void checkController();
42 uint8_t readBlock(
byte* output, uint16_t myAddress);
44 bool checkHeader(
byte* buf);
54 bool readEepromPageList(
byte* output, uint8_t page_number, uint8_t page_count);
59 bool readSaveData(uint32_t sramSize,
bool isFlash);
60 bool verifySaveData(uint32_t maxAddress, uint16_t offset, uint16_t bufferSize,
bool isFlash);
62 bool writeSRAM(uint32_t sramSize);
65 void sendFramCmd(uint32_t myCommand);
68 uint8_t waitForFram(uint8_t flashramType);
69 uint8_t getFramType();
73 uint32_t blankcheck(uint8_t flashramType);
75# if defined(ENABLE_CONTROLLERTEST)
77 void controllerTest_Serial();
80# if ((HARDWARE_OUTPUT_TYPE == OUTPUT_OS12864) || defined(ENABLE_OLED))
81 void printSTR(String st,
int x,
int y);
83 void controllerTest_Display();
87 void sendFlashromGamesharkCommand(uint16_t cmd);
88 bool flashGameshark();
89 void unlockGSAddressRanges();
91 void resetGameshark();
92 void backupGameshark();
93 void eraseGameshark();
94 void writeGameshark();
95 uint32_t verifyGameshark();
99 void sendFlashromXplorerCommand(uint16_t cmd);
103 void backupXplorer();
104 uint32_t unscramble(uint32_t addr);
105 uint32_t scramble(uint32_t addr);
106 void oddXPaddrWrite(uint32_t addr, uint16_t data);
107 void evenXPaddrWrite(uint32_t addr, uint16_t data);
109 void blankCheck_XP64();
111 uint32_t verifyXplorer();
115 void sendFlashromCommand(uint32_t addr, uint8_t cmd);
118 void resetFlashrom(uint32_t flashBase);
119 void eraseFlashrom();
120 void writeFlashrom(uint32_t sectorSize);
122 uint32_t verifyFlashrom();
124 void writeFlashBuffer(uint32_t sectorSize, uint8_t bufferSize);
126 void resetIntel4400();
127 void eraseIntel4400();
128 void writeIntel4400();
130 void resetMSP55LV100(uint32_t flashBase);
131 void eraseMSP55LV100();
132 void writeMSP55LV100(uint32_t sectorSize);
134 void eraseSector(uint32_t sectorSize);
135 bool blankcheckFlashrom();