Run clangformat everywhere
This commit is contained in:
@@ -15,8 +15,8 @@ void Flash::Reset() {
|
||||
writeBuf = {};
|
||||
}
|
||||
|
||||
void Flash::Load(SaveType saveType, const std::string& path) {
|
||||
if(saveType == SAVE_FLASH_1m) {
|
||||
void Flash::Load(SaveType saveType, const std::string &path) {
|
||||
if (saveType == SAVE_FLASH_1m) {
|
||||
fs::path flashPath_ = path;
|
||||
if (!savePath.empty()) {
|
||||
flashPath_ = savePath / flashPath_.filename();
|
||||
@@ -25,12 +25,14 @@ void Flash::Load(SaveType saveType, const std::string& path) {
|
||||
std::error_code error;
|
||||
if (saveData.is_mapped()) {
|
||||
saveData.sync(error);
|
||||
if (error) { Util::panic("Could not sync {}", flashPath); }
|
||||
if (error) {
|
||||
Util::panic("Could not sync {}", flashPath);
|
||||
}
|
||||
saveData.unmap();
|
||||
}
|
||||
|
||||
auto flashVec = Util::ReadFileBinary(flashPath);
|
||||
if(flashVec.empty()) {
|
||||
if (flashVec.empty()) {
|
||||
std::vector<u8> dummy{};
|
||||
dummy.resize(FLASH_SIZE);
|
||||
Util::WriteFileBinary(dummy, flashPath);
|
||||
@@ -41,40 +43,41 @@ void Flash::Load(SaveType saveType, const std::string& path) {
|
||||
Util::panic("Corrupt SRAM!");
|
||||
}
|
||||
|
||||
saveData = mio::make_mmap_sink(
|
||||
flashPath, 0, mio::map_entire_file, error);
|
||||
if (error) { Util::panic("Could not make mmap {}", flashPath); }
|
||||
saveData = mio::make_mmap_sink(flashPath, 0, mio::map_entire_file, error);
|
||||
if (error) {
|
||||
Util::panic("Could not make mmap {}", flashPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Flash::CommandExecute() {
|
||||
Util::trace("Flash::CommandExecute");
|
||||
switch (state) {
|
||||
case FlashState::Idle:
|
||||
break;
|
||||
case FlashState::Erase:
|
||||
if(saveData.is_mapped()) {
|
||||
for (int i = 0; i < 128; i++) {
|
||||
saveData[eraseOffs + i] = 0xFF;
|
||||
}
|
||||
} else {
|
||||
Util::panic("Accessing flash when not mapped!");
|
||||
case FlashState::Idle:
|
||||
break;
|
||||
case FlashState::Erase:
|
||||
if (saveData.is_mapped()) {
|
||||
for (int i = 0; i < 128; i++) {
|
||||
saveData[eraseOffs + i] = 0xFF;
|
||||
}
|
||||
break;
|
||||
case FlashState::Write:
|
||||
if(saveData.is_mapped()) {
|
||||
for (int i = 0; i < 128; i++) {
|
||||
saveData[writeOffs + i] = writeBuf[i];
|
||||
}
|
||||
} else {
|
||||
Util::panic("Accessing flash when not mapped!");
|
||||
} else {
|
||||
Util::panic("Accessing flash when not mapped!");
|
||||
}
|
||||
break;
|
||||
case FlashState::Write:
|
||||
if (saveData.is_mapped()) {
|
||||
for (int i = 0; i < 128; i++) {
|
||||
saveData[writeOffs + i] = writeBuf[i];
|
||||
}
|
||||
break;
|
||||
case FlashState::Read:
|
||||
Util::panic("Execute command when flash in read state");
|
||||
break;
|
||||
case FlashState::Status:
|
||||
break;
|
||||
} else {
|
||||
Util::panic("Accessing flash when not mapped!");
|
||||
}
|
||||
break;
|
||||
case FlashState::Read:
|
||||
Util::panic("Execute command when flash in read state");
|
||||
break;
|
||||
case FlashState::Status:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,9 +86,7 @@ void Flash::CommandStatus() {
|
||||
status = 0x1111800100C20000;
|
||||
}
|
||||
|
||||
void Flash::CommandSetEraseOffs(u32 val) {
|
||||
eraseOffs = (val & 0xffff) << 7;
|
||||
}
|
||||
void Flash::CommandSetEraseOffs(u32 val) { eraseOffs = (val & 0xffff) << 7; }
|
||||
|
||||
void Flash::CommandErase() {
|
||||
state = FlashState::Erase;
|
||||
@@ -97,9 +98,7 @@ void Flash::CommandSetWriteOffs(u32 val) {
|
||||
status = 0x1111800400C20000LL;
|
||||
}
|
||||
|
||||
void Flash::CommandWrite() {
|
||||
state = FlashState::Write;
|
||||
}
|
||||
void Flash::CommandWrite() { state = FlashState::Write; }
|
||||
|
||||
void Flash::CommandRead() {
|
||||
state = FlashState::Read;
|
||||
@@ -109,12 +108,7 @@ void Flash::CommandRead() {
|
||||
std::vector<u8> Flash::Serialize() {
|
||||
std::vector<u8> res{};
|
||||
|
||||
res.resize(
|
||||
sizeof(state) +
|
||||
sizeof(status) +
|
||||
sizeof(eraseOffs) +
|
||||
sizeof(writeOffs) +
|
||||
128);
|
||||
res.resize(sizeof(state) + sizeof(status) + sizeof(eraseOffs) + sizeof(writeOffs) + 128);
|
||||
|
||||
u32 index = 0;
|
||||
memcpy(res.data() + index, &state, sizeof(state));
|
||||
@@ -130,7 +124,7 @@ std::vector<u8> Flash::Serialize() {
|
||||
return res;
|
||||
}
|
||||
|
||||
void Flash::Deserialize(const std::vector<u8>& data) {
|
||||
void Flash::Deserialize(const std::vector<u8> &data) {
|
||||
u32 index = 0;
|
||||
memcpy(&state, data.data() + index, sizeof(state));
|
||||
index += sizeof(state);
|
||||
@@ -143,44 +137,70 @@ void Flash::Deserialize(const std::vector<u8>& data) {
|
||||
std::copy(data.begin() + index, data.begin() + index + 128, writeBuf.begin());
|
||||
}
|
||||
|
||||
template <> void Flash::Write<u32>(u32 index, u32 val) {
|
||||
if(index > 0) {
|
||||
template <>
|
||||
void Flash::Write<u32>(u32 index, u32 val) {
|
||||
if (index > 0) {
|
||||
u8 cmd = val >> 24;
|
||||
switch(cmd) {
|
||||
case FLASH_COMMAND_EXECUTE: CommandExecute(); break;
|
||||
case FLASH_COMMAND_STATUS: CommandStatus(); break;
|
||||
case FLASH_COMMAND_SET_ERASE_OFFSET: CommandSetEraseOffs(val); break;
|
||||
case FLASH_COMMAND_ERASE: CommandErase(); break;
|
||||
case FLASH_COMMAND_SET_WRITE_OFFSET: CommandSetWriteOffs(val); break;
|
||||
case FLASH_COMMAND_WRITE: CommandWrite(); break;
|
||||
case FLASH_COMMAND_READ: CommandRead(); break;
|
||||
default: Util::warn("Invalid flash command: {:02X}", cmd);
|
||||
switch (cmd) {
|
||||
case FLASH_COMMAND_EXECUTE:
|
||||
CommandExecute();
|
||||
break;
|
||||
case FLASH_COMMAND_STATUS:
|
||||
CommandStatus();
|
||||
break;
|
||||
case FLASH_COMMAND_SET_ERASE_OFFSET:
|
||||
CommandSetEraseOffs(val);
|
||||
break;
|
||||
case FLASH_COMMAND_ERASE:
|
||||
CommandErase();
|
||||
break;
|
||||
case FLASH_COMMAND_SET_WRITE_OFFSET:
|
||||
CommandSetWriteOffs(val);
|
||||
break;
|
||||
case FLASH_COMMAND_WRITE:
|
||||
CommandWrite();
|
||||
break;
|
||||
case FLASH_COMMAND_READ:
|
||||
CommandRead();
|
||||
break;
|
||||
default:
|
||||
Util::warn("Invalid flash command: {:02X}", cmd);
|
||||
}
|
||||
} else {
|
||||
Util::warn("Flash Write of {:08X} @ {:08X}", val, index);
|
||||
}
|
||||
}
|
||||
|
||||
template <> void Flash::Write<u8>(u32 index, u8 val) {
|
||||
switch(state) {
|
||||
case FlashState::Idle: Util::panic("Invalid FlashState::Idle with Write<u8>");
|
||||
case FlashState::Status: Util::panic("Invalid FlashState::Status with Write<u8>");
|
||||
case FlashState::Erase: Util::panic("Invalid FlashState::Erase with Write<u8>");
|
||||
case FlashState::Read: Util::panic("Invalid FlashState::Read with Write<u8>");
|
||||
case FlashState::Write:
|
||||
assert(index <= 0x7F && "Out of range flash Write8");
|
||||
writeBuf[index] = val;
|
||||
break;
|
||||
default: Util::warn("Invalid flash state on Write<u8>: {:02X}", static_cast<u8>(state));
|
||||
template <>
|
||||
void Flash::Write<u8>(u32 index, u8 val) {
|
||||
switch (state) {
|
||||
case FlashState::Idle:
|
||||
Util::panic("Invalid FlashState::Idle with Write<u8>");
|
||||
case FlashState::Status:
|
||||
Util::panic("Invalid FlashState::Status with Write<u8>");
|
||||
case FlashState::Erase:
|
||||
Util::panic("Invalid FlashState::Erase with Write<u8>");
|
||||
case FlashState::Read:
|
||||
Util::panic("Invalid FlashState::Read with Write<u8>");
|
||||
case FlashState::Write:
|
||||
assert(index <= 0x7F && "Out of range flash Write8");
|
||||
writeBuf[index] = val;
|
||||
break;
|
||||
default:
|
||||
Util::warn("Invalid flash state on Write<u8>: {:02X}", static_cast<u8>(state));
|
||||
}
|
||||
}
|
||||
|
||||
template <> u8 Flash::Read<u8>(u32 index) const {
|
||||
template <>
|
||||
u8 Flash::Read<u8>(u32 index) const {
|
||||
switch (state) {
|
||||
case FlashState::Idle: Util::panic("Flash read byte while in state FLASH_STATE_IDLE");
|
||||
case FlashState::Write: Util::panic("Flash read byte while in state FLASH_STATE_WRITE");
|
||||
case FlashState::Read: {
|
||||
if(saveData.is_mapped()) {
|
||||
case FlashState::Idle:
|
||||
Util::panic("Flash read byte while in state FLASH_STATE_IDLE");
|
||||
case FlashState::Write:
|
||||
Util::panic("Flash read byte while in state FLASH_STATE_WRITE");
|
||||
case FlashState::Read:
|
||||
{
|
||||
if (saveData.is_mapped()) {
|
||||
u8 value = saveData[index];
|
||||
Util::trace("Flash read byte in state read: index {:08X} = {:02X}", index, value);
|
||||
return value;
|
||||
@@ -188,17 +208,20 @@ template <> u8 Flash::Read<u8>(u32 index) const {
|
||||
Util::panic("Accessing flash when not mapped!");
|
||||
}
|
||||
}
|
||||
case FlashState::Status: {
|
||||
case FlashState::Status:
|
||||
{
|
||||
u32 offset = (7 - (index % 8)) * 8;
|
||||
u8 value = (status >> offset) & 0xFF;
|
||||
Util::trace("Flash read byte in state status: index {:08X} = {:02X}", index, value);
|
||||
return value;
|
||||
}
|
||||
default: Util::panic("Flash read byte while in unknown state");
|
||||
default:
|
||||
Util::panic("Flash read byte while in unknown state");
|
||||
}
|
||||
}
|
||||
|
||||
template <> u32 Flash::Read<u32>(u32) const {
|
||||
template <>
|
||||
u32 Flash::Read<u32>(u32) const {
|
||||
return status >> 32;
|
||||
}
|
||||
}
|
||||
} // namespace n64
|
||||
|
||||
Reference in New Issue
Block a user