Lauri Kasanen
8951e74ba7
ld65: Be more verbose in token errors
2016-05-27 20:03:58 +03:00
Greg King
8d5717b57a
Small optimization of some cc65-generated loops.
...
"bne" means also branch-on-not-zero. Therefore, this optimization doesn't put a compare-to-zero between an increment and a "bne".
2016-05-24 15:52:12 -04:00
Greg King
2c7ccca210
Added the optional C keyword "volatile" to the __asm__ statement grammar.
...
It prevents the statement's Assembly code from being optimized (e.g., moved or removed). Optimization is disabled for that statement's entire function (other functions aren't affected).
2016-04-22 11:33:52 -04:00
Oliver Schmidt
62c2177599
Merge pull request #283 from polluks/sp65
...
Fixed CPU definition of Lynx.
2016-04-14 11:28:25 +02:00
Polluks
b14021e9ac
Fixed CPU definition of Lynx. Removed nonsense target vc20.
2016-04-12 23:58:30 +02:00
Oliver Schmidt
e809d6bf0d
Merge pull request #281 from polluks/sp65
...
sp65: A forgotten option. Empty arguments are not silent anymore.
2016-04-10 21:13:02 +02:00
KORISNIK
7f06405bdb
A forgotten option. Empty arguments are not silent anymore.
2016-04-10 02:21:36 +02:00
Greg King
fac246c799
Moved a warning message, about misaligned segments, to a configuration function.
...
It used to be shown only if the segment was written into a binary file. Now, it's shown for all badly-aligned segments.
2016-03-29 05:40:12 -04:00
Oliver Schmidt
8b685763d4
Renamed chrcvt to chrcvt65 and added it to the build.
...
The /Makefile presumes that all binaries are are named *65 so chrcvt had to be renamed in order to be added to the build.
2016-03-27 19:09:00 +02:00
Oliver Schmidt
ab1600b346
Merge pull request #269 from jbrandwood/squarebracket
...
New ".feature" to use brackets instead of parens for 6502 indirect addressing.
2016-03-03 09:07:21 +01:00
mrdudz
0dc85268c4
fix merge fxxxup
2016-02-28 19:11:04 +01:00
Oliver Schmidt
54e09fdd03
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.
this resembles commit 8e6b8dd0af
from oliver
2016-02-28 19:05:40 +01:00
Bob Andrews
25f4482641
Merge pull request #238 from mrdudz/gamate
...
Bit Corporation 'Gamate' support
2016-02-27 18:44:26 +01:00
John Brandwood
d23db09f7f
Add optional feature to use brackets instead of parens for 6502 indirect addressing.
2016-02-25 12:40:31 -08:00
Greg King
7a39b85e30
Fixed how ca65's CONDES-type pseudo-instructions save line numbers (for error messages).
2016-01-15 17:18:09 -05:00
polluks
cb3700ef66
Changed stdout to stderr to separate sim65's output streams. Suggested doc edit.
2016-01-05 17:45:18 +01:00
Greg King
7e14dde07b
Fixed the cc65 code that handled an addition of a pointer to a 32-bit offset.
...
It didn't demote the offset to int because it looked at the pointer (instead of the offset) which already was 16 bits.
2015-12-31 17:41:48 -05:00
Greg King
3b303396bf
Made cc65 accept comparisons between pointers with different qualifiers (similarly to subtractions between pointers).
2015-12-29 04:18:17 -05:00
Oliver Schmidt
02e4b5bfe3
Merge pull request #249 from polluks/master
...
My first PR
2015-12-27 13:40:20 +01:00
polluks
11786b198e
Amiga support #192
2015-12-27 01:26:28 +01:00
Greg King
bdbf75372c
Added another op-code to the test pattern for a right-shift optimizer in cc65.
2015-12-14 11:50:43 -05:00
Greg King
651b1b40ec
Extended a signed char shift optimization, to handle shifts that are longer than 4 bits.
2015-12-13 17:10:31 -05:00
Greg King
4716083f3f
Fixed a signed char shift optimization so that it won't be used on signed int also.
...
(It would lose significant bits from the high byte.)
2015-12-13 17:04:43 -05:00
mrdudz
8a499fdf4e
fixup conio.c some more. also includes merge of upstream/master because git is retarded.
2015-12-02 00:13:32 +01:00
mrdudz
9fbf8a4299
conio and most other stuff working now
2015-11-29 01:14:59 +01:00
f
4dc4ea60ee
Implemented escaping of spaces in ca65 dependency files. Largely based on input.c from cc65 (WriteEscaped was copied verbatim).
2015-11-26 19:00:47 +02:00
mrdudz
88e7b5776a
some more fiddling
2015-11-22 19:02:47 +01:00
Greg King
3c8c62c6ab
Fixed the ca65 Assembly-code variable ".paramcount".
...
Fixed how it's described in the ca65 document.
2015-11-17 14:21:40 -05:00
mrdudz
60285097e3
initial import of the gamate stuff
2015-11-14 13:15:29 +01:00
Oliver Schmidt
202ad62419
Merge pull request #224 from greg-king5/ld65-segstart
...
Change the way that ld65 handles bad offset/start segment-attributes.
2015-10-24 17:12:49 +02:00
Marcus Rowe
25e0b157be
Fixed code style
2015-10-24 01:07:47 +10:00
Greg King
8e9bf4d419
Changed the way that ld65 handles bad offset/start segment attributes, and reports memory area overflows.
...
1. Offset/start attributes within a memory area are ignored after an overflow.
2. If a previous segment ends past an offset/start address, then that address is not used.
3. Short map files were generated for memory overflows; now, they are generated for bad offset/start addresses, too.
2015-10-22 19:24:08 -04:00
Marcus Rowe
67cd0c2197
Added .asize and .isize pseudo variables
...
These pseudo variables will return the size of the accumulator/index
in bits.
For the 65816 instruction set .ASIZE/.ISIZE will return either 8 or 16,
depending on the current size of the operand in immediate addressing
mode.
For all other CPU instruction sets, .ASIZE/.ISIZE will always return 8.
For example:
; Reverse Subtract with Accumulator
; A = memory - A
.macro rsb param
.if .asize = 8
eor #$ff
.else
eor #$ffff
.endif
sec
adc param
.endmacro
2015-10-20 09:30:25 +10:00
Greg King
ed2b8a1609
Fixed a warning message.
2015-09-25 02:31:17 -04:00
Oliver Schmidt
b2657ecef5
Merge pull request #177 from mrdudz/pcenginetarget
...
new target: PC Engine (TurboGrafx16)
2015-09-24 09:58:28 +02:00
Greg King
a555f121fd
Fixed the " til " typos.
2015-09-06 12:25:00 -04:00
mrdudz
d0a1dc73b8
Merge remote-tracking branch 'upstream/master' into pcenginetarget
2015-09-04 13:40:52 +02:00
Oliver Schmidt
8d5f6b89ae
Merge pull request #203 from greg-king5/multi-comments
...
Change multi-line C comments in files that were missed by a previous pull request.
2015-08-31 17:36:02 +02:00
Greg King
58e56ba24d
Changed multi-line C comments in files that I missed in commit 0390c34e88
.
2015-08-30 08:43:54 -04:00
Greg King
d280d2610e
Don't count the NULL (doh!).
2015-08-30 07:55:35 -04:00
Greg King
a132bc4b28
Fixed a comparison operator; so that the NULL at the end of argv[] is copied by InitCmdLine().
...
Most POSIX function libraries hid that long-time bug by putting zeroes in their dynamic RAM; but, MinGW's library doesn't do it. Therefore, a command like
cl65 foo.c -l
would crash with a "Segmentation fault" -- it should give a nice error message about "-l"; and, quit neatly.
2015-08-30 05:16:38 -04:00
Greg King
6032849e60
Added warning diagnostics for conflicts between extern/public and static declarations.
2015-08-10 13:39:17 -04:00
Greg King
4e9842ef33
Stopped extern declarations from changing previous static, but otherwise identical, declarations.
2015-08-09 06:27:05 -04:00
Greg King
d36f31dcff
Improved the format of the global symbols' lists of flags, in cc65's debugging output.
2015-08-08 22:04:38 -04:00
JT
cacc5e2ace
Style again
2015-07-20 19:16:48 -04:00
JT
10579d0421
Fix style
2015-07-20 19:12:30 -04:00
JT
c3d083fe33
Fix bug #182
2015-07-20 18:55:25 -04:00
mrdudz
0e29a0993f
Merge remote-tracking branch 'upstream/master' into pcenginetarget
2015-07-20 18:42:04 +02:00
JT
b79687da2b
Fix base 10 bug (ca65 allows 'a' or 'A' in base10 value)
2015-07-19 18:56:42 -04:00
mrdudz
21d7729ad1
Merge remote-tracking branch 'upstream/master' into pcenginetarget
2015-07-16 16:46:24 +02:00
Oliver Schmidt
d3eebc8fcf
Merge branch 'pointer' of https://github.com/mrdudz/cc65 into mrdudz-pointer
2015-07-15 12:24:09 +02:00
Oliver Schmidt
a79b17515e
Merge pull request #158 from Movax12/definedmacro
...
Added .DEFINEDMACRO psuedo function
2015-07-12 13:32:03 +02:00
JT
55adf03bdf
Move FuncIsMnemonic
2015-07-11 19:09:42 -04:00
mrdudz
877fd532c2
Merge remote-tracking branch 'upstream/master' into pcenginetarget
2015-07-11 13:05:26 +02:00
mrdudz
6ab197f364
patch from Uz that makes some illegal operations on pointers error out
2015-07-10 14:27:49 +02:00
Greg King
8189339e7d
Added special-case compiler code that handles a pointer-to-array dereference.
...
The type needs to change (to array); but, the address shouldn't be changed -- it already points to the first element.
Based on a bug analysis by Daniel Serpell.
2015-07-01 06:55:57 -04:00
JT
e7fca18798
Added .DEFINEDMACRO psuedo function
...
Fixed typo/fomatting
Formatting fix
Refactor the code to test for a macro
Remove .FEATURE requirement for .DEFINEDMACRO
2015-06-27 01:39:11 -04:00
Oliver Schmidt
d0e0b98b43
Revert "Equality problem (Ullrich von Bassewitz)".
...
Uz classifies his own fix as broken:
http://www.cc65.org/mailarchive/2015-01/11721.html
Although the original issue fixed seemed rather significant looking
back now the regression caused by the (broken) fix seems even more
significant :-(
(reverted from commit 55815ea10c
)
======================================================================
Equality problem (Ullrich von Bassewitz)
Neil Stockbridge reported a problem with equality comparisons on
cc65.org's mailing list:
http://www.cc65.org/mailarchive/2014-10/11680.html
Uz provided a fix for it:
http://www.cc65.org/mailarchive/2014-10/11683.html
This pull request ask to add the fix to cc65 on github.
2015-06-27 01:09:20 +02:00
Oliver Schmidt
8bdbc00ba3
Bumped version.
...
As suggested the incompatibility resulting form changing the default calling convention makes a new version appropriate - from user perspective.
2015-06-25 09:23:27 +02:00
Oliver Schmidt
a13284a792
Merge pull request #160 from Movax12/definedinstr
...
.DEFINEDINSTR
2015-06-04 22:05:00 +02:00
Oliver Schmidt
fe023a1218
Merge pull request #151 from greg-king5/fastcall
...
Make __fastcall__ be the default calling convention.
2015-05-26 22:39:33 +02:00
Greg King
bbb6f89731
Made cc65 properly test calling conventions when it compares forward declarations to function definitions.
2015-05-24 18:31:50 -04:00
Greg King
e72132c8ae
Made cc65 properly test variadic-function pointer assignments.
...
Improved some error messages.
2015-05-24 08:32:15 -04:00
JT
63325a90d1
Added needed changes to pseudo.c
2015-05-19 20:45:49 -04:00
JT
1e3234f370
changed name of function to .ISMNEMONIC, small fixes
2015-05-19 19:50:51 -04:00
JT
9ee5adc190
Remove .FEATURE requirement and add documentation
2015-05-19 00:06:12 -04:00
Christian Groessler
41d19074e7
Fix verbose symbol dumping in ca65.
2015-05-16 05:20:15 +02:00
JT
5ed3a1a6dc
Added pseudo function .DEFINEDINSTR
2015-05-12 19:28:57 -04:00
Greg King
0bb3bafb3e
Made cc65 catch an assignment of a function pointer to a pointer with a different calling convention.
2015-05-12 04:15:00 -04:00
Greg King
8743e9911d
Added a command-line option to compile a program, with __cdecl__ as the default calling convention.
2015-04-22 09:59:23 -04:00
JT
ffa52863b3
Small changes to coding style and to ca65 documentation for .ADDRSIZE
2015-04-21 16:09:01 -04:00
JT
dfddf8f9d2
Improved on funciton .ADDRSIZE. Conform to coding style.
2015-04-20 17:20:54 -04:00
JT
c6f45a338c
Added function .ADDRSIZE to ca65
2015-04-19 23:21:56 -04:00
Greg King
2842b68a04
Reverted one of the changes in how function prototypes look, in cc65's assembly output.
2015-03-19 06:27:25 -04:00
Greg King
b452bdc5e4
Catch fastcall pointers to variadic functions.
2015-03-13 12:18:43 -04:00
Greg King
a798b1d648
Made __fastcall__ be the default calling convention for non-variadic functions.
2015-03-10 05:53:52 -04:00
Greg King
6230b6a813
Completed the cc65 code that recognizes __CDECL__ as a calling convention qualifier.
2015-03-09 19:39:04 -04:00
Greg King
ba871635de
Added a font translation table because Ohio Scientific machines have three misplaced characters.
2015-03-05 12:45:50 -05:00
Stephan Mühlstrasser
de3df033d3
Remove tabs, fixed accidental insertion of stdio.h.
2015-02-08 17:21:23 +01:00
Stephan Mühlstrasser
4e03d7448c
Merge branch 'master' of https://github.com/cc65/cc65 into c1p
2015-02-08 15:58:42 +01:00
Stephan Mühlstrasser
01b0e10fc3
Remove tab character.
2015-02-03 22:56:04 +01:00
Stephan Mühlstrasser
14c7e9fd16
Rename c1p target to osic1p
2015-02-03 22:42:35 +01:00
Wayne LaBelle
d3b2b3df6b
Move SBC to correct location in 6280 instruction table
2015-01-11 16:10:34 -05:00
Stephan Mühlstrasser
50164a9d68
Removed c1p65 object file converter.
...
Now using srec_cat from the srecord package.
2015-01-05 20:55:45 +01:00
Oliver Schmidt
83549e2321
Merge pull request #142 from greg-king5/disassemble-segment
...
da65's segments feature
2014-12-03 14:07:12 +01:00
Stephan Mühlstrasser
91e21ae024
Merge branch 'master' of https://github.com/cc65/cc65 into c1p
2014-12-02 20:42:54 +01:00
Greg King
1446d99b14
Clarified a segment error message.
2014-11-30 00:51:09 -05:00
Greg King
155f00f25e
Fixed the detection of where to start and stop segments.
2014-11-30 00:40:45 -05:00
Stephan Mühlstrasser
67707f342d
Set default start address to 0x200
2014-11-29 20:56:49 +01:00
mrdudz
4275b82117
added compiler/assembler target, lib compiles
2014-11-29 15:35:20 +01:00
Stephan Mühlstrasser
a66c93c55b
Use CR instead of LF, because this works better over the serial port of a real C1P.
2014-11-26 19:01:15 +01:00
Greg King
0ee891c106
Completed the coding of da65's SEGMENT feature.
...
Before this commit, we could define segment ranges; but, the disassembler wouldn't do anything with those definitions. Now, da65 will put ".segment" directives into its output.
Fixed da65's document.
2014-11-23 15:29:16 -05:00
Stephan Mühlstrasser
16bdb10bfe
Default is now automatic execution of program after loading
2014-11-23 20:05:38 +01:00
Stephan Mühlstrasser
dfbd2912cc
Fix help text for default start address
2014-11-23 19:44:45 +01:00
Stephan Mühlstrasser
1c028c794a
Clarify help for -o option
2014-11-23 19:43:24 +01:00
mrdudz
d5844bd63b
changed return code to -99
2014-11-20 14:49:35 +01:00
mrdudz
6273d1cdc0
actually make TAS work :)
2014-11-20 02:47:33 +01:00
mrdudz
c2704ec72a
uses TAS instead of SHS like da65 did
2014-11-20 01:31:39 +01:00
mrdudz
8cc71f135c
added support for LAX#imm, all done
2014-11-20 00:18:12 +01:00
mrdudz
044aee7f8d
added support for undocumented NOPs
2014-11-19 23:20:46 +01:00
mrdudz
cf82bfaf37
renamed KIL to the more common JAM, which is also accepted by ca65
2014-11-19 22:54:33 +01:00
mrdudz
2dfdf4dec7
added support for ane, sha, shs, shy, shx
2014-11-19 22:34:33 +01:00
mrdudz
202a2d677b
starting branch for adding the missing undocumented opcodes
2014-11-19 22:04:32 +01:00
mrdudz
156f405774
Merge remote-tracking branch 'upstream/master'
2014-11-19 15:44:14 +01:00
Stephan Mühlstrasser
6edf57324e
Set default start address to 0x300.
...
Make start address configurable via --start-addr.
2014-11-16 20:07:59 +01:00
Stephan Mühlstrasser
3b379c10e4
Added missing dependency from c1p65 to common
2014-11-15 20:37:45 +01:00
Stephan Mühlstrasser
1f85c48fb2
Added the c1p65 project.
2014-11-06 20:46:16 +01:00
Stephan Mühlstrasser
29801cd45f
Enter bytes in a loop in data mode
2014-11-02 23:22:41 +01:00
Stephan Mühlstrasser
57a422d064
Adapt c1p65 project to Visual Studio 2013
2014-11-02 19:39:39 +01:00
Stephan Mühlstrasser
0b186407f1
Merge https://github.com/cc65/cc65 into c1p
2014-11-02 16:17:16 +01:00
Oliver Schmidt
1673a40a77
Merge pull request #138 from spiro-trikaliotis/equality-error-uz
...
Equality problem (Ullrich von Bassewitz)
2014-10-14 15:15:23 +02:00
Spiro Trikaliotis
55815ea10c
Equality problem (Ullrich von Bassewitz)
...
Neil Stockbridge reported a problem with equality comparisons on
cc65.org's mailing list:
http://www.cc65.org/mailarchive/2014-10/11680.html
Uz provided a fix for it:
http://www.cc65.org/mailarchive/2014-10/11683.html
This pull request ask to add the fix to cc65 on github.
2014-10-14 13:41:17 +02:00
Spiro Trikaliotis
f4f879283d
Fix for: cc65 forgetting to emit labels (Alan Cox)
...
Alan Cox provided this on 2014-10-02 on the cc65.org mailing list:
http://www.cc65.org/mailarchive/2014-10/11673.html
[...]
It breaks in several spots with cc65 where cc65 forgets to emit the
labels for the goto statements - the code is there but with no label
and it them blows up linking
[...]
He also provided a fix:
http://www.cc65.org/mailarchive/2014-10/11675.html
which was approved by Uz:
http://www.cc65.org/mailarchive/2014-10/11679.html
This is the patch of Alan Cox, adjusted only to the new locations on
cc65/github.
2014-10-14 13:32:58 +02:00
mrdudz
baaf815d8e
fix cast to char, patch by Piotr Fusik
2014-09-25 23:19:14 +02:00
mrdudz
adc5525e85
added commandline option to quit after X cycles
2014-09-25 18:47:23 +02:00
Piotr Fusik
8c1f12f06b
Fix casting an r-value to char.
...
For example:
int f(int i, int j) { return (char) (i + 1) == j; }
f(0x1234, 0x35) returned 0.
This bug caused zlib/uncompress return Z_DATA_ERROR on correct input.
2014-09-22 23:47:20 +02:00
Greg King
0390c34e88
Changed multi-line C comments into another style.
...
The left side doesn't look unbalanced.
2014-06-30 16:51:07 -04:00
Oliver Schmidt
99f0a56f63
Merge pull request #122 from groessler/a5200
...
new target: Atari 5200 console
2014-05-30 22:52:51 +02:00
Christian Groessler
f7bc6a836d
Set the "simple" bit in the .o65 mode word only if text, data, and bss
...
are adjacent.
2014-05-21 23:49:56 +02:00
Greg King
c09c66c372
Fixed a ca65 internal error that would show a message when a name is exported both outside and inside a scope.
...
Jeremy Turner described the bug, on the original cc65 mailing list. It was fixed by Ullrich von Bassewitz.
2014-05-12 02:08:04 -04:00
Christian Groessler
ec417c0dc5
Merge remote-tracking branch 'upstream/master' into a5200
2014-04-25 02:07:44 +02:00
Christian Groessler
1a348ab73f
Fix error which slipped in in '-L' command line parameter handling.
2014-03-28 22:40:53 +01:00
Oliver Schmidt
435fd06bc6
Merge pull request #99 from groessler/something_to_pull
...
Make ld65 command line arguments position independent.
2014-03-28 17:37:02 +02:00
Christian Groessler
5114a3b861
Make ld65 -L command line option position independent again.
...
Handle long versions of command line arguments correctly.
2014-03-27 23:50:25 +01:00
Oliver Schmidt
276a836d7d
Fixed typo.
2014-03-27 22:07:08 +01:00
Oliver Schmidt
c9438ae1a7
Finetuned Git commit hash retrieval.
...
- Force usage of shell wrapper in order to allow to suppress potential message about git not found (thanks to Greg King).
- Do $(info GIT_SHA ...) only if there's something special - as done with the other $(info ...).
2014-03-27 21:40:28 +01:00
Christian Groessler
18c2289784
Make ld65 -L command line option position dependent again.
2014-03-25 15:36:38 +01:00
Christian Groessler
2a9cdf9152
Make ld65 command line arguments position independent.
2014-03-24 13:58:34 +01:00
Oliver Schmidt
efe72c86fa
Merge pull request #94 from groessler/something_to_pull
...
Extend the map file to include a table of exports sorted by value.
2014-03-20 11:12:55 +01:00
Christian Groessler
bdc60b21d4
add a missing ":"
2014-03-20 02:22:43 +01:00
Christian Groessler
d72e62cae2
Extend the map file to include a table of exports sorted by value.
2014-03-20 02:01:52 +01:00
Christian Groessler
f266612697
Merge remote-tracking branch 'upstream/master' into a5200
2014-03-20 00:24:11 +01:00
Silver Dream !
db42af3f20
- fixed an old #include guard typo
2014-03-20 00:07:59 +01:00
Oliver Schmidt
22c63e743a
Replaced date with Git hash.
2014-03-18 22:41:32 +01:00
Oliver Schmidt
1d6000213c
Removed references to $TRAVIS from Makefiles.
...
After all it seems much cleaner to explicitly control the behaviour from the .travis.yml file than to behave differently "under the hood" when detecting a Travis CI build.
2014-03-16 21:32:18 +01:00
Oliver Schmidt
f12fbc4a3b
Dropped VER_PATCH (and VER_RC) and added build date.
2014-03-09 17:40:51 +01:00
Oliver Schmidt
a178c44acb
Moved USER_CFLAGS back to re-allow warning option overriding.
2014-03-09 15:17:51 +01:00
Oliver Schmidt
8236b0dd74
Upload zip file.
2014-03-09 01:20:39 +01:00
Oliver Schmidt
80ca7eb4e4
Create zip file.
2014-03-09 00:20:17 +01:00
Oliver Schmidt
1c73fa0a00
Moved .PHONY below definitions it refers to.
...
I must admit that I don't understand why but obviously it is necessary to place .PHONY below the definition of variables it refers to - although those variables are recursively expanded ones! Not doing so made libsrc/Makefile build only three target libraries.
2014-03-06 23:42:44 +01:00
Oliver Schmidt
30125afcc1
Moved from VS2013 to MinGW(-w64).
2014-03-06 22:32:24 +01:00
Oliver Schmidt
9e409a67d2
Removed by now obsolete pragmas.
...
The warnings in question are instead suppressed by command line options.
2014-03-05 22:43:01 +01:00
Oliver Schmidt
ee9c42bbf5
Support both MinGW and MinGW-w64.
2014-03-05 22:28:38 +01:00
Oliver Schmidt
4f317d70c8
Removed -std=c89.
...
Using `struct stat` and `%m` surely doesn't qualify for ISO C90.
2014-03-05 13:03:33 +01:00
Oliver Schmidt
44ccb27549
Changed Makefile.inc handling.
...
It seems more appropriate to trigger the inclusion of Makefile.inc via $TARGET (instead of $SRCDIR). This is btw. more consistent with extzp.s inclusion which is triggered via $TARGET too.
2014-03-04 21:46:25 +01:00
Oliver Schmidt
66f1a80f4e
Moved workaround for MinGW's missing %m support to a central place.
2014-03-04 01:20:38 +01:00
Oliver Schmidt
4185caf855
Normalized code.
2014-03-04 01:11:19 +01:00
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
Christian Groessler
c8f7f2f161
first changes for atari5200 target
2014-03-01 17:20:09 +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 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