vcpu 0.2.0

A virtual cpu, modeled after the 6502
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use thiserror::Error;

#[derive(Error, Debug)]
pub enum CpuError {
  #[error("op code `{0:02X}` is invalid")]
  InvalidOpCode(u8),
  #[error("program counter overflowed")]
  ProgramCounterOverflow,
  #[error("memory address `0x{0:04X}` is invalid")]
  InvalidAddress(u16),
  #[error("attempted to write to read-only memory address `0x{0:04X}`")]
  WriteToRomAddress(u16),
  #[error("{0}")]
  Other(String),
}