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