-
Notifications
You must be signed in to change notification settings - Fork 0
/
lorom256k.cfg
53 lines (47 loc) · 1.95 KB
/
lorom256k.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# ca65 linker config for 256 KiB (2 Mbit) sfc file
# Copyright 2014-2015 Damian Yerrick
# modified by Doug Fraker 2020
# Physical areas of memory
MEMORY {
ZEROPAGE: start = $000000, size = $0100;
BSS: start = $000100, size = $1E00;
BSS7E: start = $7E2000, size = $E000;
BSS7F: start = $7F0000, size = $10000;
SRAM: start = $700000, size = $800;
# fastROM
ROM0: start = $808000, size = $8000, fill = yes;
ROM1: start = $818000, size = $8000, fill = yes;
ROM2: start = $828000, size = $8000, fill = yes;
ROM3: start = $838000, size = $8000, fill = yes;
ROM4: start = $848000, size = $8000, fill = yes;
ROM5: start = $858000, size = $8000, fill = yes;
ROM6: start = $868000, size = $8000, fill = yes;
ROM7: start = $878000, size = $8000, fill = yes;
}
# Logical areas code/data can be put into.
SEGMENTS {
# Read-only areas for main CPU
CODE: load = ROM0;
RODATA: load = ROM0;
SNESHEADER: load = ROM0, start = $80FFC0;
CODE1: load = ROM1, optional=yes;
RODATA1: load = ROM1, optional=yes;
CODE2: load = ROM2, optional=yes;
RODATA2: load = ROM2, optional=yes;
CODE3: load = ROM3, optional=yes;
RODATA3: load = ROM3, optional=yes;
CODE4: load = ROM4, optional=yes;
RODATA4: load = ROM4, optional=yes;
CODE5: load = ROM5, optional=yes;
RODATA5: load = ROM5, optional=yes;
CODE6: load = ROM6, optional=yes;
RODATA6: load = ROM6, optional=yes;
CODE7: load = ROM7, optional=yes;
RODATA7: load = ROM7, optional=yes;
# Areas for variables for main CPU
ZEROPAGE: load = ZEROPAGE, type = zp, define=yes;
BSS: load = BSS, type = bss, align = $100, optional=yes;
BSS7E: load = BSS7E, type = bss, align = $100, optional=yes;
BSS7F: load = BSS7F, type = bss, align = $100, optional=yes;
SRAM: load = SRAM, type = bss, align = $100, optional=yes;
}