summaryrefslogtreecommitdiff
path: root/Q1.core/Arch/ChipLayout.cs
blob: 2948f9a396f5e1146fcbeab99fa120be8eab955f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
namespace Q1.core.Arch;

public static class ChipLayout
{
    public const u16 MEMORY_START = 0x0000;
    public const u16 MEMORY_SIZE = 0x4000; // 16KB of memory (0x0000 to 0x3FFF)
    
    public const u16 IVT_START = ChipLayout.MEMORY_START;
    public const u16 IVT_SIZE = 256; // 256 bytes for 128 interrupt vectors (2 bytes each)
    
    public const u16 STACK_START = ChipLayout.IVT_START + ChipLayout.IVT_SIZE;
    public const u16 STACK_SIZE = 256 * 2; // 256 words (512 bytes)
    
    public const u16 PROGRAM_START = ChipLayout.MEMORY_START + ChipLayout.STACK_SIZE;
}