summaryrefslogtreecommitdiff
path: root/src/CPUContext.h
blob: a1402e6a2680e614ff163456511e0875e5b07cb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once

struct Instruction;
struct Bus;

#include <cstdint>
#include <memory>

struct CPUContext {
  Instruction& m_Instruction;
  uint32_t& m_InstructionPointer;
  uint32_t& m_Flags;
  uint32_t* m_Registers;
  std::shared_ptr<Bus> m_Bus;
  bool& m_IsHalted;
  
  CPUContext(Instruction& i, uint32_t& ip, uint32_t& flags, uint32_t* reg, std::shared_ptr<Bus>& bus, bool& isHalted);
  ~CPUContext();
};