Colin Leroy-Mira
f0b5b02966
Swap in LC before destructors, ROM after
2024-01-24 12:28:57 +01:00
Oliver Schmidt
e3cbc7e8b8
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.
2016-03-17 21:07:19 +01:00
Oliver Schmidt
419eb700b5
Renamed INITBSS to INIT and INIT to ONCE.
...
The way we want to use the INITBSS segment - and especially the fact that it won't have the type bss on all ROM based targets - means that the name INITBSS is misleading. After all INIT is the best name from my perspective as it serves several purposes and therefore needs a rather generic name.
Unfortunately this means that the current INIT segment needs to be renamed too. Looking for a short (ideally 4 letter) name I came up with ONCE as it contains all code (and data) accessed only once during initialization.
2016-03-06 21:27:19 +01:00
Oliver Schmidt
76a5a72403
Adjusted current working directory initialization on Apple and Atari.
...
Moving __cwd from BSS into INITBSS does of course ;-) not only impact the CBM targets but all targets with disk I/O support.
Note: Code using `__cwd-1` may trigger an ld65 range error because __cwd may end up at the very begining of a segment. As far as I see this is an ld65 bug which I'm not try to fix - at least here.
2015-10-15 00:15:38 +02:00
Oliver Schmidt
1748bb1ab6
Use well-known location BLTU2 for "memmove()".
2015-04-26 14:09:21 +02:00
Oliver Schmidt
3ed3e98ec7
Moved interrupt enabling to the interrupt constructor.
2015-02-16 15:43:08 +01:00
Greg King
c7969a78b0
Refined the comments in the target start-up files.
...
Fixed typo errors. Made the comments consistent across all those files.
2014-08-24 10:10:20 -04:00
Oliver Schmidt
4452156d1a
Avoid indirect jmp with unknown vector address.
2014-01-26 18:10:01 +01:00
ol.sc
7c9171ee87
Moved IRQ hooking / unhooking from startup code to constructor / destructor to avoid linking in the hooking / unhooking code (and callirq) for the majority of cc65 prorams not linking in interruptors.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5985 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-12 22:39:38 +00:00
ol.sc
610bb14988
Avoid mixing of memory areas and segments in address computations (and made move of segment INIT somewhat more readable).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5726 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 22:13:58 +00:00
ol.sc
9cc99876b2
Moved Apple EXEHDR to separate module (similiar to CBMs).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5708 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 21:05:51 +00:00
ol.sc
b4c237b2b1
Minor beautification.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4922 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-26 21:37:42 +00:00
ol.sc
5c35c213f6
Added author hint - as contained in the other source files.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4211 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-22 17:30:50 +00:00
ol.sc
0c161a6cdd
Now that cc65 programs can run as SYS files themselves my ProDOS Loader ulimately has to change from a minimalistic shell replacement to a pure loader (without exit hook). This approach simplifies several things. However the "reboot after exit" option now present as a ProDOS Loader variant has to move into the cc65 program.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4172 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-14 19:58:06 +00:00
ol.sc
b7df1ed5d4
Being loaded by my 'ProDOS Loader' needs to be classified as being loaded as BIN from an interpreter (and not as SYS). But the 'ProDOS Loader' zeros the system bitmap up to the system global page (this is what it's about) so additionally check page $03 protection which is zero when loaded as SYS but one when loaded by 'ProDOS Loader 1.4'.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4168 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-13 19:50:09 +00:00
ol.sc
aeccd3a776
Allow to run programs as ProDOS SYS files (beside BIN files). To do so detect at runtime if BASIC.SYSTEM is present by checking the "signature" of the last system bitmap byte.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4146 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 16:27:20 +00:00
uz
8216bf1d6a
Force an import of the special symbol __STARTUP__ in the C compiler when
...
main() is encountered. Define this symbol in the startup code. This will
automatically force linking of the startup code which can then reside inside
the standard library as any other object file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-31 12:05:42 +00:00
cuz
258a8e7d4c
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
2008-07-15 18:34:20 +00:00
cuz
feae688346
Oliver Schmidt updated the graphics drivers and part of the C library for the
...
Apple machines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3816 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-16 09:37:22 +00:00
cuz
6ea5614493
Serial driver for the SSC card by Oliver Schmidt
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3627 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-08 21:03:46 +00:00
cuz
066b07c6ce
Interruptor support
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3492 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-27 18:01:57 +00:00
cuz
2a688ef6fd
Update from Oliver Schmidt
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3490 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-24 22:13:15 +00:00
cuz
c0f6dea213
Startup code with interruptor support by Oliver Schmidt
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3479 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-21 01:41:50 +00:00
cuz
10431b1067
Added an exit handler - code from Oliver Schmidt
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3341 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-21 15:56:48 +00:00
cuz
a57deeb58a
Reworked version by Oliver Schmidt
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2913 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-11 21:54:22 +00:00
cuz
3b3e1bec17
Removed the empty LOWCODE segments from the startup files. This is now
...
handled by the OPTIONAL segment attribute in the linker config.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2164 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-05-22 22:32:04 +00:00
cuz
467d8ad9c5
Added routines to handle command line params
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2012 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-03-10 21:21:46 +00:00
cuz
d7d86886b6
Add STARTUP and LOWCODE segments
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1601 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-23 11:10:50 +00:00
cuz
55dfc0f312
Use MEMSIZE instead of using a fixed high mem location
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1354 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-15 20:03:37 +00:00
cuz
750f5e5028
Added a file header
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1332 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-05 21:11:16 +00:00
cuz
33c1e82bda
Move zp space out of crt0.s
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1291 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-26 09:09:10 +00:00
cuz
f3b93741ab
Use the condes feature
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@470 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-11-22 22:19:09 +00:00
cuz
7c436aec1d
Squeeze 2 bytes out of the startup code
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@414 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-10-30 21:46:45 +00:00
cuz
e0a619ff90
Place the zero page variables into the ZEROPAGE segment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@322 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-09-07 21:49:13 +00:00
uz
53dd513176
This commit was generated by cvs2svn to compensate for changes in r2,
...
which included commits to RCS files with non-trunk default branches.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-05-28 13:40:48 +00:00