mirror of
https://github.com/cc65/cc65.git
synced 2024-12-23 04:30:10 +00:00
Changed the startup module and the linker config for the Commodore PET to use
the common loadaddr and exehdr modules. git-svn-id: svn://svn.cc65.org/cc65/trunk@4873 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
7252f071a2
commit
9a9cea5a61
@ -14,22 +14,6 @@
|
||||
.include "pet.inc"
|
||||
.include "../cbm/cbm.inc"
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; BASIC header with a SYS call
|
||||
|
||||
.segment "EXEHDR"
|
||||
|
||||
.word Head ; Load address
|
||||
Head: .word @Next
|
||||
.word .version ; Line number
|
||||
.byte $9E ; SYS token
|
||||
.byte <(((Start / 1000) .mod 10) + '0')
|
||||
.byte <(((Start / 100) .mod 10) + '0')
|
||||
.byte <(((Start / 10) .mod 10) + '0')
|
||||
.byte <(((Start / 1) .mod 10) + '0')
|
||||
.byte $00 ; End of BASIC line
|
||||
@Next: .word 0 ; BASIC end marker
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; Startup code
|
||||
|
||||
|
@ -1,22 +1,26 @@
|
||||
SYMBOLS {
|
||||
__LOADADDR__: type = import;
|
||||
__EXEHDR__: type = import;
|
||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||
}
|
||||
MEMORY {
|
||||
ZP: file = "", define = yes, start = $0055, size = $001A;
|
||||
HEADER: file = %O, start = $03FF, size = $000E;
|
||||
RAM: file = %O, start = $040D, size = $7BF3 - __STACKSIZE__;
|
||||
ZP: file = "", define = yes, start = $0055, size = $001A;
|
||||
LOADADDR: file = %O, start = $03FF, size = $0002;
|
||||
HEADER: file = %O, start = $0401, size = $000C;
|
||||
RAM: file = %O, start = $040D, size = $7BF3 - __STACKSIZE__;
|
||||
}
|
||||
SEGMENTS {
|
||||
EXEHDR: load = HEADER, type = ro;
|
||||
STARTUP: load = RAM, type = ro;
|
||||
LOWCODE: load = RAM, type = ro, optional = yes;
|
||||
INIT: load = RAM, type = ro, define = yes, optional = yes;
|
||||
CODE: load = RAM, type = ro;
|
||||
RODATA: load = RAM, type = ro;
|
||||
DATA: load = RAM, type = rw;
|
||||
ZPSAVE: load = RAM, type = bss;
|
||||
BSS: load = RAM, type = bss, define = yes;
|
||||
ZEROPAGE: load = ZP, type = zp;
|
||||
LOADADDR: load = LOADADDR, type = ro;
|
||||
EXEHDR: load = HEADER, type = ro;
|
||||
STARTUP: load = RAM, type = ro;
|
||||
LOWCODE: load = RAM, type = ro, optional = yes;
|
||||
INIT: load = RAM, type = ro, define = yes, optional = yes;
|
||||
CODE: load = RAM, type = ro;
|
||||
RODATA: load = RAM, type = ro;
|
||||
DATA: load = RAM, type = rw;
|
||||
ZPSAVE: load = RAM, type = bss;
|
||||
BSS: load = RAM, type = bss, define = yes;
|
||||
ZEROPAGE: load = ZP, type = zp;
|
||||
}
|
||||
FEATURES {
|
||||
CONDES: segment = INIT,
|
||||
|
Loading…
Reference in New Issue
Block a user