1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-14 16:33:00 +00:00

2549 Commits

Author SHA1 Message Date
Oliver Schmidt
3e156bdd67 Removed unused header. 2014-03-03 22:52:39 +01:00
Oliver Schmidt
b68507d8a5 Adjusted spawn files to recent change II. 2014-03-03 22:38:41 +01:00
Oliver Schmidt
574bda3e4e Adjusted spawn files to recent change. 2014-03-03 22:26:08 +01:00
Oliver Schmidt
50c4fd1c4c Improve MinGW support.
- Code specific to Windows was #ifdef'ed with _MSC_VER so it wasn't included with MinGW. So _MSC_VER is replaced with _WIN32.
- MinGW doesn't support _get_pgmptr() so it is necessary to directly call the Win32 function GetModuleFileName(). This implies including windows.h which in turn causes a name clash with the Win32 function SearchPath(). So the cc65 type SearchPath is renamed to SearchPaths.
2014-03-03 22:12:14 +01:00
Oliver Schmidt
0bcc9675f1 Merge pull request #86 from AntiheroSoftware/ca65-65816
Fix jmp($1234) opcode table
2014-02-28 08:46:44 +01:00
lintbe
3de9f2e2dd fix jmp($1234) opcode table 2014-02-27 10:01:39 +01:00
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 8e6b8dd0afed52c1963ea29c4921157693463cbe.
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
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
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