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