mirror of
https://github.com/cc65/cc65.git
synced 2024-12-28 06:30:16 +00:00
Moved Apple EXEHDR to separate module (similiar to CBMs).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5708 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
cf509a775d
commit
9cc99876b2
@ -72,6 +72,7 @@ S_OBJS= _scrsize.o \
|
||||
dosdetect.o \
|
||||
drives.o \
|
||||
exec.o \
|
||||
exehdr.o \
|
||||
filedes.o \
|
||||
filename.o \
|
||||
get_ostype.o \
|
||||
|
@ -1,33 +1,22 @@
|
||||
;
|
||||
; Oliver Schmidt, 15.09.2009
|
||||
; Oliver Schmidt, 2009-09-15
|
||||
;
|
||||
; Startup code for cc65 (Apple2 version)
|
||||
;
|
||||
|
||||
.export _exit, done, return
|
||||
.export __STARTUP__ : absolute = 1 ; Mark as startup
|
||||
.export __STARTUP__ : absolute = 1 ; Mark as startup
|
||||
.import zerobss
|
||||
.import initlib, donelib
|
||||
.import callmain, callirq
|
||||
.import __RAM_START__ , __RAM_LAST__ ; Linker generated
|
||||
.import __MOVE_START__, __MOVE_LAST__ ; Linker generated
|
||||
.import __LC_START__ , __LC_LAST__ ; Linker generated
|
||||
.import __ZPSAVE_RUN__, __INIT_SIZE__ ; Linker generated
|
||||
.import __RAM_LAST__, __ZPSAVE_RUN__ ; Linker generated
|
||||
.import __LC_START__, __LC_LAST__ ; Linker generated
|
||||
.import __INIT_SIZE__ ; Linker generated
|
||||
.import __INTERRUPTOR_COUNT__ ; Linker generated
|
||||
|
||||
.include "zeropage.inc"
|
||||
.include "apple2.inc"
|
||||
|
||||
.linecont +
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
|
||||
.segment "EXEHDR"
|
||||
|
||||
.addr __RAM_START__ ; Start address
|
||||
.word __ZPSAVE_RUN__ - __RAM_START__ + \
|
||||
__MOVE_LAST__ - __MOVE_START__ ; Size
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
|
||||
.segment "STARTUP"
|
||||
|
20
libsrc/apple2/exehdr.s
Normal file
20
libsrc/apple2/exehdr.s
Normal file
@ -0,0 +1,20 @@
|
||||
;
|
||||
; Oliver Schmidt, 2012-06-10
|
||||
;
|
||||
; This module supplies a 4 byte DOS 3.3 header
|
||||
; containing the load address and load length.
|
||||
;
|
||||
|
||||
.export __EXEHDR__ : absolute = 1 ; Linker referenced
|
||||
.import __RAM_START__, __ZPSAVE_RUN__ ; Linker generated
|
||||
.import __MOVE_START__, __MOVE_LAST__ ; Linker generated
|
||||
|
||||
.linecont +
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
|
||||
.segment "EXEHDR"
|
||||
|
||||
.addr __RAM_START__ ; Start address
|
||||
.word __ZPSAVE_RUN__ - __RAM_START__ + \
|
||||
__MOVE_LAST__ - __MOVE_START__ ; Size
|
@ -75,6 +75,7 @@ S_OBJS= _scrsize.o \
|
||||
dosdetect.o \
|
||||
drives.o \
|
||||
exec.o \
|
||||
exehdr.o \
|
||||
filedes.o \
|
||||
filename.o \
|
||||
get_ostype.o \
|
||||
|
@ -4,6 +4,7 @@ FEATURES {
|
||||
STARTADDRESS: default = $0803;
|
||||
}
|
||||
SYMBOLS {
|
||||
__EXEHDR__: type = import;
|
||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||
}
|
||||
MEMORY {
|
||||
|
@ -4,6 +4,7 @@ FEATURES {
|
||||
STARTADDRESS: default = $0800;
|
||||
}
|
||||
SYMBOLS {
|
||||
__EXEHDR__: type = import;
|
||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||
}
|
||||
MEMORY {
|
||||
|
@ -5,6 +5,7 @@ FEATURES {
|
||||
STARTADDRESS: default = $0800;
|
||||
}
|
||||
SYMBOLS {
|
||||
__EXEHDR__: type = import;
|
||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||
}
|
||||
MEMORY {
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Configuration for ProDOS 8 system programs (without the header)
|
||||
|
||||
SYMBOLS {
|
||||
__EXEHDR__: type = import;
|
||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||
}
|
||||
MEMORY {
|
||||
|
@ -4,6 +4,7 @@ FEATURES {
|
||||
STARTADDRESS: default = $0803;
|
||||
}
|
||||
SYMBOLS {
|
||||
__EXEHDR__: type = import;
|
||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||
}
|
||||
MEMORY {
|
||||
|
@ -4,6 +4,7 @@ FEATURES {
|
||||
STARTADDRESS: default = $0803;
|
||||
}
|
||||
SYMBOLS {
|
||||
__EXEHDR__: type = import;
|
||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||
}
|
||||
MEMORY {
|
||||
|
@ -4,6 +4,7 @@ FEATURES {
|
||||
STARTADDRESS: default = $0800;
|
||||
}
|
||||
SYMBOLS {
|
||||
__EXEHDR__: type = import;
|
||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||
}
|
||||
MEMORY {
|
||||
|
@ -5,6 +5,7 @@ FEATURES {
|
||||
STARTADDRESS: default = $0800;
|
||||
}
|
||||
SYMBOLS {
|
||||
__EXEHDR__: type = import;
|
||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||
}
|
||||
MEMORY {
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Configuration for ProDOS 8 system programs (without the header)
|
||||
|
||||
SYMBOLS {
|
||||
__EXEHDR__: type = import;
|
||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||
}
|
||||
MEMORY {
|
||||
|
@ -4,6 +4,7 @@ FEATURES {
|
||||
STARTADDRESS: default = $0803;
|
||||
}
|
||||
SYMBOLS {
|
||||
__EXEHDR__: type = import;
|
||||
__STACKSIZE__: type = weak, value = $0800; # 2k stack
|
||||
}
|
||||
MEMORY {
|
||||
|
Loading…
Reference in New Issue
Block a user