1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-30 01:29:37 +00:00
Commit Graph

2509 Commits

Author SHA1 Message Date
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