SYMBOLS {
- __STACKSIZE__: type = weak, value = $0400; # 1k stack
- __OVERLAYADDR__: type = weak, value = $0C00;
+ __STACKSIZE__: type = weak, value = $0400;
+ __BACKBUFSIZE__: type = weak, value = $2000;
__OVERLAYSIZE__: type = weak, value = $2000 - $0C00;
+ __OVERLAYADDR__: type = weak, value = $0C00;
+ __VLIR0END__: type = weak, value = $C000 - __BACKBUFSIZE__ - __STACKSIZE__;
}
MEMORY {
CVT: file = %O, start = $0, size = $20000;
ZP: define = yes, start = $80, size = $1A + $06;
- VLIR0: define = yes, start = $4000, size = $A000 - $4000 - __STACKSIZE__;
+ VLIR0: define = yes, start = $4000, size = __VLIR0END__ - $4000;
VLIR1: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
VLIR2: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
VLIR3: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
SYMBOLS {
- __STACKSIZE__: type = weak, value = $0400; # 1k stack
- __OVERLAYSIZE__: type = weak, value = $0000; # no overlays by default
- __OVERLAYADDR__: type = weak, value = $6000 - __OVERLAYSIZE__;
+ __STACKSIZE__: type = weak, value = $0400;
+ __BACKBUFSIZE__: type = weak, value = $2000;
+ __OVERLAYSIZE__: type = weak, value = $0000;
+ __OVERLAYADDR__: type = weak, value = $8000 - __BACKBUFSIZE__ - __OVERLAYSIZE__;
+ __VLIR0END__: type = weak, value = __OVERLAYADDR__ - __STACKSIZE__;
}
MEMORY {
- CVT: file = %O, start = $0, size = $80000;
+ CVT: file = %O, start = $0, size = $40000;
ZP: define = yes, start = $58, size = $1A + $06;
- VLIR0: define = yes, start = $0400, size = __OVERLAYADDR__ - __STACKSIZE__ - $0400;
+ VLIR0: define = yes, start = $0400, size = __VLIR0END__ - $0400;
VLIR1: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
VLIR2: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
VLIR3: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;