summaryrefslogtreecommitdiff
path: root/src/bedrock.rs
blob: 8d03e12531a434e438c18c1df255f7fa95044c2d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use crate::*;


pub struct Bedrock<D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF> {
    pub mem: ProgramMemory,
    pub wst: Stack,
    pub rst: Stack,
    pub dev: DeviceBus<D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF>,
    pub cyc: usize,
}

impl<D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF> Bedrock<D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF> {
    pub fn new(device_bus: DeviceBus<D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF>) -> Self {
        Self {
            mem: ProgramMemory::new(),
            wst: Stack::new(),
            rst: Stack::new(),
            dev: device_bus,
            cyc: 0,
        }
    }
}