2019-04-15 22:51:04 +00:00
|
|
|
#include <iostream>
|
|
|
|
#include <memory>
|
|
|
|
#include <vector>
|
2019-04-23 20:19:00 +00:00
|
|
|
#include <fstream>
|
2019-04-15 22:51:04 +00:00
|
|
|
#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-23 20:19:00 +00:00
|
|
|
ifstream in("/home/tony/CLionProjects/6502-emulator/sample/a.o65", ios::binary);
|
|
|
|
if (in.fail())
|
|
|
|
throw runtime_error("Failed to read program file");
|
2019-04-15 22:51:04 +00:00
|
|
|
|
2019-04-23 20:19:00 +00:00
|
|
|
vector<uint8_t> code(
|
|
|
|
(istreambuf_iterator<char>(in)),
|
|
|
|
(istreambuf_iterator<char>()));
|
2019-04-15 22:51:04 +00:00
|
|
|
|
|
|
|
auto machine = make_unique<Machine>();
|
2019-04-23 23:40:31 +00:00
|
|
|
machine->load(code, 0x1000);
|
2019-04-15 22:51:04 +00:00
|
|
|
machine->execute();
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|