]> git.sur5r.net Git - cc65/log
cc65
11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 years agoAdded info about the subysp function.
uz [Thu, 7 Jun 2012 13:14:49 +0000 (13:14 +0000)]
Added info about the subysp function.

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

11 years agoBe sure to check the availability of code entries before accessing them.
uz [Wed, 6 Jun 2012 22:01:04 +0000 (22:01 +0000)]
Be sure to check the availability of code entries before accessing them.

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

11 years agoAdded more to the list of "harmless" calls that do not interrupt a
uz [Wed, 6 Jun 2012 21:52:54 +0000 (21:52 +0000)]
Added more to the list of "harmless" calls that do not interrupt a
pushax/stackop sequence.

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

11 years agoDon't emit special code because it doesn't work well with the optimizer.
uz [Wed, 6 Jun 2012 21:52:09 +0000 (21:52 +0000)]
Don't emit special code because it doesn't work well with the optimizer.

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

11 years agoDetect an additional sequence that is used with pointers in register
uz [Wed, 6 Jun 2012 21:51:10 +0000 (21:51 +0000)]
Detect an additional sequence that is used with pointers in register
variables.

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

11 years agoOutput the optimization steps that had changes when debugging is enabled.
uz [Wed, 6 Jun 2012 21:50:10 +0000 (21:50 +0000)]
Output the optimization steps that had changes when debugging is enabled.

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

11 years agoAdded the test program for the POSIX directory routines.
uz [Wed, 6 Jun 2012 18:31:58 +0000 (18:31 +0000)]
Added the test program for the POSIX directory routines.

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

11 years agoDocument changed behaviour of the output processors for sp65.
uz [Mon, 4 Jun 2012 22:09:03 +0000 (22:09 +0000)]
Document changed behaviour of the output processors for sp65.

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

11 years agoSimilar changes as for the C output target: If the attribute "ident" is given,
uz [Mon, 4 Jun 2012 19:29:39 +0000 (19:29 +0000)]
Similar changes as for the C output target: If the attribute "ident" is given,
place the data into a .PROC with this name. Add additional constants named
COLORS, WIDTH and HEIGHT within this .PROC.

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

11 years agoAllow a third, optional filename argument for cbm_opendir.
uz [Mon, 4 Jun 2012 18:32:38 +0000 (18:32 +0000)]
Allow a third, optional filename argument for cbm_opendir.

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

11 years agoFixed a C99ism.
uz [Mon, 4 Jun 2012 07:48:37 +0000 (07:48 +0000)]
Fixed a C99ism.

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

11 years agoSmall optimization for shorter code.
uz [Sun, 3 Jun 2012 16:49:23 +0000 (16:49 +0000)]
Small optimization for shorter code.

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

11 years agoAdded descriptions for all functions in dirent.h.
uz [Sun, 3 Jun 2012 16:45:37 +0000 (16:45 +0000)]
Added descriptions for all functions in dirent.h.

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

11 years agoAdded secondary linker config for C64 overlays (incl. demo program).
ol.sc [Sun, 3 Jun 2012 16:16:11 +0000 (16:16 +0000)]
Added secondary linker config for C64 overlays (incl. demo program).

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

11 years agoParse the name passed to opendir().
uz [Sun, 3 Jun 2012 15:48:32 +0000 (15:48 +0000)]
Parse the name passed to opendir().

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

11 years agoDon't set errno when the regular end of directory is reached. Plus minor code
uz [Sun, 3 Jun 2012 15:31:19 +0000 (15:31 +0000)]
Don't set errno when the regular end of directory is reached. Plus minor code
cleanup.

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

11 years agoImplemented rewinddir/seekdir.
uz [Sun, 3 Jun 2012 15:11:32 +0000 (15:11 +0000)]
Implemented rewinddir/seekdir.

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

11 years agoFix two place where the directory offset wasn't tracked correctly.
uz [Sun, 3 Jun 2012 15:01:32 +0000 (15:01 +0000)]
Fix two place where the directory offset wasn't tracked correctly.

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

11 years agoRemoved unnecessary include files.
uz [Sun, 3 Jun 2012 14:32:15 +0000 (14:32 +0000)]
Removed unnecessary include files.

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

11 years agoAdded the telldir() function.
uz [Sun, 3 Jun 2012 14:03:22 +0000 (14:03 +0000)]
Added the telldir() function.

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

11 years agoImplement special read function that sets errno in case of a short read. Drop
uz [Sun, 3 Jun 2012 13:59:31 +0000 (13:59 +0000)]
Implement special read function that sets errno in case of a short read. Drop
_dirskip in favour of the new function.

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

11 years agoAdd comment about meaning of directory entry type.
uz [Sun, 3 Jun 2012 13:58:29 +0000 (13:58 +0000)]
Add comment about meaning of directory entry type.

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

11 years agoFix output of segment sizes. It was broken after some changes to the format.
uz [Sun, 3 Jun 2012 13:39:28 +0000 (13:39 +0000)]
Fix output of segment sizes. It was broken after some changes to the format.

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

11 years agoMoved most of the file type detection from cbm_dir.c into a new function
uz [Sat, 2 Jun 2012 22:56:14 +0000 (22:56 +0000)]
Moved most of the file type detection from cbm_dir.c into a new function
called _cbm_filetype().
Added an assembler include file with the file type definitions from cbm.h.
Added a first implementation of readdir() for the CBMs.

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

11 years agoNew function _dirskip that allows to skip an amount of bytes from the
uz [Fri, 1 Jun 2012 19:23:34 +0000 (19:23 +0000)]
New function _dirskip that allows to skip an amount of bytes from the
directory with error check.

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