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

5394 Commits

Author SHA1 Message Date
uz
5693df8bf2 Do not try to dump an expression that has errors (circular references in this
case) because the dump routine doesn't detect this and runs into an endless
recursion.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5811 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-22 21:24:54 +00:00
uz
c1bbf69d72 New option --relax-checks that disable the check for a match beween size oif
an expression and the address size. Will allow short branches between segments
among other things. Suggested by Spiro Trikaliotis.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5810 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-20 20:07:05 +00:00
ol.sc
da4bc2bcaa Fix by Spiro Trikaliotis.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5809 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-19 10:28:12 +00:00
ol.sc
0f84a585e5 Minor changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5808 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-16 19:29:29 +00:00
ol.sc
ec4a8d81bd Added 'multidemo' to the samples README.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5807 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-16 19:20:53 +00:00
ol.sc
2d97630d03 Added somewhat more complex demo. It looks for emdrivers in the current directory and tries to load them until one loads successfully. In that case it "streams" its overlay files into extended memory. Finally it loads its overlays from extended memory (or disk) and calls into them.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5806 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-08 21:23:18 +00:00
uz
942c0b6b2f Choose another way to fix the issue from r5804: When parsing the directory
name, add a file mask, so the result is "$0:*" or similar. When specified like
this, the drive accepts the r/o specifier ",R" so we don't have to complicate
the code in open().


git-svn-id: svn://svn.cc65.org/cc65/trunk@5805 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-06 18:45:26 +00:00
uz
55b56b2475 Fixed a bug: The floppies do not like ,R (for read mode) when opening the
directory.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5804 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-05 21:32:40 +00:00
uz
5fe9e2c3b3 Don't add the current directory to the list of search paths. If the main file
is located there, it is added anyway. If the main file is located elsewhere,
we don't want to search in the current directory.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5803 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-01 21:44:36 +00:00
uz
148363810b Don't add the current directory to the list of search paths. If the main file
is located there, it is added anyway. If the main file is located elsewhere,
we don't want to search in the current directory.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5802 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-01 21:42:26 +00:00
uz
ff16f28405 Document that scopes don't have an effect on unnamed labels.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5801 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-01 19:32:38 +00:00
uz
537b18d765 Fix invalid header offset (has been changed in opendir.c but checkin of
readdir.c was missing).
                     


git-svn-id: svn://svn.cc65.org/cc65/trunk@5800 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-01 08:49:09 +00:00
ol.sc
58c8db7c75 Have _em_load_driver exported here now that it is an asm function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5799 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-31 21:37:07 +00:00
uz
fbdd6faff6 Fixed a comment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5798 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-30 19:02:07 +00:00
uz
470a4abcf2 Include the CBM disk label in the returned directory entries.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5797 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-30 19:01:45 +00:00
uz
3c9f722fbf 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
2012-07-28 12:26:57 +00:00
uz
7ab3ede933 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
2012-07-23 06:18:58 +00:00
uz
dcff1d0774 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
2012-07-22 19:54:04 +00:00
uz
e7ed3b374f 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
2012-07-22 11:36:09 +00:00
uz
1f9f96d9b7 More comment fixes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5792 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 11:20:45 +00:00
uz
97060cc32e Fixed a few comments.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5791 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 11:18:36 +00:00
uz
975a06c2ee 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
2012-07-22 11:07:46 +00:00
ol.sc
3ce61b47a9 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
2012-07-19 12:25:04 +00:00
uz
6345c4ee25 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
2012-07-17 18:30:05 +00:00
uz
b4214634b2 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
2012-07-17 18:28:07 +00:00
uz
a62958764d 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
2012-07-15 12:34:35 +00:00
uz
f7f4d01e52 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
2012-07-15 12:30:43 +00:00
uz
eef430e45a Fixed a problem with the optimizations for shifts.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5783 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-12 21:12:50 +00:00
uz
18f22506ba 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
2012-07-12 21:11:21 +00:00
uz
49e5d19950 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
2012-07-12 20:30:01 +00:00
uz
44f965c462 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
2012-07-11 20:58:29 +00:00
uz
6cdd8e7281 Rewrite code for arithmetic right shift.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5779 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-11 20:57:02 +00:00
uz
40a3084553 Add another form of duplicate load removal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5778 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-10 20:46:21 +00:00
uz
7a0fa3ce67 Modifications for smaller code size.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5777 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-10 20:45:16 +00:00
uz
baa978d7a4 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
2012-07-09 19:44:40 +00:00
silverdr
1908158362 cbm_k_ functions documented
git-svn-id: svn://svn.cc65.org/cc65/trunk@5775 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-09 19:23:52 +00:00
uz
58530c142a Rearrange order of opt steps for better efficiency.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5774 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-08 21:56:01 +00:00
uz
59ae850db7 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
2012-07-08 13:05:57 +00:00
uz
440cc47770 Fixed an error.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5772 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 22:22:59 +00:00
uz
3365220827 Added optimization for complax.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5771 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 19:54:24 +00:00
uz
49905d74bd More shift optimizations.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5770 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 19:24:17 +00:00
uz
ae42e3b491 Added a comment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5769 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 19:09:23 +00:00
uz
a27bc7774e Start adding stuff that optimizes the new shift functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5768 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 17:56:39 +00:00
uz
859236615e Ignore a few more "harmless" functions when optimizing.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5767 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-07 17:36:15 +00:00
uz
4139c83abf 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
2012-07-07 15:21:12 +00:00
uz
cd4f87b2cc Fixed compiler warnings.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5765 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-06 20:02:43 +00:00
uz
e50649af2c 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
2012-07-06 20:01:46 +00:00
uz
5f0db62f58 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
2012-07-06 20:00:22 +00:00
uz
da766d872c 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
2012-07-06 19:59:29 +00:00
uz
c6db670be5 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
2012-07-06 19:57:24 +00:00