use crate::constants::constants_system::SIZE_32KB;
use crate::mos6502cpu::Mos6502Cpu;
use crate::periph::at28c256::At28C256;
use crate::periph::mos6532::Mos6532;

pub struct SingleBreadboard {
    pub cpu: Mos6502Cpu,
    pub ram: At28C256,
    pub via: Mos6532
}

impl SingleBreadboard {
    pub fn new() -> Self {
        SingleBreadboard {
            cpu: Mos6502Cpu::default(),
            ram: At28C256::new(0xf000, 0xffff, vec![0x00; SIZE_32KB]),
            via: Mos6532::new(0x0000, 0x0080)
        }
    }
}
