Oliver Schmidt
4b085f193e
Merge pull request #83 from AntiheroSoftware/ca65-65816
...
Fix for pull request #80 bad JML opcode and adding syntax for Absolute Indirect Long
2014-02-20 15:07:56 +01:00
Oliver Schmidt
2dab4958e4
Migrated project files to VS2013.
2014-02-19 23:09:46 +01:00
lintbe
284436229e
add jml($1234) for JML Absolute indirect long
2014-02-19 13:22:06 +01:00
lintbe
e150c76cb7
fix opcode for JML Absolute indirect long
2014-02-19 11:06:39 +01:00
Oliver Schmidt
96ef7fd773
Merge pull request #80 from AntiheroSoftware/ca65-65816
...
Fixing ca65 for 65816 jml and jmp opcodes
2014-02-17 10:04:57 +01:00
lintbe
9fae57963d
removing \t from source file
2014-02-13 10:26:08 +01:00
lintbe
07d49f143b
Fixing ca65 for 65816 jml and jmp opcodes
...
added a missing addressing mode for jmp/jml : Absolute Indexed Long
that opcode can be written like jmp[$1234] or jml[$1234]
removed Absolute Inderect addressing mode for jml since it's not a long adressing mode
2014-02-12 23:48:10 +01:00
Oliver Schmidt
e22fc15589
Deduct temporary library path name from library path name.
...
Actually there's no need to fiddle with any automatic temp file name generation as we can just modify the library path name to generate a perfect temporary library path name.
2014-02-10 21:28:03 +01:00
Oliver Schmidt
0d3a652544
Use -Werror only on Travis CI builds.
...
There's no need to intentionally break things for people trying to build cc65 with some obscure compiler. It's enough to make sure that no new warnings sneak into the code base by having Travis CI builds fail.
2014-02-09 19:48:30 +01:00
Oliver Schmidt
47828e1059
Define _SVID_SOURCE to get tempnam().
2014-02-09 01:19:40 +01:00
Oliver Schmidt
bec75d9e62
Avoid tmpfile().
...
- tmpfile() tries to create files in the C: root dir on Windows where users usually don't have access.
- tmpnam() uses the curent dir which doesn't seem to be a good idea either.
- tempnam(NULL,NULL) is supposed to be cleverer.
2014-02-09 01:11:11 +01:00
Oliver Schmidt
a7b84bb618
Removed references to SunPlus.
2014-02-08 22:48:49 +01:00
Oliver Schmidt
74ece8256e
Goals from top level Makefile should be known even if empty.
2014-02-05 22:31:46 +01:00
Oliver Schmidt
9aa17b4c53
Moved ca65html out of the src directory.
...
- A HTML generator isn't really the core of a C/asm toolchain.
- A Perl script isn't actually as portable as one might think.
2014-01-31 22:27:40 +01:00
Oliver Schmidt
e320fe3db8
Added 'install' target.
...
The 'install' target primarily aims to support pacaking tools. Therefore...
- It just presumes a "capable" install program to be present.
- There's intentionally no 'uninstall' target.
2014-01-29 21:42:26 +01:00
Oliver Schmidt
0adad044e7
Moved USER_CFLAGS to the other flags.
2013-12-19 09:17:41 +01:00
Christian Groessler
418209f923
- Add a way to give additional compiler flags with USER_CFLAGS.
...
- Add possibility to specify an file name extension for generated executables (PROGEXT).
2013-12-18 21:56:17 +01:00
Oliver Schmidt
0a8efc9fc3
Revert "Added basic frame for new target 'creativision'."
...
This reverts commit 8e6b8dd0af
.
2013-12-05 21:45:20 +01:00
Greg King
1bcd4b44f8
Merged branch "master" into ubiquitous.
2013-11-30 12:40:57 -05:00
Greg King
fa14237315
Added a top border to a file's header comment.
2013-11-30 08:52:51 -05:00
Greg King
a6506abcd1
Removed a now-redundant line.
2013-11-30 08:24:58 -05:00
Greg King
309c8fb842
Fixed ca65's "ubiquitous_idents" feature.
...
Before the fix, that feature couldn't recognize a standard op-code mnemonic, that wasn't replaced by a macro, if it was on a line without a label.
This patch was written by Jeremy Turner.
2013-11-30 08:20:36 -05:00
Oliver Schmidt
8e6b8dd0af
Added basic frame for new target 'creativision'.
...
Kym Greenshields <kym.greenshields@gmail.com> has expressed interest
in contributing and maintaining support for the VTech CreatiVision system.
2013-11-25 22:52:04 +01:00
Stephan Mühlstrasser
9fd27d6ef6
Merge branch 'master' into c1p
2013-11-19 20:53:17 +01:00
Oliver Schmidt
f3d74cd166
Added optimizer fix originating from Ullrich von Bassewitz prepared by Greg King.
2013-10-09 21:56:05 +02:00
Oliver Schmidt
c22c6f28ff
Removed option from usage.
...
The option in question was removed with 37c492b544
2013-10-09 11:33:53 +02:00
Oliver Schmidt
f488f7576c
Applied fix contributed by Greg King.
...
The code
void foo(void)
{
int i;
long l = 1L * i;
}
triggered an
Internal compiler error:
Code generation messed up: StackPtr is -4, should be -2
Greg King: "We are lucky that the bug is simple -- a missing "else". The result is that the compiler thinks that it does the opposite of what it actually does: It thinks that it pushes the non-constant expression onto the stack. It doesn't; so, cc65's stack pointer is wrong."
2013-10-08 23:04:41 +02:00
Greg King
82299f3caa
Made the archiver announce a library's creation only if it is being verbose.
2013-09-23 16:10:12 -04:00
Stephan Mühlstrasser
9b505d7b65
Created C1P object file generator.
2013-07-16 22:31:10 +02:00
Stephan Mühlstrasser
b3b3578f08
Nominal support for target Ohio Scientific Challenger 1P
2013-07-14 22:50:38 +02:00
Greg King
cf7f7b9ef2
Fixed ld65's precalculation of memory-area sizes.
...
Before this fix, BSS-type and ZP-type segments never were counted. Now, they are counted if their memory areas are filled. (It must be done because their places in the output file are filled.)
The fix allows us to build programs for the CBM510 and CBM610 platforms. We won't see an "Internal error" diagnostic message about a bad file-offset.
2013-07-10 02:37:09 -04:00
thefox
c12a8bf377
Fixed a logic bug in dbginfo.c module that prevented some valid debug info files from being parsed.
2013-07-04 21:10:58 +03:00
Oliver Schmidt
3af758ced5
Have __PLUS4__ imply __C16__.
2013-06-27 23:09:54 +02:00
Oliver Schmidt
83280e1ee2
Have __APPLE2ENH__ imply __APPLE2__ and __ATARIXL__ imply __ATARI__.
2013-06-17 21:34:08 +02:00
Oliver Schmidt
92ad74a49f
Avoid GCC "unconst" warning.
2013-06-13 15:26:17 +02:00
Oliver Schmidt
32daa3dd2b
Added support for 'prefix'.
...
If the variable 'prefix' is defined then the builtin search paths are set to
$(prefix)/lib/cc65/... allowing to build binaries intended for installation.
Note that the library build still works with these binaries as it generally
overrides the builtin search paths by setting the CC65_HOME env var.
2013-06-07 23:13:46 +02:00
Oliver Schmidt
98c47d1877
Introduced target 'atarixl'.
...
The target 'atarixl' is to be used for Atari XL (and better) machines.
It will disable the OS ROM and enable the Shadow RAM available on
those machine.
Note: This commit is only the inital step towards for this goal that just
replicates the target 'atari' as a starting point!
2013-05-28 21:56:37 +02:00
Oliver Schmidt
bb37f2e9c8
Adjusted usage.
2013-05-24 18:36:59 +02:00
Oliver Schmidt
5bd0a53ea2
Added support for cc65 program arguments.
2013-05-24 18:36:30 +02:00
Oliver Schmidt
129fcff7e5
Fixed Carry handling in SBC opcode.
2013-05-21 23:47:19 +02:00
Oliver Schmidt
2a41b5a8d6
Adjusted sim65 MS VC build settings to the ones of the other binaries.
2013-05-21 20:54:33 +02:00
Oliver Schmidt
55f9e6ac25
Added 'sim6502' and 'sim65C02' targets.
...
The targets allow to run cc65 programs in the sim65 exection
einvironment. As there are no "real" i/o facilities there's no
need for header files. Paravirtualized entry points are mapped
to $FFF0 ff. There's a large cc65 progam area from $0200-$FFEF.
The binary format includes a one-byte header indicating the required
execution environment: The value 0 means 6502 and the value 1
means 65C02. The load adress for the binary is fixed to $0200.
Note: Running sim65C02 programs currently doesn't work bcause
sim65 doesn't actually implement 65C02 opcodes.
2013-05-20 20:35:42 +02:00
Oliver Schmidt
3a028fb621
Turned sim65 into a lightweight cc65 execution environment.
...
The sim65 source code has been a construction site for over a decade.
I was looking for a simple cc65 program execution environment for
regression tests. So I decided to re-purpose sim65 for that task by
removing about everything but the 6502 emulation.
There's no memory mapped i/o emulation whatsoever. Rather exit(),
open(), close(), read() and write() calls are supported by mapping
them through a thin paravirtualization layer to the corresponding
host os functions.
Note: The sim65 6502 emulation provides means to switch between
6502 and 65C02 emulation but currently there are no actual 65C02
opcodes implemented.
2013-05-20 20:20:14 +02:00
Oliver Schmidt
753aa29b15
Have 'avail' not be dependent on 'all'.
...
There are two reasons for removing this dependency:
- If someone does 'make avail' on the top level Makefile he ends up with
binaries but without libraries - not nice. Better do just "nothing" and
have hin understand that he needs to do 'make [all]' on the top level
Makfile first.
- If 'make avail' is done via 'sudo' it isn't desirable to do a large amount
of work as root.
BTW: I wasn't sure if this dependency is a good thing in the first place
but I saw it in many examples ('install' depending on 'all') so I did it too.
2013-05-17 16:21:05 +02:00
Oliver Schmidt
352ceb166c
Renamed [un]install goals to [un]avail.
...
The [un]install make goals have a rather fixed meaning for *ix users. The simple
symlinks provided here don't match the expectations users have from [un]install.
Therefore it is appropriate to rename them to "something" not tied to specific
expectations.
2013-05-15 11:59:51 +02:00
Oliver Schmidt
f1817650b2
Bumped version to 2.14.0.
...
The cmdline parameter handling as become quite incompatible to 2.13.3 so it seems
appropriate to increase the minor version.
2013-05-12 18:39:48 +02:00
Oliver Schmidt
85885001b1
Removed (pretty inconsistently used) tab chars from source code base.
2013-05-09 13:57:12 +02:00
Oliver Schmidt
969c3b7488
Allow to build just the binaries or just the libraries from the top level Makefile.
2013-05-07 19:05:41 +02:00
Oliver Schmidt
5ddf9e0878
Merge pull request #7 from greg-king5/config-buf
...
Removed unneeded variable and function.
2013-05-07 10:02:15 -07:00
Greg King
372e6ac1d6
Removed useless command-line option.
2013-05-07 00:54:44 -04:00
Greg King
1b2095d7e9
Removed unneeded variable and function.
...
They were used with built-in configurations.
Commit 37c492b544
made them obsolete.
2013-05-06 20:35:18 -04:00
Oliver Schmidt
912b0d9e93
Have cl65 run the binaries from its own directory.
...
While ca65, cc65 and ld65 have built-in paths cl65 doesn't.
That means that up to now cl65 depended on the binaries
being found in the path env var. However it makes sense
to presume that the binaries are located in the very same
directory cl65 is located in. So whatever pathname was
suitable to run cl65 should be suitable to run the other
binaries too. But if for some reason there's no valid
argv[0] or if it doesn't contain at least one directory
delimiter ('/' or '\') then fall back to relying on the
path env var.
2013-05-07 00:47:37 +02:00
Oliver Schmidt
2e7fdb23ee
Added reference to unused variable to avoid GCC 4.6 warning.
2013-05-06 23:31:00 +02:00
Oliver Schmidt
55667b94fb
Added search path relative to running binary on Windows.
...
In contrast to *IX it doesn't make much sense to add compile time defined
search paths to Windows binaries: There's no standard path like /usr/local/bin
(and there are no symbolic links to link from there to another location).
On the other hand it's (again in contrast to *IX) easy for Windows binaries
to determine their own paths. Therefore it's appropriate to make use of that
to add run time defined default search paths.
2013-05-06 23:20:56 +02:00
Oliver Schmidt
983c6285e1
Merge pull request #4 from greg-king5/filepath
...
Swapped the order of search paths.
2013-05-06 07:46:06 -07:00
Greg King
af55b24593
Changed the order of directories that are searched for files.
2013-05-06 08:11:01 -04:00
Oliver Schmidt
a8aeab5d57
Added support for building the MS VS solution from the Makefile.
2013-05-05 23:46:12 +02:00
Oliver Schmidt
b6ebf71446
Reduced verbosity.
2013-05-05 22:36:53 +02:00
Oliver Schmidt
c1f35496f6
Removed obsolete Makefiles.
2013-05-04 13:41:28 +02:00
Oliver Schmidt
1c962f73f5
Make use of single character variable syntax for the formal parameter variable.
2013-05-04 11:59:42 +02:00
Greg King
be5a5e03d8
Changed the order of directories that are searched for include files.
2013-05-03 23:25:06 -04:00
Oliver Schmidt
151cadf019
Replaced three function calls with one.
2013-05-02 23:57:26 +02:00
Oliver Schmidt
39a877175b
Added reference to unused variable to avoid GCC 4.6 warning.
2013-05-02 15:39:47 +03:00
Oliver Schmidt
0456ff8e70
Removed unused variable.
2013-05-02 15:13:19 +03:00
Oliver Schmidt
8f7da7885a
Removed unused variable.
2013-05-02 15:09:38 +03:00
Oliver Schmidt
81f461a15c
Placed libraries and the end of the linker cmdline.
2013-05-02 15:06:02 +03:00
Oliver Schmidt
f8ffe4c605
Removed unused variable.
2013-05-02 14:55:17 +03:00
Oliver Schmidt
75d32760ac
Removed unused variables.
2013-05-02 14:51:08 +03:00
Oliver Schmidt
63676f97e2
Removed unused variable.
2013-05-02 14:42:33 +03:00
Oliver Schmidt
f94ac40637
Replace only actually changed archive members.
2013-04-29 17:14:08 +03:00
Oliver Schmidt
780f38acd5
Most hosts require the math library to be linked explicitly.
2013-04-29 17:03:14 +03:00
Oliver Schmidt
18e00a1f9b
Made compatible with GNU make 3.81
2013-04-29 17:01:00 +03:00
Oliver Schmidt
9fece990be
Replaced elaborate install logic with just a bunch of symlinks.
...
Maybe I'm naive but even after thinking about it for quite
some time I can't see why it should hurt to just build the
cc65 binaries from the sources "in place" and have 'make
install' simply create some symlinks in usr/local/bin.
The new Makfile builds the binaries with builtin search paths
matching their build location. So the symlinks in usr/local/bin
allow to allow to use them out-of-the-box without additional
environment variables.
2013-04-28 22:30:18 +02:00
Oliver Schmidt
b5a735a58e
Removed obsolete Makefiles.
2013-04-27 17:47:20 +02:00
Oliver Schmidt
f2f3c8addf
No copyright message here.
2013-04-27 17:39:52 +02:00
Oliver Schmidt
052b229f86
Replaced whole bunch for Makefiles with a single generic Makefile.
...
- Targeting GNU toolchain.
- Modern dependency handling.
- Warning-free build.
- GCC option -Werror set.
- Dynamic search paths.
- Don't write into source directories.
- Easy cleanup by just removing 'wrk'.
2013-04-27 17:20:36 +02:00
Oliver Schmidt
ede72d78b2
Allow to supply searchpath defines as simple values instead of escaped C strings.
2013-04-27 17:20:34 +02:00
Oliver Schmidt
9d6ab944b8
Added projects for the remaining binaries to the MS VS 2010 solution.
2013-04-27 17:20:33 +02:00
Oliver Schmidt
58a7fec4ba
If an Amiga specific spawnvp() is the only alternative it seems save to classify the UNIX specific spawnvp() as default.
2013-04-27 17:20:31 +02:00
Oliver Schmidt
b45b6789a4
In general "\%s" doesn't seem to be a valid printf format specifier. Given where it originally came from and how OneLine() is used elsewhere I'm pretty sure that it should rather read "%s".
2013-04-27 17:20:30 +02:00
Greg King
d57ae65aad
Stopped interrupt dispatcher from being linked even when there are no interruptors.
...
Put ld65's CONDES import names into object module's list instead of linker's list.
2013-04-22 15:55:52 -04:00
Oliver Schmidt
bfc362f79c
Finetuned project files for build server compatibility.
2013-04-12 23:24:48 +02:00
Oliver Schmidt
fce1d5783f
Added MS VS 2010 solution with projects for the major binaries.
2013-04-10 19:30:36 +02:00
Oliver Schmidt
97d2d92fb5
Allow for warning-free build of cl65 with MS VC on warning level 3.
2013-04-09 23:32:18 +02:00
Oliver Schmidt
d38b008080
Allow for warning-free build of ld65 with MS VC on warning level 3.
2013-04-09 23:10:57 +02:00
Oliver Schmidt
37c492b544
Replaced builtin linker configs with ordinary .cfg files.
...
The benefits are:
- Independency of ld65 build from perl
- More transparent behaviour
2013-04-09 23:09:46 +02:00
Oliver Schmidt
4757642a12
No copyright message here.
2013-04-08 00:11:17 +02:00
Oliver Schmidt
662af3d67c
Allow for warning-free build of ar65 with MS VC on warning level 3.
2013-04-08 00:11:15 +02:00
Oliver Schmidt
be83b87463
Allow for warning-free build of cc65 with MS VC on warning level 3.
2013-04-08 00:11:13 +02:00
Oliver Schmidt
ef803fed05
No SVN version here.
2013-04-08 00:11:12 +02:00
Oliver Schmidt
ffb8595440
Allow for warning-free build of common with MS VC on warning level 3.
2013-04-08 00:11:10 +02:00
Oliver Schmidt
365668785c
Allow for warning-free build of ca65 with MS VC on warning level 3.
2013-04-08 00:11:08 +02:00
Oliver Schmidt
29c522fc5a
No copyright message here.
2013-04-08 00:11:07 +02:00
Oliver Schmidt
54299fae5a
Replaced builtin macro packages with .mac files that are included like ordinary .inc files.
...
The benefits are:
- Independency of ca65 build from perl
- More transparent behaviour
2013-04-08 00:11:05 +02:00
uz
e6aa00b339
Reorder CF_xxx flags so that they can be used as table index.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5990 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-03-06 12:53:07 +00:00
ol.sc
1607b05104
Just some beautification.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5984 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-12 20:55:19 +00:00
ol.sc
378101ea52
Added missing __CALLIRQ__ import attribute.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5983 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-12 20:22:27 +00:00
uz
e8964cde74
Quick fix for a problem in the OptLoad3 function. The fix isn't perfect and
...
may fail for inline assembly code, but at least it's less buggy than before.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5982 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-12 19:51:11 +00:00
uz
274a7210e7
Fixed several issues where an object file reference or line infos were
...
accessed when they in fact didn't exist, because the symbol was linker
generated (in the config or on the command line).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5981 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-10 20:56:13 +00:00
uz
fd679d92d0
Fixed a problem: When a struct or unit was declared with a tag name, it was
...
possible to use the opposite type with the tag name. That is "struct a" after
declaring "union a" and vice versa.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5980 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-02 22:31:26 +00:00
uz
0eed753578
Prevent a literal string that is an argument for sizeof to be output into the
...
literal pool.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5968 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-25 20:45:40 +00:00
uz
63a0813979
Fix an error in ReleaseLiteral.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5967 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-25 20:39:43 +00:00
uz
fa722e351a
The scrcode macros lost the last argument in the recursive call.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5966 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-22 21:28:26 +00:00
uz
9fce84c722
Added a new feature "underline_in_numbers" requested by thefox. Using
...
underlines it is possible to group the digits for easier reading.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5963 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-12 19:07:31 +00:00
uz
d6290e0a0f
Do an additional run of duplicate loads at the end of OptGroup4.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5959 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-07 20:17:50 +00:00
uz
03e6556457
Fixed a bug in the function that generates register info: For tosaslax the
...
check for a known output value of A was wrong.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5954 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-01 21:09:16 +00:00
karri
2f860697b8
Optimize low color packed sprites
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5951 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-17 17:48:56 +00:00
karri
7cda393a82
Add edge parameter
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5935 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-14 19:08:24 +00:00
karri
7e75e29812
Fix shaped bugs
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5933 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-13 14:48:25 +00:00
karri
f03d5c54d8
Add shaped mode
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5931 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-12 19:26:11 +00:00
karri
6f7952ec5a
Implement packed mode
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5930 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-12 18:43:03 +00:00
karri
db6e8cac09
A bit more modular design
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5929 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-11 18:49:27 +00:00
ol.sc
f15b8246f9
Use array type declaration to avoid &-operator.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5926 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-07 23:25:37 +00:00
uz
38e185d15d
Rearrange the code to avoid a warning from the Watcom compiler.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5922 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-06 20:41:02 +00:00
uz
aad6cd2a14
Allow to map characters to code zero with .CHARMAP.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5921 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-06 20:36:45 +00:00
uz
c8b3275246
Removed the unused function TgtTranslateStr.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5920 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-06 20:32:09 +00:00
uz
4682d7542a
Add -d (debug mode) to the assembler options. In studyexpr, use the debug
...
flag, not the verbose flag to decide if the studied expression should be
output.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5919 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-06 20:24:44 +00:00
karri
2c446018db
Add quadrant optimisation
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5918 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-06 06:33:17 +00:00
karri
c250482137
Add anchor point support
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5917 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-06 06:24:50 +00:00
karri
66ad6be22a
Add support for 4 quadrants
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5915 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-06 04:49:34 +00:00
uz
d825bbde06
Since there is now line info with type ASM and a count not equal to zero, the
...
search for the toplevel line info had to be changed slightly.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5906 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-04 12:58:17 +00:00
uz
4a41865898
Fixed a problem in line info generation: Recorded token lists emitted the
...
tokens using the standard ASM line info, overwriting the existing one from the
real source line. Since this info was lost, and couldn't be recovered, the
original source location was omitted in error messages.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5905 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-04 12:57:34 +00:00
uz
0b5c667cd9
Output notifications for line info from macro parameters in case of
...
errors/warnings.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5904 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-04 12:36:00 +00:00
uz
5410cdea29
Add line info for macro parameters.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5903 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-04 12:35:20 +00:00
uz
7b34609930
Have the callirq module export __CALLIRQ__ and changed all config files so
...
this symbol is a forced import for all interruptors.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5902 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-03 21:59:15 +00:00
uz
77bd3169f6
Added a new attribute IMPORT to the CONDES definition of the FEATURES section.
...
If this attribute is defined, an import for the given symbol is added to the
module that contains the condes declaraction. Using this feature, it is
possible to force linkage of a module that contains an export for the symbol.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5900 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-03 21:37:19 +00:00
karri
77e6bb483f
Add end of sprite byte
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5899 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-03 20:13:25 +00:00
karri
7862c3f193
First quadrant literal sprite working
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5898 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-03 17:25:01 +00:00
uz
0e82853a4a
Use O65OPT_FILENAME to place the filename of the output file into generated
...
o65 modules.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5886 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-28 19:31:24 +00:00
uz
ff166363f0
OptCmp3 removed a compare to zero instruction preceeded by a load despite the
...
fact that the carry flag (which is set by the compare but not by the load) had
been used later.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5885 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-28 19:04:09 +00:00
uz
f90fa9cc29
Make the old "AllocNew" flag for symbols an enum and add an additional flag
...
that allows to lookup a symbol without any flags added to it.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5884 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-27 19:50:49 +00:00
uz
a3ae2e9125
Minor code optimization.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5883 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-27 19:32:42 +00:00
uz
757b400aa1
The message "Dropping x additional line infos" had been displayed even if
...
there weren't any more line infos to display, because they had the wrong type.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5882 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-27 19:16:35 +00:00
uz
0cbc81161c
Fixed a problem with the last change: Sym wasn't always NULL when it should
...
have been.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5881 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-27 15:47:49 +00:00
uz
acb3fcb9c7
Fixed a problem reported by thefox: A symbol reference with an explicit scope
...
specification that is used when the scope is already closed, has be made a
trampoline symbol later, referencing a symbol outside of the scope explicit
specified.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5880 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-27 11:49:37 +00:00
ol.sc
8a5430d138
Added C128 overlay linker config.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5831 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-30 14:53:12 +00:00
ol.sc
d080bea30f
Minimal formatting adjustment.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5830 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-30 14:18:47 +00:00
uz
e6b52ee8d0
Fixed a bug reported by thefox: The .CHARMAP command must not accept indices
...
or character codes with a value of zero. The assembler runs into a CHECK in
tgttrans anyway if the index is zero.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5826 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-17 15:09:39 +00:00
karri
2222df9143
Shring the bootloader by 20 bytes and remove restrictions on file size
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5824 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-11 13:01:39 +00:00
uz
574c8fa273
Added a "fillval" attribute to the segment definition. When given, it
...
overrides the value from the memory area for all space that lies within the
segment itself.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5823 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-09 19:00:43 +00:00
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
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
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
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
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
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
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
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
43ea0e3df9
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
2012-06-30 17:18:03 +00:00
uz
92a0632634
Added register info for the aslaxy and shlaxy routines.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5743 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 22:05:56 +00:00
ol.sc
e3fb0233c8
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
2012-06-24 21:23:25 +00:00
uz
43d0d2fb78
Special handling for a few more runtime functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5737 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 14:29:27 +00:00
uz
87d19de33f
OptSize2 needs an extra removal of duplicate transfers.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5734 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-23 19:34:48 +00:00
uz
ec900bc200
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
2012-06-23 17:33:31 +00:00
uz
d5810a818c
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
2012-06-23 16:58:05 +00:00
uz
4333c76710
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
2012-06-23 16:17:56 +00:00
ol.sc
bb41dccfe3
Added secondary linker config for Apple2 overlays (like C64).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5730 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 23:09:20 +00:00
ol.sc
f6ab932b32
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
2012-06-16 22:48:45 +00:00
ol.sc
4647e98071
Adjusted comment to recent changes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5727 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 22:24:06 +00:00
ol.sc
610bb14988
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
2012-06-16 22:13:58 +00:00
ol.sc
7691da610b
I just don't like 'file = "" '.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5725 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 21:12:56 +00:00
ol.sc
b7b7de55d0
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
2012-06-16 21:06:13 +00:00
ol.sc
094ffa1984
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
2012-06-16 20:57:49 +00:00
ol.sc
c9555b328a
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
2012-06-16 20:36:34 +00:00
uz
ec1f955a6e
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
2012-06-16 18:12:24 +00:00
uz
b5d88fdedd
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
2012-06-16 15:49:53 +00:00
uz
c1d7ed26e8
Unified the "store via pointer" optimization routines.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5719 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 15:46:45 +00:00
uz
7c9b27c048
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
2012-06-15 20:51:14 +00:00
ol.sc
b014bd8196
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
2012-06-14 20:59:08 +00:00
ol.sc
95686b169e
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
2012-06-14 20:44:35 +00:00
uz
9142a300c1
Another optimization for array stores.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5715 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-12 18:11:53 +00:00
uz
c66185259b
Extend OPtShift3 to shift counts larger than 1.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5713 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-11 17:58:32 +00:00
uz
22078ba924
The new module was missing from the Watcom makefile.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5712 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-11 07:45:47 +00:00
uz
cb9ef2f96a
Added a forgotten header file.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5711 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-11 07:06:24 +00:00
uz
8dc74f33da
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
2012-06-10 22:15:00 +00:00
uz
878f469fc8
Removed a unnecessary duplicate call to one routine.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5709 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 21:47:52 +00:00
ol.sc
9cc99876b2
Moved Apple EXEHDR to separate module (similiar to CBMs).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5708 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 21:05:51 +00:00
uz
cf509a775d
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
2012-06-10 20:09:40 +00:00
uz
4b80a3b9cd
Added new pushl0 runtime function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5706 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 19:23:15 +00:00
ol.sc
45bf954fbe
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
2012-06-10 12:37:32 +00:00
ol.sc
ffc06fcea3
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
2012-06-08 21:46:51 +00:00
uz
5cf9f585a6
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
2012-06-07 19:59:51 +00:00
uz
b916fae1cc
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
2012-06-07 13:30:21 +00:00
uz
0f7f7796b1
Added info about the subysp function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5692 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-07 13:14:49 +00:00
uz
cff1a6ffdb
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
2012-06-06 22:01:04 +00:00
uz
61c1f6b270
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
2012-06-06 21:52:54 +00:00
uz
fa69f31982
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
2012-06-06 21:52:09 +00:00
uz
fe1c4cd46b
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
2012-06-06 21:51:10 +00:00
uz
279dc29b45
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
2012-06-06 21:50:10 +00:00
uz
e416092f70
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
2012-06-04 19:29:39 +00:00
uz
e5cdab4544
Fixed a C99ism.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5682 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-04 07:48:37 +00:00
ol.sc
3cb0cce00d
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
2012-06-03 16:16:11 +00:00
uz
d5cf83deba
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
2012-06-03 13:39:28 +00:00
uz
4663245219
Change data generation for C output. The ident attribute is now optional.
...
Without it, just the data is output. With an identifier given, there will be
additional #defines for xxx_COLORS, xxx_WIDTH, xxx_HEIGHT, and the data is
places into an array with the given name.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5662 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-28 11:35:44 +00:00
uz
47c87eb335
Fixed an error: When guessing the address size of an expression used in an
...
instruction that contains undefined symbols, and the effective address allows
just one address size, use this size instead of the default data segment size.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5658 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-25 16:28:46 +00:00
uz
7d62062bd2
Added an optimization for signed shift right.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5657 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-09 18:00:27 +00:00
uz
2ce084228f
Fixed a comment.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5652 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-25 17:26:30 +00:00
uz
0ff4e5cf64
The program dumped core when read/write was used without a conversion of the
...
input to binary data.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5651 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-22 21:57:28 +00:00
uz
cd7e65f97e
Fixed an uniniitalized variable which caused ranom error messages on static
...
local variables.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5650 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-22 21:38:31 +00:00
uz
7bf80a4d73
Reverted errorneously commited change to the makefile.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5649 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-22 18:09:17 +00:00
uz
faf58a8220
Fixed an error when parsing local variables: Variables must be inserted into
...
the symbol table *before* the optional initializer is parsed, because they
might be referenced in the intializer.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5648 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-22 18:08:45 +00:00
uz
b0c4678ad2
More cleanup.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5647 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-11 12:23:33 +00:00
uz
b0ed819891
More preparations for loadable CPUs. Will still not compile.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5646 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-09 11:55:18 +00:00
uz
4858614605
Moving around stuff. Preparation for loadable CPUs.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5645 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-06 11:35:56 +00:00
uz
74ee7a44a9
One more intermediate state - not compilable.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5644 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-05 19:55:04 +00:00
uz
10d58204b5
Intermediate state - doesn't run as is.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5643 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-05 13:30:21 +00:00
uz
032c16dda4
Reenable Break(), use a string buffer for safe formatting.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5642 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 17:35:34 +00:00
uz
b5d4321a4b
Added support for several colors.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5641 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 17:34:54 +00:00
uz
31e0666087
Use FileStat instead of stat.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5640 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 13:28:33 +00:00
uz
2cd0b5ae91
Fixed an error in the conversion function from Unix time to FILETIME.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5639 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 13:27:19 +00:00
uz
7287d86dd1
Use the replacement function to set file times.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5638 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 13:13:28 +00:00
uz
a0c6ae2c62
Added a replacement for utime(), because it has the same DST bug as stat().
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5637 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 13:01:56 +00:00
uz
b833c6c8c5
Explicitly ignore the function result of CloseHandle().
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5636 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 12:54:17 +00:00
uz
dd6475ac3d
Fixed an invalid offset.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5635 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 19:29:04 +00:00
uz
a9550ade4c
Added a missing #include.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5634 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 17:20:10 +00:00
uz
f9729fd0cf
Use the new FileStat function to get correct file modification times under
...
Windows.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5633 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 17:01:05 +00:00
uz
65fe2ad0d3
Add a new module that works around a bug in the Microsoft version of stat. The
...
function is buggy since the first version of windows that supports something
else than FAT, and instead of fixing the problem, Microsoft has declared it
"works as designed". The problem has made it into .NET and is also visible in
the standard windows file explorer (modification times of untouched files will
change when entering or leaving DST).
Please note that the new FileStat function returns incorrect times for files
on FAT file systems. This is because I have currently no idea on how to
identify the file system for a given file. However, it should be correct in
quite some more cases than stat().
git-svn-id: svn://svn.cc65.org/cc65/trunk@5632 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 16:56:42 +00:00
uz
baa4774b08
Fixed a comment.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5631 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 15:48:53 +00:00
uz
35e1184901
Removed unneeded include files.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5630 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 15:48:11 +00:00
uz
724d1b9160
Fixed an error: When determining where to place initialized data, the compiler
...
didn't look "deep enough" into nested arrays to determine the constness
correctly.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5622 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-24 14:28:59 +00:00
uz
515661e5f4
Fixed an error: For symbols declared as extern in local scope, the name for
...
the external assembler symbol wasn't set.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5620 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-24 13:42:10 +00:00
uz
63328d3852
Implement anonymous structs/unions in cc65 mode.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5618 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-17 20:33:09 +00:00
uz
7260b3687a
Pass the source image of the conversion down to the output function, so they
...
are able to output the image properties as comments.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5616 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-15 17:02:12 +00:00
uz
fbbf7e50d2
Added two more conversion targets: geos-bitmap, which will create a GEOS
...
compacted bitmap, and raw, which is probably mostly useful for debugging. It
converts an indexed image to a row of bytes which correspond to the color
indices of the pixels.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5615 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-13 21:12:27 +00:00
uz
1c91618a5d
Fixed a C99ism.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5614 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-12 08:20:20 +00:00
uz
3f25b9d6a2
Fixed a copy&paste error in a comment.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5613 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-11 22:44:22 +00:00
uz
422629ff91
Added conversion to GEOS icon format (which is actually identical to the VIC2
...
high-res sprite format).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5612 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-11 22:43:44 +00:00
karri
4b6720d32b
Add lynx sprite generation skeleton
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5610 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-11 14:00:51 +00:00
karri
cba5d0af56
Add lynx sprite generation skeleton
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5609 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-11 13:48:40 +00:00
uz
6d0d1575a6
Added generation of C output.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5607 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-11 12:38:54 +00:00
uz
b599fe5793
Added the capability to generate multicolor sprites.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5606 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-11 12:17:48 +00:00
uz
4a0a76b012
New function GetBitmapName, inlined GetBitmapColors.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5605 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-11 11:38:37 +00:00
uz
ca691233e4
New option --dump-palette. Fixed a double free in the cleanup code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5604 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-11 11:25:38 +00:00
uz
c9d65c56c2
Remove the bitmap type since it is not really needed and complicate things.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5603 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-11 11:10:41 +00:00