From: ol.sc 
Date: Sat, 2 Oct 2010 10:37:20 +0000 (+0000)
Subject: Now that we reduce the size of the RAM memory area by the stacksize in the linker... 
X-Git-Tag: V2.13.3~631
X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=d1f5b74f013b3ab62ba3fbc93b02328faeb58d04;p=cc65
Now that we reduce the size of the RAM memory area by the stacksize in the linker configuration we need to add the stacksize to end of the RAM area when setting the initial stack pointer in the startup code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4822 b7a2c559-68d2-44c3-8de9-860c34a00d81
---
diff --git a/libsrc/atmos/crt0.s b/libsrc/atmos/crt0.s
index 4fe9d5cbc..1f561cfe6 100644
--- a/libsrc/atmos/crt0.s
+++ b/libsrc/atmos/crt0.s
@@ -8,7 +8,8 @@
         .export         __STARTUP__ : absolute = 1      ; Mark as startup
 	.import		initlib, donelib
 	.import	     	callmain, zerobss
-       	.import	       	__RAM_START__, __RAM_SIZE__, __BSS_LOAD__
+       	.import	       	__RAM_START__, __RAM_SIZE__
+       	.import	       	__BSS_LOAD__, __STACKSIZE__
 
         .include        "zeropage.inc"
         .include        "atmos.inc"
@@ -60,9 +61,9 @@ L1:	lda	sp,x
        	tsx
        	stx    	spsave       	; save system stk ptr
 
-	lda    	#<(__RAM_START__ + __RAM_SIZE__)
+	lda    	#<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
 	sta	sp
-	lda	#>(__RAM_START__ + __RAM_SIZE__)
+	lda	#>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
        	sta	sp+1   		; Set argument stack ptr
 
 ; Call module constructors
diff --git a/libsrc/c128/crt0.s b/libsrc/c128/crt0.s
index f5ba7b9ab..be478e368 100644
--- a/libsrc/c128/crt0.s
+++ b/libsrc/c128/crt0.s
@@ -9,7 +9,7 @@
     	.import		push0, callmain
         .import         RESTOR, BSOUT, CLRCH
 	.import	       	__INTERRUPTOR_COUNT__
-    	.import	 	__RAM_START__, __RAM_SIZE__
+    	.import	 	__RAM_START__, __RAM_SIZE__, __STACKSIZE__
 
         .include        "zeropage.inc"
     	.include 	"c128.inc"
@@ -77,9 +77,9 @@ L1:   	lda    	sp,x
        	tsx
        	stx    	spsave	 	; Save the system stack pointer
 
-	lda    	#<(__RAM_START__ + __RAM_SIZE__)
+	lda    	#<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
 	sta	sp
-	lda	#>(__RAM_START__ + __RAM_SIZE__)
+	lda	#>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
        	sta	sp+1   		; Set argument stack ptr
 
 ; If we have IRQ functions, chain our stub into the IRQ vector
diff --git a/libsrc/c64/crt0.s b/libsrc/c64/crt0.s
index a533d7568..ffeebd834 100644
--- a/libsrc/c64/crt0.s
+++ b/libsrc/c64/crt0.s
@@ -10,6 +10,7 @@
         .import         RESTOR, BSOUT, CLRCH
 	.import	       	__INTERRUPTOR_COUNT__
 	.import		__RAM_START__, __RAM_SIZE__	; Linker generated
+	.import		__STACKSIZE__			; Linker generated
 
         .include        "zeropage.inc"
 	.include     	"c64.inc"
@@ -71,9 +72,9 @@ L1:	lda	sp,x
        	tsx
        	stx    	spsave 		; Save the system stack ptr
 
-	lda    	#<(__RAM_START__ + __RAM_SIZE__)
+	lda    	#<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
 	sta	sp
-	lda	#>(__RAM_START__ + __RAM_SIZE__)
+	lda	#>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
        	sta	sp+1   		; Set argument stack ptr
 
 ; If we have IRQ functions, chain our stub into the IRQ vector
diff --git a/libsrc/geos/devel/crt0.s b/libsrc/geos/devel/crt0.s
index 6d85a9631..fb0289a4c 100644
--- a/libsrc/geos/devel/crt0.s
+++ b/libsrc/geos/devel/crt0.s
@@ -8,6 +8,7 @@
         .export         __STARTUP__ : absolute = 1      ; Mark as startup
 
 	.import		__RAM_START__, __RAM_SIZE__	; Linker generated
+	.import		__STACKSIZE__			; Linker generated
 	.import		initlib, donelib
 	.import		callmain
 	.import		zerobss
@@ -25,9 +26,9 @@
 
 ; Setup stack
 
-	lda    	#<(__RAM_START__ + __RAM_SIZE__)
+	lda    	#<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
 	sta	sp
-	lda	#>(__RAM_START__ + __RAM_SIZE__)
+	lda	#>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
        	sta	sp+1   		; Set argument stack ptr
 
 ; Call module constructors
diff --git a/libsrc/lynx/crt0.s b/libsrc/lynx/crt0.s
index a49902c4a..397d85bb3 100644
--- a/libsrc/lynx/crt0.s
+++ b/libsrc/lynx/crt0.s
@@ -25,7 +25,7 @@
 	.import         _main
 	.import         __BSS_LOAD__
 	.import	       	__INTERRUPTOR_COUNT__
-	.import         __RAM_START__, __RAM_SIZE__
+	.import         __RAM_START__, __RAM_SIZE__, __STACKSIZE__
 
 	.include        "zeropage.inc"
         .include        "extzp.inc"
@@ -94,9 +94,9 @@ MikeyInitData:  .byte $9e,$18,$68,$1f,$00,$00,$00,$00,$00,$ff,$1a,$1b,$04,$0d,$2
 
 ; setup the stack
 
-	lda     #<(__RAM_START__ + __RAM_SIZE__)
+	lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
 	sta     sp
-	lda     #>(__RAM_START__ + __RAM_SIZE__)
+	lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
 	sta     sp+1
 
 ; Init Mickey
diff --git a/libsrc/vic20/crt0.s b/libsrc/vic20/crt0.s
index 9c8a53be8..4b1673780 100644
--- a/libsrc/vic20/crt0.s
+++ b/libsrc/vic20/crt0.s
@@ -10,6 +10,7 @@
         .import         RESTOR, BSOUT, CLRCH
 	.import	       	__INTERRUPTOR_COUNT__
      	.import		__RAM_START__, __RAM_SIZE__	; Linker generated
+        .import		__STACKSIZE__			; Linker generated
 
         .include        "zeropage.inc"
      	.include     	"vic20.inc"
@@ -59,9 +60,9 @@ L1:	lda	sp,x
        	tsx
        	stx    	spsave 		; Save the system stack ptr
 
-	lda    	#<(__RAM_START__ + __RAM_SIZE__)
+	lda    	#<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
 	sta	sp
-	lda	#>(__RAM_START__ + __RAM_SIZE__)
+	lda	#>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
        	sta	sp+1   		; Set argument stack ptr
 
 ; If we have IRQ functions, chain our stub into the IRQ vector