-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
nsfe.cfg
66 lines (55 loc) · 2.99 KB
/
nsfe.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
54
55
56
57
58
59
60
61
62
63
64
65
66
# https://github.com/bbbradsmith/zensf
SYMBOLS
{
BANK_STUB: type = import, addrsize = abs;
ZP_LOW: type = import, addrsize = abs;
ZP_HIGH: type = import, addrsize = abs;
RAM_LOW: type = import, addrsize = abs;
NSFS_SIZE: type = weak, addrsize = abs, value = BANK_STUB * $1000;
}
MEMORY
{
RAM_ZP: start = ZP_LOW, size = ZP_HIGH - ZP_LOW, type = rw, file = "";
RAM_STACK: start = $0100, size = $80, type = rw, file = "";
RAM_MAIN: start = RAM_LOW, size = $800 - RAM_LOW, type = rw, file = "";
# dummy NSF header from nsf.s
NSF_HEADER: start = $0000, size = $80, type = ro, file = "";
# header, INFO, BANK, DATA chunks
CHNK_HEAD: start = $0000, size = 46, type = ro, file = %O;
CHNK_INFO: start = $0000, size = $1000, type = ro, file = %O, fill = no;
CHNK_BANK: start = $0000, size = $1000, type = ro, file = %O, fill = no;
CHNK_DATA: start = $0000, size = $1000, type = ro, file = %O, fill = no;
# DATA contents
ROM_NSFS: start = $0000, size = NSFS_SIZE, type = ro, file = %O, fill = yes, fillval = 0;
ROM_STUB: start = $8000, size = $1000, type = ro, file = %O, fill = no;
# more NSFe chunks
CHNK_auth: start = $0000, size = $1000, type = ro, file = %O, fill = no;
CHNK_time: start = $0000, size = $1000, type = ro, file = %O, fill = no;
CHNK_fade: start = $0000, size = $1000, type = ro, file = %O, fill = no;
CHNK_tlbl: start = $0000, size = $1000, type = ro, file = %O, fill = no;
CHNK_taut: start = $0000, size = $1000, type = ro, file = %O, fill = no;
CHNK_regn: start = $0000, size = $1000, type = ro, file = %O, fill = no;
CHNK_NEND: start = $0000, size = $1000, type = ro, file = %O, fill = no;
}
SEGMENTS
{
HEADER: load = NSF_HEADER, type = ro; # dummy
BASE_ZP: load = RAM_ZP, type = zp, define = yes, optional = yes;
STACK: load = RAM_STACK, type = bss, define = yes, optional = yes;
RAMP_CODE: load = ROM_STUB, type = ro, define = yes, run = RAM_MAIN;
RAMP_RAM: load = RAM_MAIN, type = rw, define = yes;
BASE_RAM: load = RAM_MAIN, type = bss, define = yes, optional = yes;
NSFS: load = ROM_NSFS, type = ro, define = yes;
STUB: load = ROM_STUB, type = ro, define = yes;
NSFE_HEAD: load = CHNK_HEAD, type = ro, define = yes;
NSFE_INFO: load = CHNK_INFO, type = ro, define = yes;
NSFE_BANK: load = CHNK_BANK, type = ro, define = yes;
NSFE_DATA: load = CHNK_DATA, type = ro, define = yes;
NSFE_auth: load = CHNK_auth, type = ro, define = yes, optional = yes;
NSFE_time: load = CHNK_time, type = ro, define = yes, optional = yes;
NSFE_fade: load = CHNK_fade, type = ro, define = yes, optional = yes;
NSFE_tlbl: load = CHNK_tlbl, type = ro, define = yes, optional = yes;
NSFE_taut: load = CHNK_taut, type = ro, define = yes, optional = yes;
NSFE_regn: load = CHNK_regn, type = ro, define = yes, optional = yes;
NSFE_NEND: load = CHNK_NEND, type = ro, define = yes;
}