1
0
mirror of https://github.com/cc65/cc65.git synced 2026-04-20 17:20:49 +00:00
Commit Graph

2062 Commits

Author SHA1 Message Date
Oliver Schmidt 619b215260 Added library reference em_libref to EMD interface.
Occasionally dynamically drivers suffer from not being to refer to
content in the C library. Therefore I added a mechanism to allow
a C library for a certian target to define a symbol that will be
handed over to dynamic drivers for that target. Then the drivers
can use their refernce to that symbol to access content in the C
library.
2013-06-01 00:11:31 +02:00
Oliver Schmidt 7024e2789d Explicitly set search paths for libraries build.
The libraries build is prepared to work with binaries not part of the current
working tree. But in this case the default search path surely points to some
other working tree. Even the binaries in this working tree might have been
compiled with non-standard builtin search paths.

Anyway when building the libraries we want always to use the headers from
the current working tree. Therefore we want to set them explicitly. Instead
of setting all in all five paths on the command lines of ca65, cc65 and ld65 I
opted to just set the single environment variable.
2013-05-31 21:30:14 +02:00
Christian Groessler c1230b8af6 small cleanup 2013-05-31 14:49:46 +02:00
Christian Groessler 7f0dbde77f Take SHADOW_RAM size into account. 2013-05-31 14:49:25 +02:00
Christian Groessler 451b34bc75 When turning the ROM off and on, also change the chargen pointer. 2013-05-31 01:50:07 +02:00
Christian Groessler 8e632b2847 some more changes -- atarixl target basically works now 2013-05-31 01:47:25 +02:00
Christian Groessler 9228b002b0 Handlers which manage the banking in and out of the ROM. 2013-05-31 01:45:53 +02:00
Christian Groessler 9908561e80 add more saved content 2013-05-31 01:42:30 +02:00
Christian Groessler 00fca46d2a move ZPSAVE content into its own file (used by 2nd load chunk and crt0.s in atarixl target) 2013-05-31 01:40:45 +02:00
Christian Groessler 7aa2231702 adapt to atarixl target 2013-05-31 01:38:16 +02:00
Christian Groessler c1468f11b2 rename CIOV and SIOV to CIOV_org and SIOV_org for atarixl target 2013-05-31 01:37:40 +02:00
Christian Groessler 79d150b626 Code & data for "shadow RAM preparation" load chunk in the atarixl target.
Intermediate check-in, unfinished...
2013-05-30 02:34:06 +02:00
Christian Groessler 480d2a9305 Code & data for "system check" load chunk in the atarixl target. 2013-05-30 02:33:09 +02:00
Christian Groessler 2f6e7874c6 "save area" is used to save modified system variables and ports. It's
shared between the second and main chunk.
2013-05-30 02:31:25 +02:00
Christian Groessler 06f441e90f Some small first changes for the 'atarixl' target. 2013-05-30 02:30:19 +02:00
Greg King 051c21726b Added Inkwell lightpen drivers for the C64 and the C128.
They use the mouse driver programming interface.

Added a test program for lightpen drivers.  Now, it knows about only those two drivers; it will need updating when others are added.
2013-05-29 20:02:29 -04:00
Oliver Schmidt 7572834ebf Use cbm_load() to load overlays on CBMs. 2013-05-29 01:12:24 +02:00
Oliver Schmidt 56b6dcf814 Brought back mouse driver source code.
The mouse driver source code in question was removed two years
ago with commit 6cbbe66c87.
It seems however desirable to have it around visible in the source
code tree for reference purposes.
2013-05-28 22:07:04 +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 2e8a65bda4 Renamed Atari drivers.
As a preparation for the introduction of the 'atarixl' target it is
necessary that all drivers have a base name...
- no longer than 7 characters
- with a common prefix
2013-05-28 21:20:37 +02:00
Oliver Schmidt 5bd0a53ea2 Added support for cc65 program arguments. 2013-05-24 18:36:30 +02:00
Oliver Schmidt 1354e1265f No delimiter comment between includes and first segment. 2013-05-24 18:29:31 +02:00
Oliver Schmidt 80b3da1058 The paravirtualization hooks are called for JMP too so there's no need for JSR. 2013-05-24 18:25:16 +02:00
Oliver Schmidt 3cc3b39c89 Made lib build less verbose if run as Travis CI build.
Travis CI limits the real time build output to 10000 lines. We need to be less verbose in the lib build to stay below that threshold.
2013-05-21 21:46:03 +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 16b77658a7 Made dependency handling for C sources actually work. 2013-05-12 18:21:49 +02:00
Greg King 415279457b Made geos-apple's file-converter depend on apple2enh's library.
The geos-apple target will build that library if it doesn't exist.
2013-05-09 14:46:04 -04:00
Oliver Schmidt 9ecf20a56a Force warning-free build (and added missing clean target). 2013-05-09 14:25:25 +02:00
Oliver Schmidt 4d35517f79 Allow for warning-free build of libraries. 2013-05-09 14:24:13 +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 54c54f8499 Include targetutil intermediates in dependency handling. 2013-05-09 09:27:36 +02:00
Oliver Schmidt e4347b5c74 Removed unintentionally committed intermediate file. 2013-05-09 09:18:19 +02:00
Oliver Schmidt 443e336058 Search for "local" binaries only once. 2013-05-09 01:37:09 +02:00
Oliver Schmidt 00bb0f9704 Hack: Changed TARGET order to have apple2enh.lib available for convert.system.
There's a quite special case of a targetutil for the TARGET geos-apple having to be
built as TARGET apple2enh binary. We can't just add a dependency to ../lib/apple2enhlib
because the TARGETs are built in individual make instances (because of vpath).

Doing that the "right way" would be _very_ complicated and would turn the Makefiles way
less readable. Therefore I decided to solve that by just reordering the TARGETs. Surely
this won't work if i.e. 'make geos-apple' is entered on a clean system. But still I consider
it appropriate.

I ordered the TARGETs btw so that they are more in an alphabetical order...
2013-05-09 01:32:48 +02:00
Oliver Schmidt 092653cb5b Added support for building targetutils. 2013-05-09 01:12:26 +02:00
Oliver Schmidt bf59515a9e Added support for building 'extra' object files. 2013-05-08 23:27:58 +02:00
Oliver Schmidt 717121a7cf Removed reference to CC65_HOME.
Now that we're pretty much independent from CC65_HOME
it doesn't make sense anymore to look for it in the Makefiles.

So rather dynamically check if there are "local" binaries in the
../bin directory. If there are "local" binaries use them - and
otherwise rely on "installed" binaries found in the path.
2013-05-07 19:05:43 +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 1591871ba7 Added compatibility with cmd.exe (and reduced verbosity). 2013-05-05 22:33:25 +02:00
Oliver Schmidt 88648ce717 Avoid usage of cl65 for library build as it requires 'install'. 2013-05-04 23:38:05 +02:00
Oliver Schmidt 81e467cdc2 Replaced whole bunch for Makefiles with a single generic Makefile.
- No complex shell logic.
- "Source file shadowing" for all targets via vpath.
- Dependency handling.
- True incremental build.
- Don't write into source directories.
- Easy cleanup by just removing 'wrk'.
2013-05-04 22:15:30 +02:00
Oliver Schmidt 008b4c4e1d Replaced whole bunch for Makefiles with a single generic Makefile.
- No complex shell logic.
- "Source file shadowing" for all targets via vpath.
- Dependency handling.
- True incremental build.
- Don't write into source directories.
- Easy cleanup by just removing 'wrk'.
2013-05-04 22:10:48 +02:00
Oliver Schmidt e1f9b188a0 Merge pull request #3 from greg-king5/ctype
Fixed two <ctype.h> functions.
2013-05-02 01:36:13 -07:00
Greg King b225adaf03 Fixed isgraph() and ispunct() (macroes and library functions). 2013-05-01 16:23:47 -04:00
Oliver Schmidt b1c38729d0 Exclude apple2enh-only functionality from apple2 biuld on source code level. 2013-05-01 22:02:47 +02:00
Oliver Schmidt 6891862bbe Adjusted include directive for local header. 2013-05-01 21:53:30 +02:00
Oliver Schmidt 42494c6323 Removed obsolete files. 2013-05-01 14:01:42 +02:00
Oliver Schmidt 4da29d157a Marked files to be excluded from build. 2013-05-01 14:00:01 +02:00
Oliver Schmidt 414a59ce65 Fixed typos. 2013-04-02 17:29:13 +03:00
Oliver Schmidt 2250698f81 Fixed typos. 2013-04-02 17:24:21 +03:00