1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-25 17:29:50 +00:00
Commit Graph

122 Commits

Author SHA1 Message Date
uz
8aff2a9159 Fixed a problem with the last change in crt0.s: The symbols for the RAM memory
area had been used but not defined in the linker config. Changed the startup
module and the linker config to use the common loadaddr and exehdr modules.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4870 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-16 17:33:25 +00:00
uz
fa1b5047dd Fixed order of options in call to ld65, which became important after the
latest changes.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4843 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-09 21:33:14 +00:00
ol.sc
eef8ecc74d User linker generated symbols for stack placement (like most other targets) instead of a hardcoded constant in order to allow control of stack placement via linker configuration.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4821 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-02 10:32:26 +00:00
ol.sc
d1aad57b98 Initialize _curunit from the zeropage value DEVNUM (aka First Address) in a constructor with a very high priority to be called before DEVNUM gets overwritten by other constructors.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4588 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-14 23:12:54 +00:00
uz
7e2a24176f Replaced $30 by literal '0' for better readability.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4513 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-10 22:12:24 +00:00
uz
13698871cb Removed the call to CLRCH in the startup code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4512 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-10 21:22:17 +00:00
uz
60bc009991 * Moved the BASIC stub that calls the compiled program into it's own segment
named EXEHDR.
* Renamed BASICHDR to EXEHDR for the PET-II machines.
* Moved the call to CHRCH in front of the code that saves the zero page, since
  open files are sometimes remembered in the zero page, so we need to close
  them before we grab a copy.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4507 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-09 12:42:24 +00:00
uz
bfbf94404b Squeezed bytes and cycles out of the kbhit functions for almost all platforms.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4480 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-24 18:31:16 +00:00
uz
c7a33334ba Don't hardcode the address of the SYS call for the startup code of the
Commodore machines.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4474 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-23 12:01:24 +00:00
uz
5c5d01d84a Moved most platform assembler includes into asminc, so they will be available
in the distribution. 
Added --forget-inc-paths to the command line of the assembler in the
Makefiles, because the assembler does now have builtin paths and will find
include files from an installation first.
Hopefully fixed any problems that arose from the two changes.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4223 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-24 17:44:22 +00:00
uz
7de61e351c Define a standard driver and mode for tgi graphics and use it in the sample
program. The standard driver and mode is the first one in the tgi_mode_table.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4153 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 18:59:37 +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
uz
931add050e Added a systime implementation by Stefan Haubenthal with a few changes. The
routine reads the TOD clock of CIA1 on the C64 and C128. Since systime was a
dummy routine common for all CBMs before, this change adds an individual dummy
routine for all other CBM systems. CBM510/610 do also have a TOD clock, so a
similar function as in the C64 could be used ...


git-svn-id: svn://svn.cc65.org/cc65/trunk@3974 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-27 18:44:37 +00:00
uz
0aea6d28dc Removed an unsed import.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3952 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 18:14:54 +00:00
uz
d28ba06f79 Fixed problems with the startup code (Greg King): Interrupts must be hooked
before calling initlib because initlib calls contructors and may install
drivers, which enable hardware interrupts. Similar for donelib.

See also R3897 where this change was done for other platforms.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3951 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 18:10:01 +00:00
uz
e5cbba264f Move the irqcount variable from BSS into DATA, since it is used by the
interrupt handler, which is installed *before* zerobss is called.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3950 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 18:04:25 +00:00
uz
4812feb44b git-svn-id: svn://svn.cc65.org/cc65/trunk@3863 b7a2c559-68d2-44c3-8de9-860c34a00d81 2008-08-02 22:02:54 +00:00
cuz
f257b2ee81 Moved the data that keeps a copy of the used zero page locations in its own
segment to reduce the executable size.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3849 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-07-03 19:39:14 +00:00
cuz
0fcc998024 Inline InitBuffers
git-svn-id: svn://svn.cc65.org/cc65/trunk@3503 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-05 10:32:06 +00:00
cuz
a170b50687 CLOSE is actually the same as INSTALL/UNINSTALL
git-svn-id: svn://svn.cc65.org/cc65/trunk@3502 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-05 10:25:27 +00:00
cuz
f096dc95ae Carry is clear on IRQ entry
git-svn-id: svn://svn.cc65.org/cc65/trunk@3500 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-05 10:11:23 +00:00
cuz
107ead3211 Adjusted IRQ handler for new callirq semantics
git-svn-id: svn://svn.cc65.org/cc65/trunk@3498 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-05 10:00:17 +00:00
cuz
d0bee35728 Move constructor code into the INIT segment
git-svn-id: svn://svn.cc65.org/cc65/trunk@3405 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-26 09:28:46 +00:00
cuz
dc781be7f9 Add the irq entry point
git-svn-id: svn://svn.cc65.org/cc65/trunk@3280 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-06 13:27:38 +00:00
cuz
303304fe90 Add definitions for tools so the makefile is useful by itself.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3262 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:28:26 +00:00
cuz
7b13d79bde Use get_tv.inc
git-svn-id: svn://svn.cc65.org/cc65/trunk@3259 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:05:19 +00:00
cuz
cfef8e1e0d Renamed __IRQFUNC_xxx -> __INTERRUPTOR_xxx
git-svn-id: svn://svn.cc65.org/cc65/trunk@3189 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-20 10:24:59 +00:00
cuz
215955ecba Added address of FETCH routine
git-svn-id: svn://svn.cc65.org/cc65/trunk@2995 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-28 12:03:09 +00:00
cuz
e68196c252 Add command line evaluation for the Plus/4
git-svn-id: svn://svn.cc65.org/cc65/trunk@2994 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-28 11:57:50 +00:00
cuz
c62b4ae73f Rename INBUF to FNBUF, add basic buffer
git-svn-id: svn://svn.cc65.org/cc65/trunk@2993 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-28 11:55:43 +00:00
cuz
dadaf734af Rename FNAM_ADR to FNAM, use new := operator for addresses
git-svn-id: svn://svn.cc65.org/cc65/trunk@2992 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-28 11:53:59 +00:00
cuz
0d7cf8ebce Use new callirq function
git-svn-id: svn://svn.cc65.org/cc65/trunk@2970 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-04 14:28:57 +00:00
cuz
7a5d4f3138 Fixed issues with the last change: The return code must be pulled from stack
before the stack pointer is reset.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2906 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-08 20:38:58 +00:00
cuz
220e5a3898 Place the return code into ST
git-svn-id: svn://svn.cc65.org/cc65/trunk@2884 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 17:08:07 +00:00
cuz
be5adac693 Use the assembler version as BASIC line number, so the version of the
assembler (and probably compiler) can be determined from a compiled
executable. Nice idea from Stefan Haubenthal.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2880 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-02-02 13:34:12 +00:00
cuz
b7c203856b Fix a Plus/4 kernal problem
git-svn-id: svn://svn.cc65.org/cc65/trunk@2809 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-21 13:11:55 +00:00
cuz
fa71c0582e Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2791 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-20 22:16:10 +00:00
cuz
b15e4106dc Use new joystick decls
git-svn-id: svn://svn.cc65.org/cc65/trunk@2777 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-16 22:38:12 +00:00
cuz
ad6a85b255 Added a serial driver for the builtin 6551 of the Plus/4 (untested, but taken
mostly from the C64 version which is tested and works).
Improved interrupt handling (was needed for the driver).


git-svn-id: svn://svn.cc65.org/cc65/trunk@2754 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-14 17:40:57 +00:00
cuz
a3109620ab Changed rm -f to $(RM)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2385 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-20 11:59:27 +00:00
cuz
4e76d0155d New uname function
git-svn-id: svn://svn.cc65.org/cc65/trunk@2286 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-12 17:24:02 +00:00
cuz
37178d5141 Make screensize() fetch the values dynamically instead of using variables
that are set on startup. This is needed to support the C128, which can switch
the screen size at runtime.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2042 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-04-09 19:34:57 +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
ee155a8553 Renamed the DEINSTALL vector to UNINSTALL.
Added a comment regarding usage of the driver when it is linked statically
to the application.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1952 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-10 22:19:53 +00:00
cuz
a8810a464d Make sure the zap target is available
git-svn-id: svn://svn.cc65.org/cc65/trunk@1932 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-06 15:35:30 +00:00
cuz
69ac0ce1fc Added joy_stddrv modules
git-svn-id: svn://svn.cc65.org/cc65/trunk@1821 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-21 09:32:14 +00:00
cuz
f243a15e8e Added joystick drivers for C16 and Atari
git-svn-id: svn://svn.cc65.org/cc65/trunk@1818 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-21 09:10:15 +00:00
cuz
d758e77835 Converted the C16/Plus4 joystick code to modules
git-svn-id: svn://svn.cc65.org/cc65/trunk@1816 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-21 08:53:39 +00:00
cuz
d0c237bcd8 Allow longer file names, use BASIC input buffer
git-svn-id: svn://svn.cc65.org/cc65/trunk@1813 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-21 00:06:28 +00:00
cuz
36fe6284a8 For the CBM platforms, make revers() machine dependent and use the RVS flag
of the different machines instead of a separate one.
For the C128, make the textcolor() function work in 40 and 80 column mode.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1787 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-19 20:29:27 +00:00
cuz
df956f4628 Added get_tv for several platforms
git-svn-id: svn://svn.cc65.org/cc65/trunk@1709 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-03 22:19:21 +00:00
cuz
96e87c49ee Fixed the break stuff
git-svn-id: svn://svn.cc65.org/cc65/trunk@1593 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 23:41:20 +00:00
cuz
2de0fbb020 More banking support
git-svn-id: svn://svn.cc65.org/cc65/trunk@1588 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 22:24:24 +00:00
cuz
b7e7864fc5 Added wrappers for the kernal functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@1587 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 22:16:20 +00:00
cuz
6d498d8187 Use external symbols for the CBM kernal jump table functions. This allows
to emulate these functions on platforms where one or more of these functions
are not available (PET, CBM-II).


git-svn-id: svn://svn.cc65.org/cc65/trunk@1544 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-19 23:02:47 +00:00
cuz
163c421db0 Renamed randomize to _randomize
git-svn-id: svn://svn.cc65.org/cc65/trunk@1489 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-05 20:17:38 +00:00
cuz
3fae969b5b New randomize() function for nearly all platforms
git-svn-id: svn://svn.cc65.org/cc65/trunk@1487 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-05 10:48:20 +00:00
cuz
91e26f573c Added the TGI mode table
git-svn-id: svn://svn.cc65.org/cc65/trunk@1435 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-03 18:19:25 +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
0856c6debc Fixed an error in the reset_brk() routine of all target machines (all the code
was derived from my old C64 code which had an error).


git-svn-id: svn://svn.cc65.org/cc65/trunk@900 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 15:29:13 +00:00
cuz
e906d07cc1 Fixed newline bug in cvline
git-svn-id: svn://svn.cc65.org/cc65/trunk@523 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-12-02 14:59:14 +00:00
cuz
e02b3e91c8 Use a destructor instead of atexit
git-svn-id: svn://svn.cc65.org/cc65/trunk@515 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-12-01 17:58:40 +00:00
cuz
e3b2fcc78d Move the conio initialization routines where they belong (cgetc), make them
module constructors/destructors and remove the conio init functions that
were called from the startup code.


git-svn-id: svn://svn.cc65.org/cc65/trunk@479 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-11-23 19:21:05 +00:00
cuz
99ecc9a609 Removed initialization code to set the screen size and replaced it by a
separate module that contains a module constructor. In some cases, the
code was even unnecessary, since the screen size is known in advance.


git-svn-id: svn://svn.cc65.org/cc65/trunk@476 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-11-23 19:05:32 +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
00e858c9de Squeeze 2 bytes out of the startup code
git-svn-id: svn://svn.cc65.org/cc65/trunk@413 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-10-30 21:02:49 +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
cuz
c6546592b6 newline is used elsewhere and must be exported
git-svn-id: svn://svn.cc65.org/cc65/trunk@157 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-07-16 20:54:53 +00:00
cuz
f3605c162b Fixed a bug in LF handling for the CBM machines
git-svn-id: svn://svn.cc65.org/cc65/trunk@156 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-07-16 20:24:10 +00:00
cpg
0c85406f52 replaced multiple lines of "rm" commands with a single "rm" line in the
clean target. on some rm lines the argument was empty which caused the
NetBSD rm command to complain...


git-svn-id: svn://svn.cc65.org/cc65/trunk@135 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-07-03 21:03:41 +00:00
cuz
874b728ecd Fixed cr/lf handling
git-svn-id: svn://svn.cc65.org/cc65/trunk@30 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-06-08 18:02: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