.import __BSS_RUN__, __BSS_SIZE__
.import __DATA_LOAD__, __DATA_RUN__, __DATA_SIZE__
.import __COMMONMEM_LOAD__, __COMMONMEM_RUN__, __COMMONMEM_SIZE__
+ .import __STUBS_LOAD__, __STUBS_RUN__, __STUBS_SIZE__
.importzp ptr1, ptr2, tmp1
; startup code @0
jsr copyloop
+ lda #<__STUBS_LOAD__ ; Source pointer
+ sta ptr1
+ lda #>__STUBS_LOAD__
+ sta ptr1+1
+
+ lda #<__STUBS_RUN__ ; Target pointer
+ sta ptr2
+ lda #>__STUBS_RUN__
+ sta ptr2+1
+
+ ldx #<~__STUBS_SIZE__
+ lda #>~__STUBS_SIZE__ ; Use -(__STUBS_SIZE__+1)
+ sta tmp1
+
+ jsr copyloop
+
jsr copycommon
;
-; This is also used at runtime so split it off as a helper
+; This may also used be useful at runtime so split it off as a helper
+; We can revisit and unsplit it if not.
;
copycommon:
pha