📄 ndshead.cpp
字号:
#include <string.h>#include <string>#include <fstream>#include "ndshead.h"#include "byteswap.h"#include "log.h"NDShead::NDShead(std::string file){ std::ifstream input(file.c_str(), std::ios::binary); input.read((char*)&head, 512); input.close();}NDShead::NDShead(u8 *file){ memcpy((void*)&head, file, 512); byteswap();}void NDShead::byteswap(){ head.arm9src = mtohl(head.arm9src); head.arm9exec = mtohl(head.arm9exec); head.arm9dest = mtohl(head.arm9dest); head.arm9size = mtohl(head.arm9size); head.arm9unk = mtohl(head.arm9unk); head.arm7src = mtohl(head.arm7src); head.arm7exec = mtohl(head.arm7exec); head.arm7dest = mtohl(head.arm7dest); head.arm7size = mtohl(head.arm7size); head.arm7unk = mtohl(head.arm7unk); head.ftablesrc = mtohl(head.ftablesrc); head.ftablesize = mtohl(head.ftablesize); head.fdatasrc = mtohl(head.fdatasrc); head.fdatasize = mtohl(head.fdatasize); head.RESa = mtohl(head.RESa); head.RESb = mtohl(head.RESb); head.bannersrc = mtohl(head.bannersrc); head.romsize = mtohl(head.romsize); head.headsize = mtohl(head.headsize); head.crcsec = mtohs(head.crcsec); head.timeout = mtohs(head.timeout); head.crclogo = mtohs(head.crclogo); head.crchead = mtohs(head.crchead);}void NDShead::print(){ char str[128]; sprintf(str, "ROM size: %08X", head.romsize); Logger::log("NDS header") << str; sprintf(str,"ARM9: src=%08X, dest=%08X, size=%08X, start=%08X", head.arm9src, head.arm9dest, head.arm9size, head.arm9exec); Logger::log("NDS header") << str; sprintf(str,"ARM7: src=%08X, dest=%08X, size=%08X, start=%08X", head.arm7src, head.arm7dest, head.arm7size, head.arm7exec); Logger::log("NDS header") << str;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -