use crate::constants::constants_system::{MOS6502_RESET_CYCLE_COUNT, OFFSET_RESET_VECTOR, SIZE_64KB};
use crate::mos6502cpu::Mos6502Cpu;

impl Mos6502Cpu {
    pub fn new() -> Mos6502Cpu {
        let array = [0x00u8; SIZE_64KB];
        let mut working = Mos6502Cpu {
            memory: array,
            ir_bytes: [0x00; 4],
            ..Default::default()
        };
        working.reset_cpu();
        working
    }

    pub(crate) fn reset_cpu(&mut self) {
        self.microcode_step = MOS6502_RESET_CYCLE_COUNT as u8;
        // self = &mut Mos6502Cpu::default();
        println!("Should tick 7 times, then 6 cycles to read the reset and int vectors.");
        // read the value at 0xfffa 0xfffb for our NMI vector.
        // read the value at 0xfffc 0xfffd for our reset vector.
        // read the value at 0xfffe 0xffff for our int vector
    }
}