6502-emulator/src/main.cpp

31 lines
784 B
C++
Raw Normal View History

#include <iostream>
#include <memory>
#include <vector>
2019-04-23 20:19:00 +00:00
#include <fstream>
#include "machine/machine.h"
#include "machine/terminal.h"
#include "machine/memory.h"
#include "opcode/opcode-handler-directory.h"
#include "opcode/handler/load-opcode-handler-container.h"
using namespace std;
using namespace emu_6502;
int main() {
2019-04-26 16:29:33 +00:00
string binary = "sample/a.o65";
//string binary = "/home/tony/Downloads/6502_functional_test.bin";
ifstream in(binary, ios::binary);
2019-04-23 20:19:00 +00:00
if (in.fail())
throw runtime_error("Failed to read program file");
2019-04-23 20:19:00 +00:00
vector<uint8_t> code(
(istreambuf_iterator<char>(in)),
(istreambuf_iterator<char>()));
auto machine = make_unique<Machine>();
machine->load(code, 0x600);
machine->execute();
return 0;
2019-04-26 16:29:33 +00:00
}