Apple GEOS reserves beside the main app area at $4000-$C000 a secondary app area at $0C00-$2000. While it was an elegant idea to use that secondary area for overlays at the end of the day those 5 kB are just too small. So now overlays go at the end of the main area (as with GEOS 64/128).

However the stack (usually 1 kB) can be securely placed in the secondary area without effort from the side of the developer. The rest of the secondary area (usually 4 kB) is made available to the developer as (uninitialized) 'EXTBSS'.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5696 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
ol.sc
2012-06-08 21:46:51 +00:00
parent 5cf9f585a6
commit ffc06fcea3
4 changed files with 15 additions and 13 deletions

View File

@@ -6,8 +6,8 @@
.export _exit
.export __STARTUP__ : absolute = 1 ; Mark as startup
.import __VLIR0_START__, __VLIR0_SIZE__ ; Linker generated
.import __STACKSIZE__, __BACKBUFSIZE__ ; Linker generated
.import __STACKADDR__, __STACKSIZE__ ; Linker generated
.import __BACKBUFSIZE__ ; Linker generated
.import initlib, donelib
.import callmain
.import zerobss
@@ -46,8 +46,8 @@
; Setup stack.
lda #<(__VLIR0_START__ + __VLIR0_SIZE__ + __STACKSIZE__)
ldx #>(__VLIR0_START__ + __VLIR0_SIZE__ + __STACKSIZE__)
lda #<(__STACKADDR__ + __STACKSIZE__)
ldx #>(__STACKADDR__ + __STACKSIZE__)
sta sp
stx sp+1