2014-06-20 21:48:55 -04:00
|
|
|
#pragma once
|
|
|
|
|
2014-06-14 11:27:55 -04:00
|
|
|
#include "stdafx.h"
|
|
|
|
#include "CPU.h"
|
|
|
|
#include "PPU.h"
|
|
|
|
#include "BaseMapper.h"
|
|
|
|
#include "MemoryManager.h"
|
|
|
|
|
|
|
|
class Console
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
unique_ptr<CPU> _cpu;
|
2014-06-15 21:45:36 -04:00
|
|
|
unique_ptr<PPU> _ppu;
|
2014-06-19 19:58:15 -04:00
|
|
|
unique_ptr<BaseMapper> _mapper;
|
|
|
|
unique_ptr<MemoryManager> _memoryManager;
|
2014-06-14 11:27:55 -04:00
|
|
|
|
2014-06-20 21:48:55 -04:00
|
|
|
bool _stop = false;
|
|
|
|
bool _stopped = false;
|
|
|
|
|
2014-06-14 11:27:55 -04:00
|
|
|
public:
|
2014-06-20 21:48:55 -04:00
|
|
|
Console(wstring filename);
|
2014-06-14 11:27:55 -04:00
|
|
|
~Console();
|
|
|
|
void Run();
|
2014-06-20 21:48:55 -04:00
|
|
|
void Stop();
|
2014-06-14 18:20:56 -04:00
|
|
|
void RunTest(bool callback(Console*));
|
2014-06-14 11:27:55 -04:00
|
|
|
void Reset();
|
2014-06-14 18:20:56 -04:00
|
|
|
static void RunTests();
|
2014-06-20 21:48:55 -04:00
|
|
|
static void Load(wstring filename);
|
2014-06-14 11:27:55 -04:00
|
|
|
};
|