]> git.sur5r.net Git - cc65/log
cc65
12 years agoFixed a problem with a memcpy optimization (source and target have been
uz [Sat, 28 Jul 2012 12:26:57 +0000 (12:26 +0000)]
Fixed a problem with a memcpy optimization (source and target have been
swapped).

git-svn-id: svn://svn.cc65.org/cc65/trunk@5796 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoForgot to add the new module that contains em_load_driver.
uz [Mon, 23 Jul 2012 06:18:58 +0000 (06:18 +0000)]
Forgot to add the new module that contains em_load_driver.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5795 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAn already loaded driver is an error in ser_load_driver, because the library
uz [Sun, 22 Jul 2012 19:54:04 +0000 (19:54 +0000)]
An already loaded driver is an error in ser_load_driver, because the library
cannot know if it was dynamically loaded or statically linked.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5794 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoRewrote em_load_driver in assembler fixing a possible memory leak.
uz [Sun, 22 Jul 2012 11:36:09 +0000 (11:36 +0000)]
Rewrote em_load_driver in assembler fixing a possible memory leak.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5793 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMore comment fixes.
uz [Sun, 22 Jul 2012 11:20:45 +0000 (11:20 +0000)]
More comment fixes.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5792 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoFixed a few comments.
uz [Sun, 22 Jul 2012 11:18:36 +0000 (11:18 +0000)]
Fixed a few comments.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5791 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoRewrote tgi_load_driver in assembler and fixed a possible memory leak when
uz [Sun, 22 Jul 2012 11:07:46 +0000 (11:07 +0000)]
Rewrote tgi_load_driver in assembler and fixed a possible memory leak when
doing so. Changed the behaviour in case a driver is already loaded: Since the
library cannot know if this driver was linked statically or loaded
dynamically, an already installed driver is considered an error. It must be
removed before calling tgi_load_driver.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5790 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoRetrofitted comments from GEOS overlay demo to regular overlay demo.
ol.sc [Thu, 19 Jul 2012 12:25:04 +0000 (12:25 +0000)]
Retrofitted comments from GEOS overlay demo to regular overlay demo.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5789 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoFixed an error in the macro package that prevented the macros to work
uz [Tue, 17 Jul 2012 18:30:05 +0000 (18:30 +0000)]
Fixed an error in the macro package that prevented the macros to work
correctly. The short forms of the jumps were never choosen. The error was
introduced with release 3176 in 2004(!) and reported by thefox.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5787 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoPermit the .string builtin function to work with scoped identifiers.
uz [Tue, 17 Jul 2012 18:28:07 +0000 (18:28 +0000)]
Permit the .string builtin function to work with scoped identifiers.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5786 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMove the _filetype variable into its own module, so people who want to change
uz [Sun, 15 Jul 2012 12:34:35 +0000 (12:34 +0000)]
Move the _filetype variable into its own module, so people who want to change
the default can replace exactly this module without interfering with other
stuff.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5785 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoDo not add the file type to the name when using append mode. It causes more
uz [Sun, 15 Jul 2012 12:30:43 +0000 (12:30 +0000)]
Do not add the file type to the name when using append mode. It causes more
problems than it helps.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5784 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoFixed a problem with the optimizations for shifts.
uz [Thu, 12 Jul 2012 21:12:50 +0000 (21:12 +0000)]
Fixed a problem with the optimizations for shifts.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5783 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded a test program to test the 16 bit shift ops.
uz [Thu, 12 Jul 2012 21:11:21 +0000 (21:11 +0000)]
Added a test program to test the 16 bit shift ops.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5782 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded an option to output the assembly after each transformation step of the
uz [Thu, 12 Jul 2012 20:30:01 +0000 (20:30 +0000)]
Added an option to output the assembly after each transformation step of the
optimizer.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5781 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoEnable optimization for arithmetic right shift. NOTE: There's a bug lingering
uz [Wed, 11 Jul 2012 20:58:29 +0000 (20:58 +0000)]
Enable optimization for arithmetic right shift. NOTE: There's a bug lingering
in the shift code optimization which needs fixing.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5780 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoRewrite code for arithmetic right shift.
uz [Wed, 11 Jul 2012 20:57:02 +0000 (20:57 +0000)]
Rewrite code for arithmetic right shift.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5779 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdd another form of duplicate load removal.
uz [Tue, 10 Jul 2012 20:46:21 +0000 (20:46 +0000)]
Add another form of duplicate load removal.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5778 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoModifications for smaller code size.
uz [Tue, 10 Jul 2012 20:45:16 +0000 (20:45 +0000)]
Modifications for smaller code size.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5777 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdedd a few cross-references for the new cbm_k_ function descriptions.
uz [Mon, 9 Jul 2012 19:44:40 +0000 (19:44 +0000)]
Adedd a few cross-references for the new cbm_k_ function descriptions.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5776 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agocbm_k_ functions documented
silverdr [Mon, 9 Jul 2012 19:23:52 +0000 (19:23 +0000)]
cbm_k_ functions documented

git-svn-id: svn://svn.cc65.org/cc65/trunk@5775 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoRearrange order of opt steps for better efficiency.
uz [Sun, 8 Jul 2012 21:56:01 +0000 (21:56 +0000)]
Rearrange order of opt steps for better efficiency.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5774 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoReplacement in OptShift3 is even possible, when X is used later.
uz [Sun, 8 Jul 2012 13:05:57 +0000 (13:05 +0000)]
Replacement in OptShift3 is even possible, when X is used later.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5773 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoFixed an error.
uz [Sat, 7 Jul 2012 22:22:59 +0000 (22:22 +0000)]
Fixed an error.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5772 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded optimization for complax.
uz [Sat, 7 Jul 2012 19:54:24 +0000 (19:54 +0000)]
Added optimization for complax.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5771 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMore shift optimizations.
uz [Sat, 7 Jul 2012 19:24:17 +0000 (19:24 +0000)]
More shift optimizations.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5770 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded a comment.
uz [Sat, 7 Jul 2012 19:09:23 +0000 (19:09 +0000)]
Added a comment.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5769 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoStart adding stuff that optimizes the new shift functions.
uz [Sat, 7 Jul 2012 17:56:39 +0000 (17:56 +0000)]
Start adding stuff that optimizes the new shift functions.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5768 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoIgnore a few more "harmless" functions when optimizing.
uz [Sat, 7 Jul 2012 17:36:15 +0000 (17:36 +0000)]
Ignore a few more "harmless" functions when optimizing.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5767 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMove the optimization routines for shifts into a separate module.
uz [Sat, 7 Jul 2012 15:21:12 +0000 (15:21 +0000)]
Move the optimization routines for shifts into a separate module.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5766 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoFixed compiler warnings.
uz [Fri, 6 Jul 2012 20:02:43 +0000 (20:02 +0000)]
Fixed compiler warnings.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5765 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoTransform tosshlax and friends into a sequence that doesn't use the stack if
uz [Fri, 6 Jul 2012 20:01:46 +0000 (20:01 +0000)]
Transform tosshlax and friends into a sequence that doesn't use the stack if
possible.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5764 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded info for new shift routines that don't use the stack.
uz [Fri, 6 Jul 2012 20:00:22 +0000 (20:00 +0000)]
Added info for new shift routines that don't use the stack.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5763 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoSmall code changes for more safety (and to be compatible with the new shift
uz [Fri, 6 Jul 2012 19:59:29 +0000 (19:59 +0000)]
Small code changes for more safety (and to be compatible with the new shift
routines that don't use the stack).

git-svn-id: svn://svn.cc65.org/cc65/trunk@5762 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoRewrite to add an entry point for shraxy that doesn't need to pass values over
uz [Fri, 6 Jul 2012 19:57:24 +0000 (19:57 +0000)]
Rewrite to add an entry point for shraxy that doesn't need to pass values over
the stack.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5761 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoComment and tab fix. No code changes.
uz [Fri, 6 Jul 2012 19:56:42 +0000 (19:56 +0000)]
Comment and tab fix. No code changes.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5760 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded functional Atari directory classification macros for file types from struct...
ol.sc [Tue, 3 Jul 2012 20:10:52 +0000 (20:10 +0000)]
Added functional Atari directory classification macros for file types from struct dirent contributed by Stefan A. Haubenthal.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5759 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoThis is C, not 6502 ;-))
ol.sc [Tue, 3 Jul 2012 20:00:01 +0000 (20:00 +0000)]
This is C, not 6502 ;-))

git-svn-id: svn://svn.cc65.org/cc65/trunk@5758 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded section on 'overlaydemo'.
ol.sc [Tue, 3 Jul 2012 19:55:03 +0000 (19:55 +0000)]
Added section on 'overlaydemo'.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5757 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoUse 's' as default file type instead of 'u'.
uz [Sun, 1 Jul 2012 18:24:01 +0000 (18:24 +0000)]
Use 's' as default file type instead of 'u'.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5756 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAccording to Greg King, Vorpal files are regular files.
uz [Sun, 1 Jul 2012 18:10:57 +0000 (18:10 +0000)]
According to Greg King, Vorpal files are regular files.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5755 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoFix list of CBM kernal level functions.
uz [Sun, 1 Jul 2012 12:50:05 +0000 (12:50 +0000)]
Fix list of CBM kernal level functions.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5754 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoFixed naming of cbm_clall.
uz [Sun, 1 Jul 2012 12:45:26 +0000 (12:45 +0000)]
Fixed naming of cbm_clall.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5752 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoUnified names of CBM kernal level functions and completed the list of
uz [Sun, 1 Jul 2012 12:36:44 +0000 (12:36 +0000)]
Unified names of CBM kernal level functions and completed the list of
functions in the cbm.h header file.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5750 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoFixed wrong filename for module c_getin.s
uz [Sun, 1 Jul 2012 11:32:59 +0000 (11:32 +0000)]
Fixed wrong filename for module c_getin.s

git-svn-id: svn://svn.cc65.org/cc65/trunk@5748 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded missing function cbm_k_getin, which was in cbm.h but an implementation
uz [Sun, 1 Jul 2012 11:30:41 +0000 (11:30 +0000)]
Added missing function cbm_k_getin, which was in cbm.h but an implementation
was missing.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5747 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMove evaluation of the argument for .BANK into the linker. It is otherwise too
uz [Sat, 30 Jun 2012 17:18:03 +0000 (17:18 +0000)]
Move evaluation of the argument for .BANK into the linker. It is otherwise too
restricted, since no imported symbols may be used.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5746 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoIgnore generated files.
uz [Fri, 29 Jun 2012 15:05:04 +0000 (15:05 +0000)]
Ignore generated files.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5745 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded dummy classification macros for the remaining targets - even for those that...
ol.sc [Mon, 25 Jun 2012 20:23:54 +0000 (20:23 +0000)]
Added dummy classification macros for the remaining targets - even for those that don't have the field 'd_type'.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5744 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded register info for the aslaxy and shlaxy routines.
uz [Sun, 24 Jun 2012 22:05:56 +0000 (22:05 +0000)]
Added register info for the aslaxy and shlaxy routines.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5743 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdd another entry point to the shift left routine, that shifts A/X by Y
uz [Sun, 24 Jun 2012 22:04:00 +0000 (22:04 +0000)]
Add another entry point to the shift left routine, that shifts A/X by Y
without going over the stack.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5742 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded secondary linker config for Atari overlays (located below main program like...
ol.sc [Sun, 24 Jun 2012 21:23:25 +0000 (21:23 +0000)]
Added secondary linker config for Atari overlays (located below main program like Apple II).

git-svn-id: svn://svn.cc65.org/cc65/trunk@5741 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMade overlaydemo compatible with the Atari:
ol.sc [Sun, 24 Jun 2012 21:15:39 +0000 (21:15 +0000)]
Made overlaydemo compatible with the Atari:
- 8.3 overlay filenames
- exit only after keypress

git-svn-id: svn://svn.cc65.org/cc65/trunk@5740 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMinor adjustment to Apple II coding style (two spaces for macro definitions).
ol.sc [Sun, 24 Jun 2012 19:59:49 +0000 (19:59 +0000)]
Minor adjustment to Apple II coding style (two spaces for macro definitions).

git-svn-id: svn://svn.cc65.org/cc65/trunk@5739 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded Apple II classification macros for file types from struct dirent.
ol.sc [Sun, 24 Jun 2012 19:49:15 +0000 (19:49 +0000)]
Added Apple II classification macros for file types from struct dirent.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5738 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoSpecial handling for a few more runtime functions.
uz [Sun, 24 Jun 2012 14:29:27 +0000 (14:29 +0000)]
Special handling for a few more runtime functions.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5737 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded classification macros for file types from struct dirent.
uz [Sun, 24 Jun 2012 14:23:33 +0000 (14:23 +0000)]
Added classification macros for file types from struct dirent.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5736 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMove definitions for CBM file types into its own header file, since these
uz [Sun, 24 Jun 2012 13:52:06 +0000 (13:52 +0000)]
Move definitions for CBM file types into its own header file, since these
definitions are needed for file type macros in dirent.h. Unify names for the
include files.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5735 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoOptSize2 needs an extra removal of duplicate transfers.
uz [Sat, 23 Jun 2012 19:34:48 +0000 (19:34 +0000)]
OptSize2 needs an extra removal of duplicate transfers.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5734 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoCentralize generation of register infos for a code segment. This means that
uz [Sat, 23 Jun 2012 17:33:31 +0000 (17:33 +0000)]
Centralize generation of register infos for a code segment. This means that
all optimizer functions can rely on it.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5733 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded two replacements for negax. Shift right for signed values can be treated
uz [Sat, 23 Jun 2012 16:58:05 +0000 (16:58 +0000)]
Added two replacements for negax. Shift right for signed values can be treated
like unsigned if X is known to be zero.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5732 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoThe OptNegXXX function were actually handling bnega... runtime stuff. Renamed
uz [Sat, 23 Jun 2012 16:17:56 +0000 (16:17 +0000)]
The OptNegXXX function were actually handling bnega... runtime stuff. Renamed
them accordingly.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5731 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded secondary linker config for Apple2 overlays (like C64).
ol.sc [Sat, 16 Jun 2012 23:09:20 +0000 (23:09 +0000)]
Added secondary linker config for Apple2 overlays (like C64).

git-svn-id: svn://svn.cc65.org/cc65/trunk@5730 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoWe now don't define the memory area RAM anymore. So use the segment STARTUP - as...
ol.sc [Sat, 16 Jun 2012 22:58:03 +0000 (22:58 +0000)]
We now don't define the memory area RAM anymore. So use the segment STARTUP - as done in crt0.s.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5729 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoThe Apple2 linker configs *-loader.cfg only differed in the presumed HIMEM from the...
ol.sc [Sat, 16 Jun 2012 22:48:45 +0000 (22:48 +0000)]
The Apple2 linker configs *-loader.cfg only differed in the presumed HIMEM from the default config. Rather have that value adjustable.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5728 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdjusted comment to recent changes.
ol.sc [Sat, 16 Jun 2012 22:24:06 +0000 (22:24 +0000)]
Adjusted comment to recent changes.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5727 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAvoid mixing of memory areas and segments in address computations (and made move...
ol.sc [Sat, 16 Jun 2012 22:13:58 +0000 (22:13 +0000)]
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

12 years agoI just don't like 'file = "" '.
ol.sc [Sat, 16 Jun 2012 21:12:56 +0000 (21:12 +0000)]
I just don't like 'file = "" '.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5725 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoReplaced "throwing away" of memeory area HEADER with the much more elegant "not refer...
ol.sc [Sat, 16 Jun 2012 21:06:13 +0000 (21:06 +0000)]
Replaced "throwing away" of memeory area HEADER with the much more elegant "not referring" of symbol __EXEHDR__. This was recently made possible for the asm program config.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5724 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoRenamed segment 'HIGHCODE' to 'LC because:
ol.sc [Sat, 16 Jun 2012 20:57:49 +0000 (20:57 +0000)]
Renamed segment 'HIGHCODE' to 'LC because:
1. Its use isn't limited to code. It may as well be used for rodata.
2. This fits better to the new __LCADDR__ / __LCSIZE__ parameters.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5723 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoThe Apple2 linker configs basically cover two dimension of settings:
ol.sc [Sat, 16 Jun 2012 20:36:34 +0000 (20:36 +0000)]
The Apple2 linker configs basically cover two dimension of settings:
1. BIN vs. SYS vs. Loader
2. With Quit code vs. w/o Quit code vs. full LC

Up two now these two dimensions were sort of folded into a number of useful combinations. However with the new asm config and the upcominger overlay config we end up with just to many configs.

Therefore now the second dimension isn't expressed anymore as distinct config. Rather the user has to override __LCADDR__ and __LCSIZE__ in order use the Quite code area or the full LC.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5722 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoFor commutative operators processed by hie_internal, if the left side is a
uz [Sat, 16 Jun 2012 18:12:24 +0000 (18:12 +0000)]
For commutative operators processed by hie_internal, if the left side is a
constant, exchange the order of the operands so that better code can be
generated.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5721 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMark commutative operators as such (no change in code until now).
uz [Sat, 16 Jun 2012 15:49:53 +0000 (15:49 +0000)]
Mark commutative operators as such (no change in code until now).

git-svn-id: svn://svn.cc65.org/cc65/trunk@5720 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoUnified the "store via pointer" optimization routines.
uz [Sat, 16 Jun 2012 15:46:45 +0000 (15:46 +0000)]
Unified the "store via pointer" optimization routines.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5719 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoBe more flexible when detecting a special sequence that can be optimized.
uz [Fri, 15 Jun 2012 20:51:14 +0000 (20:51 +0000)]
Be more flexible when detecting a special sequence that can be optimized.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5718 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded basic Apple linker config for assembler programs (similiar to C64).
ol.sc [Thu, 14 Jun 2012 20:59:08 +0000 (20:59 +0000)]
Added basic Apple linker config for assembler programs (similiar to C64).

git-svn-id: svn://svn.cc65.org/cc65/trunk@5717 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMoved actual computation of DOS 3.3 header to linker configurations:
ol.sc [Thu, 14 Jun 2012 20:44:35 +0000 (20:44 +0000)]
Moved actual computation of DOS 3.3 header to linker configurations:
- This will allow for different "formulas".
- This brings things together in one place.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5716 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAnother optimization for array stores.
uz [Tue, 12 Jun 2012 18:11:53 +0000 (18:11 +0000)]
Another optimization for array stores.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5715 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoSize optimizations.
uz [Mon, 11 Jun 2012 18:16:17 +0000 (18:16 +0000)]
Size optimizations.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5714 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoExtend OPtShift3 to shift counts larger than 1.
uz [Mon, 11 Jun 2012 17:58:32 +0000 (17:58 +0000)]
Extend OPtShift3 to shift counts larger than 1.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5713 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoThe new module was missing from the Watcom makefile.
uz [Mon, 11 Jun 2012 07:45:47 +0000 (07:45 +0000)]
The new module was missing from the Watcom makefile.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5712 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded a forgotten header file.
uz [Mon, 11 Jun 2012 07:06:24 +0000 (07:06 +0000)]
Added a forgotten header file.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5711 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAnother optimization for right shift of the sum of two bytes.
uz [Sun, 10 Jun 2012 22:15:00 +0000 (22:15 +0000)]
Another optimization for right shift of the sum of two bytes.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5710 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoRemoved a unnecessary duplicate call to one routine.
uz [Sun, 10 Jun 2012 21:47:52 +0000 (21:47 +0000)]
Removed a unnecessary duplicate call to one routine.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5709 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMoved Apple EXEHDR to separate module (similiar to CBMs).
ol.sc [Sun, 10 Jun 2012 21:05:51 +0000 (21:05 +0000)]
Moved Apple EXEHDR to separate module (similiar to CBMs).

git-svn-id: svn://svn.cc65.org/cc65/trunk@5708 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMoved "store through pointers" optimizations into its own file and added
uz [Sun, 10 Jun 2012 20:09:40 +0000 (20:09 +0000)]
Moved "store through pointers" optimizations into its own file and added
another one.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5707 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded new pushl0 runtime function.
uz [Sun, 10 Jun 2012 19:23:15 +0000 (19:23 +0000)]
Added new pushl0 runtime function.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5706 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded an entry point to push a 32 bit long value.
uz [Sun, 10 Jun 2012 19:15:52 +0000 (19:15 +0000)]
Added an entry point to push a 32 bit long value.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5705 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoRearrangements for smaller size of generated code.
uz [Sun, 10 Jun 2012 19:02:54 +0000 (19:02 +0000)]
Rearrangements for smaller size of generated code.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5704 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoChanges for better code generation.
uz [Sun, 10 Jun 2012 18:55:22 +0000 (18:55 +0000)]
Changes for better code generation.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5703 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoChanged the code so that it better suits the code generation of the compiler
uz [Sun, 10 Jun 2012 18:32:38 +0000 (18:32 +0000)]
Changed the code so that it better suits the code generation of the compiler
(which means, the resulting code is shorter).

git-svn-id: svn://svn.cc65.org/cc65/trunk@5702 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoShortened the code.
uz [Sun, 10 Jun 2012 18:25:22 +0000 (18:25 +0000)]
Shortened the code.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5701 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoReplaced (broken) assert() with #error and added a source bitmap.
ol.sc [Sun, 10 Jun 2012 17:52:23 +0000 (17:52 +0000)]
Replaced (broken) assert() with #error and added a source bitmap.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5700 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoAdded demo applicaion showcasing sp65 in combination with GEOS.
ol.sc [Sun, 10 Jun 2012 14:49:13 +0000 (14:49 +0000)]
Added demo applicaion showcasing sp65 in combination with GEOS.

TODO: Fix the assert() calls.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5699 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoBetter define 'EXTBSS' to allow developer to memset() set it to zero on startup.
ol.sc [Sun, 10 Jun 2012 12:37:32 +0000 (12:37 +0000)]
Better define 'EXTBSS' to allow developer to memset() set it to zero on startup.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5698 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoMinor change.
ol.sc [Sun, 10 Jun 2012 12:20:50 +0000 (12:20 +0000)]
Minor change.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5697 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoApple GEOS reserves beside the main app area at $4000-$C000 a secondary app area...
ol.sc [Fri, 8 Jun 2012 21:46:51 +0000 (21:46 +0000)]
Apple GEOS reserves beside the main app area at $4000-$C000 a secondary app area at $0C00-$2000. While it was an elegant idea to use that secondary area for overlays at the end of the day those 5 kB are just too small. So now overlays go at the end of the main area (as with GEOS 64/128).
However the stack (usually 1 kB) can be securely placed in the secondary area without effort from the side of the developer. The rest of the secondary area (usually 4 kB) is made available to the developer as (uninitialized) 'EXTBSS'.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5696 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoIn error or warning messages, output the name of the library if this is
uz [Thu, 7 Jun 2012 19:59:51 +0000 (19:59 +0000)]
In error or warning messages, output the name of the library if this is
relevant. It's otherwise difficult to know what happens when ar65 is called
from within a makefile or similar.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5695 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoReorder variables to take advangate of improved code generation.
uz [Thu, 7 Jun 2012 13:31:32 +0000 (13:31 +0000)]
Reorder variables to take advangate of improved code generation.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5694 b7a2c559-68d2-44c3-8de9-860c34a00d81

12 years agoGenerate special memcpy code if the target is less than 256 bytes in size and
uz [Thu, 7 Jun 2012 13:30:21 +0000 (13:30 +0000)]
Generate special memcpy code if the target is less than 256 bytes in size and
located at the stack bottom.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5693 b7a2c559-68d2-44c3-8de9-860c34a00d81