mirror of
https://github.com/cc65/cc65.git
synced 2025-01-14 16:33:00 +00:00
Fixed INIT properties.
The main chunk load header references __BSS_LOAD__ so BSS must be the first bss type segment. Subsequent changes will move ONCE to share its address with the BSS. Then it'll be necessary to load INIT from disk. Therefore we do it right now.
This commit is contained in:
parent
692f96409d
commit
c768de156a
@ -11,31 +11,31 @@ SYMBOLS {
|
|||||||
__RESERVED_MEMORY__: type = weak, value = $0000;
|
__RESERVED_MEMORY__: type = weak, value = $0000;
|
||||||
}
|
}
|
||||||
MEMORY {
|
MEMORY {
|
||||||
ZP: file = "", define = yes, start = $0082, size = $007E;
|
ZP: file = "", define = yes, start = $0082, size = $007E;
|
||||||
|
|
||||||
# file header, just $FFFF
|
# file header, just $FFFF
|
||||||
HEADER: file = %O, start = $0000, size = $0002;
|
HEADER: file = %O, start = $0000, size = $0002;
|
||||||
|
|
||||||
# "system check" load chunk
|
# "system check" load chunk
|
||||||
SYSCHKHDR: file = %O, start = $0000, size = $0004;
|
SYSCHKHDR: file = %O, start = $0000, size = $0004;
|
||||||
SYSCHKCHNK: file = %O, start = $2E00, size = $0300;
|
SYSCHKCHNK: file = %O, start = $2E00, size = $0300;
|
||||||
SYSCHKTRL: file = %O, start = $0000, size = $0006;
|
SYSCHKTRL: file = %O, start = $0000, size = $0006;
|
||||||
|
|
||||||
# "main program" load chunk
|
# "main program" load chunk
|
||||||
MAINHDR: file = %O, start = $0000, size = $0004;
|
MAINHDR: file = %O, start = $0000, size = $0004;
|
||||||
MAIN: file = %O, define = yes, start = %S + __OVERLAYSIZE__,
|
MAIN: file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = $BC20 - __OVERLAYSIZE__ - __STACKSIZE__ - __RESERVED_MEMORY__ - %S;
|
||||||
size = $BC20 - __OVERLAYSIZE__ - __STACKSIZE__ - __RESERVED_MEMORY__ - %S;
|
TRAILER: file = %O, start = $0000, size = $0006;
|
||||||
TRAILER: file = %O, start = $0000, size = $0006;
|
|
||||||
|
|
||||||
OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__;
|
# overlays
|
||||||
OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__;
|
OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__;
|
OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL4: file = "%O.4", start = %S, size = __OVERLAYSIZE__;
|
OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL5: file = "%O.5", start = %S, size = __OVERLAYSIZE__;
|
OVL4: file = "%O.4", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL6: file = "%O.6", start = %S, size = __OVERLAYSIZE__;
|
OVL5: file = "%O.5", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL7: file = "%O.7", start = %S, size = __OVERLAYSIZE__;
|
OVL6: file = "%O.6", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL8: file = "%O.8", start = %S, size = __OVERLAYSIZE__;
|
OVL7: file = "%O.7", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL9: file = "%O.9", start = %S, size = __OVERLAYSIZE__;
|
OVL8: file = "%O.8", start = %S, size = __OVERLAYSIZE__;
|
||||||
|
OVL9: file = "%O.9", start = %S, size = __OVERLAYSIZE__;
|
||||||
}
|
}
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
@ -51,7 +51,7 @@ SEGMENTS {
|
|||||||
CODE: load = MAIN, type = ro, define = yes;
|
CODE: load = MAIN, type = ro, define = yes;
|
||||||
RODATA: load = MAIN, type = ro;
|
RODATA: load = MAIN, type = ro;
|
||||||
DATA: load = MAIN, type = rw;
|
DATA: load = MAIN, type = rw;
|
||||||
INIT: load = MAIN, type = bss, optional = yes;
|
INIT: load = MAIN, type = rw, optional = yes;
|
||||||
BSS: load = MAIN, type = bss, define = yes;
|
BSS: load = MAIN, type = bss, define = yes;
|
||||||
AUTOSTRT: load = TRAILER, type = ro;
|
AUTOSTRT: load = TRAILER, type = ro;
|
||||||
OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes;
|
OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes;
|
||||||
|
@ -39,7 +39,7 @@ SEGMENTS {
|
|||||||
CODE: load = MAIN, type = ro, define = yes;
|
CODE: load = MAIN, type = ro, define = yes;
|
||||||
RODATA: load = MAIN, type = ro;
|
RODATA: load = MAIN, type = ro;
|
||||||
DATA: load = MAIN, type = rw;
|
DATA: load = MAIN, type = rw;
|
||||||
INIT: load = MAIN, type = bss, optional = yes;
|
INIT: load = MAIN, type = rw, optional = yes;
|
||||||
BSS: load = MAIN, type = bss, define = yes;
|
BSS: load = MAIN, type = bss, define = yes;
|
||||||
AUTOSTRT: load = TRAILER, type = ro;
|
AUTOSTRT: load = TRAILER, type = ro;
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
FEATURES {
|
FEATURES {
|
||||||
STARTADDRESS: default = $2400;
|
STARTADDRESS: default = $2400;
|
||||||
}
|
}
|
||||||
|
|
||||||
SYMBOLS {
|
SYMBOLS {
|
||||||
__EXEHDR__: type = import;
|
__EXEHDR__: type = import;
|
||||||
__SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk
|
__SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk
|
||||||
@ -14,41 +13,35 @@ SYMBOLS {
|
|||||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||||
__STARTADDRESS__: type = export, value = %S;
|
__STARTADDRESS__: type = export, value = %S;
|
||||||
}
|
}
|
||||||
|
|
||||||
MEMORY {
|
MEMORY {
|
||||||
ZP: file = "", define = yes, start = $0082, size = $007E;
|
ZP: file = "", define = yes, start = $0082, size = $007E;
|
||||||
|
|
||||||
# just $FFFF
|
# just $FFFF
|
||||||
HEADER: file = %O, start = $0000, size = $0002;
|
HEADER: file = %O, start = $0000, size = $0002;
|
||||||
|
|
||||||
# "system check" load chunk
|
# "system check" load chunk
|
||||||
SYSCHKHDR: file = %O, start = $0000, size = $0004;
|
SYSCHKHDR: file = %O, start = $0000, size = $0004;
|
||||||
SYSCHKCHNK: file = %O, start = $2E00, size = $0300;
|
SYSCHKCHNK: file = %O, start = $2E00, size = $0300;
|
||||||
SYSCHKTRL: file = %O, start = $0000, size = $0006;
|
SYSCHKTRL: file = %O, start = $0000, size = $0006;
|
||||||
|
|
||||||
# "shadow RAM preparation" load chunk
|
# "shadow RAM preparation" load chunk
|
||||||
SRPREPHDR: file = %O, start = $0000, size = $0004;
|
SRPREPHDR: file = %O, start = $0000, size = $0004;
|
||||||
SRPREPCHNK: file = %O, define = yes, start = %S, size = $7C20 - %S - $07FF; # $07FF: space for temp. chargen buffer, 1K aligned
|
SRPREPCHNK: file = %O, define = yes, start = %S, size = $7C20 - %S - $07FF; # $07FF: space for temp. chargen buffer, 1K aligned
|
||||||
SRPREPTRL: file = %O, start = $0000, size = $0006;
|
SRPREPTRL: file = %O, start = $0000, size = $0006;
|
||||||
|
|
||||||
# "main program" load chunk
|
# "main program" load chunk
|
||||||
MAINHDR: file = %O, start = $0000, size = $0004;
|
MAINHDR: file = %O, start = $0000, size = $0004;
|
||||||
MAIN: file = %O, define = yes, start = %S +
|
MAIN: file = %O, define = yes, start = %S + __LOWBSS_SIZE__, size = $D000 - __STACKSIZE__ - %S - __LOWBSS_SIZE__;
|
||||||
__LOWBSS_SIZE__, size = $D000 -
|
|
||||||
__STACKSIZE__ -
|
|
||||||
%S -
|
|
||||||
__LOWBSS_SIZE__;
|
|
||||||
|
|
||||||
# defines entry point into program
|
# defines entry point into program
|
||||||
TRAILER: file = %O, start = $0000, size = $0006;
|
TRAILER: file = %O, start = $0000, size = $0006;
|
||||||
|
|
||||||
# address of relocated character generator
|
# address of relocated character generator
|
||||||
CHARGEN: file = "", define = yes, start = $D800, size = $0400;
|
CHARGEN: file = "", define = yes, start = $D800, size = $0400;
|
||||||
|
|
||||||
# memory beneath the ROM
|
# memory beneath the ROM
|
||||||
HIDDEN_RAM: file = "", define = yes, start = $DC00, size = $FFFA - $DC00;
|
HIDDEN_RAM: file = "", define = yes, start = $DC00, size = $FFFA - $DC00;
|
||||||
}
|
}
|
||||||
|
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
EXTZP: load = ZP, type = zp, optional = yes;
|
EXTZP: load = ZP, type = zp, optional = yes;
|
||||||
@ -73,7 +66,7 @@ SEGMENTS {
|
|||||||
CODE: load = MAIN, type = ro, define = yes;
|
CODE: load = MAIN, type = ro, define = yes;
|
||||||
RODATA: load = MAIN, type = ro;
|
RODATA: load = MAIN, type = ro;
|
||||||
DATA: load = MAIN, type = rw;
|
DATA: load = MAIN, type = rw;
|
||||||
INIT: load = MAIN, type = bss, optional = yes;
|
INIT: load = MAIN, type = rw, optional = yes;
|
||||||
BSS: load = MAIN, type = bss, define = yes;
|
BSS: load = MAIN, type = bss, define = yes;
|
||||||
AUTOSTRT: load = TRAILER, type = ro;
|
AUTOSTRT: load = TRAILER, type = ro;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
FEATURES {
|
FEATURES {
|
||||||
STARTADDRESS: default = $2400;
|
STARTADDRESS: default = $2400;
|
||||||
}
|
}
|
||||||
|
|
||||||
SYMBOLS {
|
SYMBOLS {
|
||||||
__EXEHDR__: type = import;
|
__EXEHDR__: type = import;
|
||||||
__SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk
|
__SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk
|
||||||
@ -10,57 +9,50 @@ SYMBOLS {
|
|||||||
__OVERLAYSIZE__: type = weak, value = $1000; # 4k overlay
|
__OVERLAYSIZE__: type = weak, value = $1000; # 4k overlay
|
||||||
__STARTADDRESS__: type = export, value = %S;
|
__STARTADDRESS__: type = export, value = %S;
|
||||||
}
|
}
|
||||||
|
|
||||||
MEMORY {
|
MEMORY {
|
||||||
ZP: file = "", define = yes, start = $0082, size = $007E;
|
ZP: file = "", define = yes, start = $0082, size = $007E;
|
||||||
|
|
||||||
# just $FFFF
|
# just $FFFF
|
||||||
HEADER: file = %O, start = $0000, size = $0002;
|
HEADER: file = %O, start = $0000, size = $0002;
|
||||||
|
|
||||||
# "system check" load chunk
|
# "system check" load chunk
|
||||||
SYSCHKHDR: file = %O, start = $0000, size = $0004;
|
SYSCHKHDR: file = %O, start = $0000, size = $0004;
|
||||||
SYSCHKCHNK: file = %O, start = $2E00, size = $0300;
|
SYSCHKCHNK: file = %O, start = $2E00, size = $0300;
|
||||||
SYSCHKTRL: file = %O, start = $0000, size = $0006;
|
SYSCHKTRL: file = %O, start = $0000, size = $0006;
|
||||||
|
|
||||||
# "shadow RAM preparation" load chunk
|
# "shadow RAM preparation" load chunk
|
||||||
SRPREPHDR: file = %O, start = $0000, size = $0004;
|
SRPREPHDR: file = %O, start = $0000, size = $0004;
|
||||||
SRPREPCHNK: file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = $7C20 - %S - __OVERLAYSIZE__ - $07FF; # $07FF: space for temp. chargen buffer, 1K aligned
|
SRPREPCHNK: file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = $7C20 - %S - __OVERLAYSIZE__ - $07FF; # $07FF: space for temp. chargen buffer, 1K aligned
|
||||||
SRPREPTRL: file = %O, start = $0000, size = $0006;
|
SRPREPTRL: file = %O, start = $0000, size = $0006;
|
||||||
|
|
||||||
# "main program" load chunk
|
# "main program" load chunk
|
||||||
MAINHDR: file = %O, start = $0000, size = $0004;
|
MAINHDR: file = %O, start = $0000, size = $0004;
|
||||||
MAIN: file = %O, define = yes, start = %S +
|
MAIN: file = %O, define = yes, start = %S + __OVERLAYSIZE__ +
|
||||||
__OVERLAYSIZE__ +
|
__LOWBSS_SIZE__, size = $D000 - __STACKSIZE__ - %S - __OVERLAYSIZE__ - __LOWBSS_SIZE__;
|
||||||
__LOWBSS_SIZE__, size = $D000 -
|
|
||||||
__STACKSIZE__ -
|
|
||||||
%S -
|
|
||||||
__OVERLAYSIZE__ -
|
|
||||||
__LOWBSS_SIZE__;
|
|
||||||
|
|
||||||
# defines entry point into program
|
# defines entry point into program
|
||||||
TRAILER: file = %O, start = $0000, size = $0006;
|
TRAILER: file = %O, start = $0000, size = $0006;
|
||||||
|
|
||||||
# memory beneath the ROM preceeding the character generator
|
# memory beneath the ROM preceeding the character generator
|
||||||
HIDDEN_RAM2: file = "", define = yes, start = $D800, size = $0800;
|
HIDDEN_RAM2: file = "", define = yes, start = $D800, size = $0800;
|
||||||
|
|
||||||
# address of relocated character generator (same addess as ROM version)
|
# address of relocated character generator (same addess as ROM version)
|
||||||
CHARGEN: file = "", define = yes, start = $E000, size = $0400;
|
CHARGEN: file = "", define = yes, start = $E000, size = $0400;
|
||||||
|
|
||||||
# memory beneath the ROM
|
# memory beneath the ROM
|
||||||
HIDDEN_RAM: file = "", define = yes, start = $E400, size = $FFFA - $E400;
|
HIDDEN_RAM: file = "", define = yes, start = $E400, size = $FFFA - $E400;
|
||||||
|
|
||||||
# overlays
|
# overlays
|
||||||
OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__;
|
OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__;
|
OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__;
|
OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL4: file = "%O.4", start = %S, size = __OVERLAYSIZE__;
|
OVL4: file = "%O.4", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL5: file = "%O.5", start = %S, size = __OVERLAYSIZE__;
|
OVL5: file = "%O.5", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL6: file = "%O.6", start = %S, size = __OVERLAYSIZE__;
|
OVL6: file = "%O.6", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL7: file = "%O.7", start = %S, size = __OVERLAYSIZE__;
|
OVL7: file = "%O.7", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL8: file = "%O.8", start = %S, size = __OVERLAYSIZE__;
|
OVL8: file = "%O.8", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL9: file = "%O.9", start = %S, size = __OVERLAYSIZE__;
|
OVL9: file = "%O.9", start = %S, size = __OVERLAYSIZE__;
|
||||||
}
|
}
|
||||||
|
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
EXTZP: load = ZP, type = zp, optional = yes;
|
EXTZP: load = ZP, type = zp, optional = yes;
|
||||||
@ -85,7 +77,7 @@ SEGMENTS {
|
|||||||
CODE: load = MAIN, type = ro, define = yes;
|
CODE: load = MAIN, type = ro, define = yes;
|
||||||
RODATA: load = MAIN, type = ro;
|
RODATA: load = MAIN, type = ro;
|
||||||
DATA: load = MAIN, type = rw;
|
DATA: load = MAIN, type = rw;
|
||||||
INIT: load = MAIN, type = bss, optional = yes;
|
INIT: load = MAIN, type = rw, optional = yes;
|
||||||
BSS: load = MAIN, type = bss, define = yes;
|
BSS: load = MAIN, type = bss, define = yes;
|
||||||
AUTOSTRT: load = TRAILER, type = ro;
|
AUTOSTRT: load = TRAILER, type = ro;
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
FEATURES {
|
FEATURES {
|
||||||
STARTADDRESS: default = $2400;
|
STARTADDRESS: default = $2400;
|
||||||
}
|
}
|
||||||
|
|
||||||
SYMBOLS {
|
SYMBOLS {
|
||||||
__EXEHDR__: type = import;
|
__EXEHDR__: type = import;
|
||||||
__SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk
|
__SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk
|
||||||
@ -9,44 +8,38 @@ SYMBOLS {
|
|||||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||||
__STARTADDRESS__: type = export, value = %S;
|
__STARTADDRESS__: type = export, value = %S;
|
||||||
}
|
}
|
||||||
|
|
||||||
MEMORY {
|
MEMORY {
|
||||||
ZP: file = "", define = yes, start = $0082, size = $007E;
|
ZP: file = "", define = yes, start = $0082, size = $007E;
|
||||||
|
|
||||||
# just $FFFF
|
# just $FFFF
|
||||||
HEADER: file = %O, start = $0000, size = $0002;
|
HEADER: file = %O, start = $0000, size = $0002;
|
||||||
|
|
||||||
# "system check" load chunk
|
# "system check" load chunk
|
||||||
SYSCHKHDR: file = %O, start = $0000, size = $0004;
|
SYSCHKHDR: file = %O, start = $0000, size = $0004;
|
||||||
SYSCHKCHNK: file = %O, start = $2E00, size = $0300;
|
SYSCHKCHNK: file = %O, start = $2E00, size = $0300;
|
||||||
SYSCHKTRL: file = %O, start = $0000, size = $0006;
|
SYSCHKTRL: file = %O, start = $0000, size = $0006;
|
||||||
|
|
||||||
# "shadow RAM preparation" load chunk
|
# "shadow RAM preparation" load chunk
|
||||||
SRPREPHDR: file = %O, start = $0000, size = $0004;
|
SRPREPHDR: file = %O, start = $0000, size = $0004;
|
||||||
SRPREPCHNK: file = %O, define = yes, start = %S, size = $7C20 - %S - $07FF; # $07FF: space for temp. chargen buffer, 1K aligned
|
SRPREPCHNK: file = %O, define = yes, start = %S, size = $7C20 - %S - $07FF; # $07FF: space for temp. chargen buffer, 1K aligned
|
||||||
SRPREPTRL: file = %O, start = $0000, size = $0006;
|
SRPREPTRL: file = %O, start = $0000, size = $0006;
|
||||||
|
|
||||||
# "main program" load chunk
|
# "main program" load chunk
|
||||||
MAINHDR: file = %O, start = $0000, size = $0004;
|
MAINHDR: file = %O, start = $0000, size = $0004;
|
||||||
MAIN: file = %O, define = yes, start = %S +
|
MAIN: file = %O, define = yes, start = %S + __LOWBSS_SIZE__, size = $D000 - __STACKSIZE__ - %S - __LOWBSS_SIZE__;
|
||||||
__LOWBSS_SIZE__, size = $D000 -
|
|
||||||
__STACKSIZE__ -
|
|
||||||
%S -
|
|
||||||
__LOWBSS_SIZE__;
|
|
||||||
|
|
||||||
# defines entry point into program
|
# defines entry point into program
|
||||||
TRAILER: file = %O, start = $0000, size = $0006;
|
TRAILER: file = %O, start = $0000, size = $0006;
|
||||||
|
|
||||||
# memory beneath the ROM preceeding the character generator
|
# memory beneath the ROM preceeding the character generator
|
||||||
HIDDEN_RAM2: file = "", define = yes, start = $D800, size = $0800;
|
HIDDEN_RAM2: file = "", define = yes, start = $D800, size = $0800;
|
||||||
|
|
||||||
# address of relocated character generator (same addess as ROM version)
|
# address of relocated character generator (same addess as ROM version)
|
||||||
CHARGEN: file = "", define = yes, start = $E000, size = $0400;
|
CHARGEN: file = "", define = yes, start = $E000, size = $0400;
|
||||||
|
|
||||||
# memory beneath the ROM
|
# memory beneath the ROM
|
||||||
HIDDEN_RAM: file = "", define = yes, start = $E400, size = $FFFA - $E400;
|
HIDDEN_RAM: file = "", define = yes, start = $E400, size = $FFFA - $E400;
|
||||||
}
|
}
|
||||||
|
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
EXTZP: load = ZP, type = zp, optional = yes;
|
EXTZP: load = ZP, type = zp, optional = yes;
|
||||||
@ -71,7 +64,7 @@ SEGMENTS {
|
|||||||
CODE: load = MAIN, type = ro, define = yes;
|
CODE: load = MAIN, type = ro, define = yes;
|
||||||
RODATA: load = MAIN, type = ro;
|
RODATA: load = MAIN, type = ro;
|
||||||
DATA: load = MAIN, type = rw;
|
DATA: load = MAIN, type = rw;
|
||||||
INIT: load = MAIN, type = bss, optional = yes;
|
INIT: load = MAIN, type = rw, optional = yes;
|
||||||
BSS: load = MAIN, type = bss, define = yes;
|
BSS: load = MAIN, type = bss, define = yes;
|
||||||
AUTOSTRT: load = TRAILER, type = ro;
|
AUTOSTRT: load = TRAILER, type = ro;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user