mirror of
https://github.com/cc65/cc65.git
synced 2024-12-27 00:29:31 +00:00
Move zpsave into its own segment to decrease the executable size.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3852 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
e64672acc7
commit
258a8e7d4c
@ -11,7 +11,7 @@
|
||||
.import __RAM_START__ , __RAM_LAST__ ; Linker generated
|
||||
.import __MOVE_START__, __MOVE_LAST__ ; Linker generated
|
||||
.import __LC_START__ , __LC_LAST__ ; Linker generated
|
||||
.import __BSS_RUN__ , __INIT_SIZE__ ; Linker generated
|
||||
.import __ZPSAVE_RUN__, __INIT_SIZE__ ; Linker generated
|
||||
.import __INTERRUPTOR_COUNT__ ; Linker generated
|
||||
|
||||
.include "zeropage.inc"
|
||||
@ -24,8 +24,8 @@
|
||||
.segment "EXEHDR"
|
||||
|
||||
.addr __RAM_START__ ; Start address
|
||||
.word __BSS_RUN__ - __RAM_START__ + \
|
||||
__MOVE_LAST__ - __MOVE_START__ ; Size
|
||||
.word __ZPSAVE_RUN__ - __RAM_START__ + \
|
||||
__MOVE_LAST__ - __MOVE_START__ ; Size
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
|
||||
@ -42,14 +42,14 @@
|
||||
bit $C081
|
||||
|
||||
; Set source start address
|
||||
lda #<(__BSS_RUN__ + __INIT_SIZE__)
|
||||
ldy #>(__BSS_RUN__ + __INIT_SIZE__)
|
||||
lda #<(__ZPSAVE_RUN__ + __INIT_SIZE__)
|
||||
ldy #>(__ZPSAVE_RUN__ + __INIT_SIZE__)
|
||||
sta $9B
|
||||
sty $9C
|
||||
|
||||
; Set source last address
|
||||
lda #<(__BSS_RUN__ + __INIT_SIZE__ + __LC_LAST__ - __LC_START__)
|
||||
ldy #>(__BSS_RUN__ + __INIT_SIZE__ + __LC_LAST__ - __LC_START__)
|
||||
lda #<(__ZPSAVE_RUN__ + __INIT_SIZE__ + __LC_LAST__ - __LC_START__)
|
||||
ldy #>(__ZPSAVE_RUN__ + __INIT_SIZE__ + __LC_LAST__ - __LC_START__)
|
||||
sta $96
|
||||
sty $97
|
||||
|
||||
@ -64,14 +64,14 @@
|
||||
jsr $D396 ; BLTU + 3
|
||||
|
||||
; Set source start address
|
||||
lda #<__BSS_RUN__
|
||||
ldy #>__BSS_RUN__
|
||||
lda #<__ZPSAVE_RUN__
|
||||
ldy #>__ZPSAVE_RUN__
|
||||
sta $9B
|
||||
sty $9C
|
||||
|
||||
; Set source last address
|
||||
lda #<(__BSS_RUN__ + __INIT_SIZE__)
|
||||
ldy #>(__BSS_RUN__ + __INIT_SIZE__)
|
||||
lda #<(__ZPSAVE_RUN__ + __INIT_SIZE__)
|
||||
ldy #>(__ZPSAVE_RUN__ + __INIT_SIZE__)
|
||||
sta $96
|
||||
sty $97
|
||||
|
||||
@ -253,12 +253,16 @@ reset: stx SOFTEV
|
||||
|
||||
.data
|
||||
|
||||
zpsave: .res zpspace
|
||||
|
||||
params: .byte $02 ; Parameter count
|
||||
intnum: .byte $00 ; Interrupt number
|
||||
.addr intrpt ; Interrupt handler
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
|
||||
.segment "ZPSAVE"
|
||||
|
||||
zpsave: .res zpspace
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
|
||||
.bss
|
||||
|
@ -16,6 +16,7 @@ SEGMENTS {
|
||||
CODE: load = RAM, type = ro;
|
||||
RODATA: load = RAM, type = ro;
|
||||
DATA: load = RAM, type = rw;
|
||||
ZPSAVE: load = RAM, type = bss, define = yes;
|
||||
BSS: load = RAM, type = bss, define = yes;
|
||||
INIT: load = MOVE, run = RAM, type = ro, define = yes;
|
||||
HIGHCODE: load = MOVE, run = LC, type = ro, optional = yes;
|
||||
|
Loading…
Reference in New Issue
Block a user