1
0
mirror of https://github.com/cc65/cc65.git synced 2025-03-02 18:30:09 +00:00

Restored the old C-stack initiation code.

I had forgotten that the stack must be put below the CBM overlays.
This commit is contained in:
Greg King 2015-10-08 05:05:48 -04:00
parent 8a880580dc
commit ca70700a0b
3 changed files with 6 additions and 5 deletions

View File

@ -14,7 +14,7 @@ MEMORY {
ZP: file = "", define = yes, start = $0002, size = $001A; ZP: file = "", define = yes, start = $0002, size = $001A;
LOADADDR: file = %O, start = %S - 2, size = $0002; LOADADDR: file = %O, start = %S - 2, size = $0002;
HEADER: file = %O, define = yes, start = %S, size = $000D; HEADER: file = %O, define = yes, start = %S, size = $000D;
RAM: file = %O, start = __HEADER_LAST__, size = __HIMEM__ - __OVERLAYSIZE__ - __STACKSIZE__ - __HEADER_LAST__; RAM: file = %O, define = yes, start = __HEADER_LAST__, size = __HIMEM__ - __OVERLAYSIZE__ - __STACKSIZE__ - __HEADER_LAST__;
MOVE: file = %O, start = __ZPSAVE_LOAD__, size = __HIMEM__ - __INIT_RUN__; MOVE: file = %O, start = __ZPSAVE_LOAD__, size = __HIMEM__ - __INIT_RUN__;
OVL1ADDR: file = "%O.1", start = __HIMEM2__ - __OVERLAYSIZE__, size = $0002; OVL1ADDR: file = "%O.1", start = __HIMEM2__ - __OVERLAYSIZE__, size = $0002;
OVL1: file = "%O.1", start = __HIMEM__ - __OVERLAYSIZE__, size = __OVERLAYSIZE__; OVL1: file = "%O.1", start = __HIMEM__ - __OVERLAYSIZE__, size = __OVERLAYSIZE__;

View File

@ -11,7 +11,7 @@ MEMORY {
ZP: file = "", define = yes, start = $0002, size = $001A; ZP: file = "", define = yes, start = $0002, size = $001A;
LOADADDR: file = %O, start = %S - 2, size = $0002; LOADADDR: file = %O, start = %S - 2, size = $0002;
HEADER: file = %O, define = yes, start = %S, size = $000D; HEADER: file = %O, define = yes, start = %S, size = $000D;
RAM: file = %O, start = __HEADER_LAST__, size = __HIMEM__ - __STACKSIZE__ - __HEADER_LAST__; RAM: file = %O, define = yes, start = __HEADER_LAST__, size = __HIMEM__ - __STACKSIZE__ - __HEADER_LAST__;
MOVE: file = %O, start = __ZPSAVE_LOAD__, size = __HIMEM__ - __INIT_RUN__; MOVE: file = %O, start = __ZPSAVE_LOAD__, size = __HIMEM__ - __INIT_RUN__;
} }
SEGMENTS { SEGMENTS {

View File

@ -8,7 +8,8 @@
.import initlib, donelib .import initlib, donelib
.import moveinit, zerobss, callmain .import moveinit, zerobss, callmain
.import BSOUT .import BSOUT
.import __HIMEM__ ; from configure file .import __RAM_START__, __RAM_SIZE__ ; Linker generated
.import __STACKSIZE__ ; from configure file
.importzp ST .importzp ST
.include "zeropage.inc" .include "zeropage.inc"
@ -105,8 +106,8 @@ L1: lda sp,x
; Set up the stack. ; Set up the stack.
lda #<__HIMEM__ lda #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
ldx #>__HIMEM__ ldx #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
sta sp sta sp
stx sp+1 ; Set argument stack ptr stx sp+1 ; Set argument stack ptr