Moved run location of ONCE segment.

Make the same changes to the Apple II that were done with 0ee9b2e446 to the C64.

Notes:
- The startup code deliberately doesn't make use of symbols defined for the LC segment as that segment is optional.
- The <...>-asm.cfg configs move the segment BSS to an own memory area BSS although this doesn't seem necessary. However the benefit is that the size of the memeory area MAIN is identical to the number of bytes loaded from disk into RAM. To keep this an invariant for all Apple II configs allows to simplify the EXEHDR to just refer to the symbols defined for MAIN.
This commit is contained in:
Oliver Schmidt
2016-03-17 21:07:19 +01:00
parent 1d1ba3ed3b
commit e3cbc7e8b8
10 changed files with 196 additions and 227 deletions

View File

@@ -6,11 +6,11 @@
;
.export __EXEHDR__ : absolute = 1 ; Linker referenced
.import __LOADADDR__, __LOADSIZE__ ; Linker generated
.import __MAIN_START__, __MAIN_LAST__ ; Linker generated
; ------------------------------------------------------------------------
.segment "EXEHDR"
.addr __LOADADDR__ ; Load address
.word __LOADSIZE__ ; Load length
.addr __MAIN_START__ ; Load address
.word __MAIN_LAST__ - __MAIN_START__ ; Load length