EightBit/LR35902/fusetest_LR35902/FuseRegisterState.cpp

37 lines
738 B
C++
Raw Normal View History

#include "stdafx.h"
#include "FuseRegisterState.h"
#include <Processor.h>
Fuse::RegisterState::RegisterState()
: registers(NUMBER_OF_REGISTERS) {
}
void Fuse::RegisterState::read(std::ifstream& file) {
readExternal(file);
readInternal(file);
}
void Fuse::RegisterState::readExternal(std::ifstream& file) {
for (int idx = 0; idx < registers.size(); ++idx) {
int input;
file >> input;
registers[idx] = input;
}
}
void Fuse::RegisterState::readInternal(std::ifstream& file) {
file >> halted;
file >> std::dec;
file >> tstates;
file >> std::hex;
}
std::string Fuse::RegisterState::hex(int value) {
std::ostringstream output;
output << std::hex
<< std::setw(4)
<< std::setfill('0')
<< value;
return output.str();
}