Patrick Pelletier
e549e23a87
Use non-POSIX values for S_IREAD and S_IWRITE.
...
(As requested in the PR.)
2018-08-17 23:28:45 +02:00
Patrick Pelletier
f72d355b18
sim65: Use mode_t for OMode.
2018-08-17 23:28:45 +02:00
Patrick Pelletier
b30f790587
sim65: Blindly guessing to get Travis build to pass.
2018-08-17 23:28:45 +02:00
Patrick Pelletier
a7d158e077
sim65: Build was failing on Windows, too.
...
Microsoft loves putting underscores in front of everything!
2018-08-17 23:28:45 +02:00
Patrick Pelletier
12fbdbf418
sim65: S_IREAD and S_IWRITE are nonstandard.
...
The Linux build was failing with:
sim65/paravirt.c: In function ‘PVOpen’:
sim65/paravirt.c:217:18: error: ‘S_IREAD’ undeclared (first use in this function)
OMode |= S_IREAD;
^
sim65/paravirt.c:217:18: note: each undeclared identifier is reported only once for each function it appears in
sim65/paravirt.c:220:18: error: ‘S_IWRITE’ undeclared (first use in this function)
OMode |= S_IWRITE;
^
make[1]: *** [../wrk/sim65/paravirt.o] Error 1
2018-08-17 23:28:45 +02:00
Patrick Pelletier
974188796c
sim65: If mode argument is omitted, use a reasonable default.
2018-08-17 23:28:45 +02:00
Patrick Pelletier
aba320eade
Allow "mode" argument to open() to be passed from 6502 code.
...
Implements this suggestion:
https://github.com/cc65/cc65/pull/719#issuecomment-413809096
2018-08-17 23:28:45 +02:00
Patrick Pelletier
d602572bbe
Fix permissions for files created by sim65.
...
Files created by my programs running under sim65 had really weird permissions:
--w-r--r-x 1 ppelleti staff 19 Aug 16 23:22 json.test.print.tmp
So, for example, my program running under sim65 was not able to read
the file it had just written.
This is because the third argument to open (mode) was not being
specified in paravirt.c, so it was just picking up random crud off the
stack to use as the mode.
I added a mode of 0666, and now my program runs correctly.
2018-08-17 23:28:45 +02:00
Greg King
d13d068e71
Fixed the generation of the opcode byte when BRK is given an operand, in 65816 CPU mode.
...
The bug was created by commit 7e8bb7b700
.
2018-08-16 23:51:04 -04:00
Patrick Pelletier
5cdaa96e4c
sim65: Fix "$2C: BIT abs" to access the correct address.
...
Bug is documented here:
http://forum.6502.org/viewtopic.php?f=2&t=5242
2018-08-10 12:58:48 -07:00
Greg King
ad6c2dbe7b
Added code to make the 65816's MVN and MVP instructions handle both immediate (bank) and far-address operands.
2018-07-29 03:50:02 -04:00
Greg King
eeb1b927ce
Fixed the order in which the 65816's block-move instructions' operands are written and assembled.
...
The source bank number is written first; but, assembled second.
The destination bank is written second; but, assembled first.
2018-07-05 10:58:59 -04:00
AIDA Shinra
31fdec2e2e
Style fix
2018-06-25 23:50:46 +09:00
AIDA Shinra
fd67284b4d
Followed the discussions in the Pull request #682 .
...
* Fixed a misspelling
* Fixed styles
* Added sample codes
2018-06-14 02:02:16 +09:00
AIDA Shinra
2b25329423
Support for preprocessing info file via cpp or m4.
2018-06-14 02:02:16 +09:00
AIDA Shinra
75c4972021
Style and alignment fixes.
2018-06-13 21:24:34 +09:00
AIDA Shinra
03bb2f6a48
Followed discussions in the Pull reequest #681 .
...
In particular, renamed "virtual operands" to "inline parameters".
2018-06-12 00:18:11 +09:00
AIDA Shinra
9283e9ca98
Support for "virtual operands" of subroutines like this:
...
jsr SomeProc
.byte $00, $01 ; argument to SomeProc
; return here from SomeProc
bit $3F
2018-06-10 18:09:11 +09:00
Oliver Schmidt
b74ab9de89
Allow spaces in path names.
...
The Microsoft C Library needs to have spawnvp() parameters with spaces quoted manually. We do this only if actually necessary to limit issues with parameters already containing double quotes.
2018-06-08 19:16:18 +02:00
Oliver Schmidt
d861be8ad5
Escape spaces in target path.
...
cc65 escapes spaces in paths it writes to dependency files (see WriteEscaped() in cc65/input.c). Given that the output of OptPrintTargetPath() is supposed to be used in Makefiles in pretty much the same way it is appropriate to escape spaces here too.
2018-06-07 17:10:33 +02:00
Oliver Schmidt
aea34c5410
Merge pull request #673 from bengdahl/master
...
Fix `make` failing in parent directories containing spaces
2018-06-07 17:01:42 +02:00
Oliver Schmidt
e99a5ff1fe
Fixed usage indentation.
2018-06-06 18:59:25 +02:00
existensialMemory
4fd17161eb
Update Makefile
2018-06-04 22:17:25 -04:00
Ben
1f245fbc0b
Fix make
failing in parent directories containing spaces
2018-06-04 21:27:04 -04:00
Greg King
362b6afacf
Made a C union declaration know the sizes of anonymous struct/union members when it determines its size.
...
The bug was located, and the fix was written, by Francesco.
2018-05-13 18:54:45 -04:00
Michael Kohn
5ecd902fbf
The opcode for BS should be 0x0C.
2018-05-13 06:31:05 -05:00
greg-king5
ca31e3af1e
Fixed a bug that didn't preserve the accumulator's value when a simple 16-bit fetch-and-store is optimized. ( #637 )
...
Fix a 16-bit fetch-and-store cc65 optimizer bug.
2018-05-12 13:46:16 -04:00
Oliver Schmidt
8b3e12d632
Added missing ror absolute override.
...
Fixes https://github.com/cc65/cc65/issues/489 as suggested by EtchedPixels.
2018-03-12 12:14:25 +01:00
Oliver Schmidt
8e75906737
Switched Apple II output format to AppleSingle.
...
Although the primary target OS for the Apple II for sure isn't DOS 3.3 but ProDOS 8 the Apple II binary files contained a DOS 3.3 4-byte header. Recently I was made aware of the AppleSingle file format. That format is a much better way to transport Apple II meta data from the cc65 toolchain to the ProDOS 8 file system. Therefore I asked AppleCommander to support the AppleSingle file format. Now that there's an AppleCommander BETA with AppleSingle support it's the right time for this change.
I bumped version to 2.17 because of this from the perspective of Apple II users of course incompatible change.
2018-03-07 23:05:21 +01:00
Oliver Schmidt
bc58bf572c
Fixed -W cmdline option handling.
...
Reverted part of 3157e4be1e
as it actually introduced a regression.
It doesn't make sense to check for Arg[3] == '\0' _before_ checking Arg[2] != '\0'. This made the Win32 builds fail to correctly parse e.g. cl65 -W unused-var test.c
2018-03-05 22:31:10 +01:00
Oliver Schmidt
19f3229f45
Made 'wrapped call' code build with VS 2015.
2018-03-05 20:44:32 +01:00
Oliver Schmidt
c3610aa971
Updated from Visual Studio 2013 to Visual Studio 2015.
2018-03-05 20:42:37 +01:00
prandeamus
1a95be9c3a
65C02 JMP (ind,x) opcode 7C
2018-01-14 19:42:29 +00:00
prandeamus
009f56afb6
65C02 version too.
2018-01-13 22:42:39 +00:00
prandeamus
c23f264fe4
Call ParaVirtHooks on JMP (indirect)
2018-01-13 18:30:53 +00:00
Oliver Schmidt
9229bb1f3e
Merge pull request #571 from greg-king5/win64
...
Change the type of a cc65 variable that holds both integers and pointers.
2018-01-10 12:48:28 +00:00
Greg King
c67e90dd19
Changed the type of a compiler variable that holds either integers or pointers.
...
The change allows cc65 to be compiled on 64-bit Windows, without getting warnings. That OS is actually 32 bits with 64-bit pointers. Its pointers are "long long" instead of "long". The change uses type-names that are configured for the actual pointer width.
2018-01-09 05:34:16 -05:00
prandeamus
e7aabce8e9
Complain if unsupported flags are provided after -O
2018-01-07 18:57:48 +00:00
bauen1
60c68b1111
cl65 now links against none.lib when using --target none
2018-01-04 17:11:44 +01:00
greg-king5
c8dd88efad
Added missing "break;" statements to a "switch" statement.
2017-12-18 17:09:06 -05:00
Oliver Schmidt
e485e96de0
Suppress potential svnversion error output.
2017-11-30 19:17:45 +01:00
Stefan
7e4db1fdd6
Option removed
2017-11-22 18:17:43 +01:00
Stefan
44b13c1ca0
Subversion fallback
...
If you use don't use Git to access the repository, you will still get a revision number.
2017-11-22 01:02:02 +01:00
Greg King
de1f80571a
Fixed the way that the disassembler looks for the end of a segment.
...
It checks only the bytes that actually were printed. It won't show a bad error message when disassembling address $0000. Fixes #506 on cc65's Github project.
2017-10-31 00:47:07 -04:00
Oliver Schmidt
c8d6ca908d
Minor style fix.
2017-10-23 18:22:51 +02:00
Lauri Kasanen
ca4ed290d5
cl65: Add support for --all-cdecl
2017-10-03 18:46:39 +03:00
Oliver Schmidt
5d333239c6
Merge pull request #468 from pmjdebruijn/samples
...
make changes
2017-07-23 02:09:20 +02:00
Pascal de Bruijn
19f6ae1d54
make: change uppercase prefix var
2017-07-22 16:38:50 +02:00
Pascal de Bruijn
6e93c1ba73
pragma: add minimalist message pragma implementation
...
for example:
#pragma message ("in a bottle")
results in:
hello.c(207): Note: in a bottle
2017-07-19 17:58:13 +02:00
Pascal de Bruijn
ea7f4d7489
pragma: bring pragma_t enum in line with Pragmas struct
...
fixes an inconsequential inconsistency, might prevent some
confusion in the future.
2017-07-17 19:43:11 +02:00
Piotr Fusik
c0812670c1
Fix coding style.
2017-06-30 07:35:21 +02:00
Piotr Fusik
b31ae57be1
Make some arrays const.
2017-06-28 20:43:31 +02:00
Greg King
d3ccc289c1
Stopped cc65 from putting redundant .segment directives into its Assembly output.
2017-06-16 21:53:50 -04:00
Oliver Schmidt
682fd226ae
Merge pull request #442 from polluks/patch-6
...
Use verbosity
2017-06-03 22:06:27 +02:00
Stefan
80feb80168
Update main.c
2017-05-28 16:17:34 +02:00
Stefan
49e22f566f
Update main.c
2017-05-28 15:29:49 +02:00
Stefan
ea9430e28e
Update list.c
2017-05-28 15:22:33 +02:00
Stefan
c9c2562c14
Update list.c
2017-05-28 15:13:43 +02:00
Stefan
843c5442b1
Update list.c
2017-05-28 13:13:53 +02:00
Stefan
9bdcb0a31b
More POSIX.2, staying compatible
2017-05-28 00:35:38 +02:00
Stefan
ff33939385
Use verbosity
2017-05-28 00:29:53 +02:00
Oliver Schmidt
1bbe7043e1
Merge pull request #426 from MonteCarlos/master
...
added -E switch to cl65 for >>stop after the preprocessing stage<<.
2017-05-24 09:44:24 +02:00
mc78
f87a575d4d
added missing spaces before braces. added unknown option msg if not given -Wc|l|a when passing options to subprocess
2017-05-23 22:57:27 +02:00
mc78
21b1add984
added four escaped tabs to -E Stop after .... description
2017-05-22 23:21:55 +02:00
mc78
3157e4be1e
added empty lines and spaces according to olivers comments. Made local functions static.
2017-05-22 23:07:31 +02:00
Oliver Schmidt
1c54213091
Merge pull request #433 from clbr/trampoline-fixes
...
Trampoline fixes
2017-05-20 12:29:10 +02:00
Lauri Kasanen
e8a735492d
Correct comment style
2017-05-19 15:38:50 +03:00
Lauri Kasanen
901ac80026
Wrapper functions use all registers
2017-05-19 15:25:50 +03:00
Oliver Schmidt
16a2beaaca
Adjusted VS project files to commit 11b01b908d
2017-05-18 22:40:18 +02:00
Oliver Schmidt
11b01b908d
Merge pull request #424 from clbr/trampoline
...
Trampoline support
2017-05-18 16:29:34 +02:00
Lauri Kasanen
219b239a34
Adjustments in response to latest comments
2017-05-18 17:14:26 +03:00
Lauri Kasanen
4c05c46cd1
Remove RAM-trampoline array support
2017-05-18 16:11:39 +03:00
Lauri Kasanen
f6fa74a636
Rename trampoline to wrappedcall everywhere
2017-05-18 16:00:04 +03:00
Lauri Kasanen
7feced8862
More tabs to spaces
2017-05-18 15:54:47 +03:00
Lauri Kasanen
a590b99f5b
Align with spaces instead of tabs here
2017-05-18 14:21:43 +03:00
Oliver Schmidt
390ee4e22f
Merge pull request #429 from pfusik/opt-stdfunc
...
Optimize the inlined strlen/memcpy/memset
2017-05-17 22:58:54 +02:00
Oliver Schmidt
f151142e6a
Keep GCC from complaining about 'List' may be used uninitialized in this function.
2017-05-17 19:39:02 +02:00
Oliver Schmidt
298dda0e71
Increased GCC optimization level.
2017-05-17 18:30:35 +02:00
Piotr Fusik
675dd3c963
Optimize the inlined memcpy/memset for the sizes of 128/129.
2017-05-17 10:08:08 +02:00
Piotr Fusik
6011bdb2f6
Optimize the inlined strlen.
2017-05-17 10:00:35 +02:00
Lauri Kasanen
ca41af41c2
Rename pragma trampoline to wrapped-call, value to identifier
2017-05-16 20:10:24 +03:00
mc78
d70a9507a7
replaced tabs with spaces which accidently were introduced.
2017-05-16 13:31:10 +02:00
mc78
691df09a1f
According to recent comments on my recent pull request, -Wc checking for -E flag has been removed again. Intead, -E flag has been added to cl65 without need of -Wc. Two functions have been introduced to disable compile, link or both. These function remove assigment repetions to DoAssemble and DoLink for litte overhead, having the maintainability in mind.
2017-05-16 13:13:09 +02:00
mc78
4cbfb4e199
added -E switch to cl65 for >>stop after the preprocessing stage<<.
...
added compilation and assemblation disable after -Wc -E also with -E beeing part of a comma separated list of arguments
2017-05-12 12:23:30 +02:00
Lauri Kasanen
a2f61c667a
Update comments and location checks according to Greg
2017-05-07 20:31:41 +03:00
Lauri Kasanen
ead0338c0d
Add fast path for char postdec
2017-05-06 13:35:39 +03:00
Lauri Kasanen
767f093ff8
Add fast path for char postinc
2017-05-06 13:35:39 +03:00
Lauri Kasanen
2890b3a810
Pragma trampoline
2017-05-02 20:51:53 +03:00
Lauri Kasanen
d091a57e91
Trampoline stack
2017-05-02 20:43:41 +03:00
Lauri Kasanen
679bfb0ae9
Add IntPtrStack
2017-05-01 21:08:04 +03:00
Oliver Schmidt
18b0aaf9f2
Removed help for non-existent option.
2017-04-15 23:12:19 +02:00
Greg King
1aab287189
Fixed the handling of "while (0) {}".
...
It's a corner case; but, conditional macroes might create it -- better safe than sorry.
2017-04-07 09:26:58 -04:00
Oliver Schmidt
be772c0198
Bumped version.
...
As suggested the incompatibility resulting from 02daf9f8b5
makes a new version appropriate.
2017-04-06 12:22:39 +02:00
Greg King
dce5783dc9
Fixed the simulations of the stack pointer and the "break" and decimal-mode flags.
...
* The pointer wraps around the stack page.
* The break flag exists on only the stack, and only after an interrupt.
* 65C02 interrupts clear the decimal-mode flag.
2017-04-04 13:23:44 -04:00
Oliver Schmidt
02daf9f8b5
So far the built-in inlining of several known standard function was always (!) enabled and the option -Os enabled additional, potentially unsafe inlining of some of those functions.
...
There were two aspects of this behavior that were considered undesirable:
- Although the safe inlining is in general desirable it should only be enabled if asked for it - like any other optimization.
- The option name -Os implies that it is a safe option, the potentially unsafe inlining should have a more explicit name.
So now:
- The option -Os enables the safe inlining.
- The new option --eagerly-inline-funcs enables the potentially unsafe inlining (including the safe inlining).
Additionally was added:
- The option --inline-stdfuncs that does like -Os enable the safe inlining but doesn't enable optimizations.
- The pragma inline-stdfuncs that works identical to --inline-stdfuncs.
- The pragma allow-eager-inline that enables the potentially unsafe inlining but doesn't include the safe inlining. That means that by itself it only marks code as safe for potentially unsafe inlining but doesn't actually enable any inlining.
2017-04-03 23:20:26 +02:00
Oliver Schmidt
cbb2833c01
Merge pull request #414 from IrgendwerA8/SED_Fix
...
Fixed sim65 SED
2017-03-30 12:26:37 +02:00
IrgendwerA8
170d96898f
Fixed SED
2017-03-30 12:17:29 +02:00
Oliver Schmidt
5dbacb538e
Merge pull request #411 from pfusik/bss-name-regression
...
Fix regression of #pragma bss-name
2017-03-22 13:44:48 +01:00
Piotr Fusik
8e35a82c91
Fix regression of #pragma bss-name
...
Closes #409
2017-03-21 22:35:25 +01:00
Oliver Schmidt
669113b595
Added missing line continuation.
...
Fixes https://github.com/cc65/cc65/issues/408
2017-03-21 20:45:51 +01:00
IrgendwerA8
cc82cd9992
Fixed addressing error for TSB/TSR and enabled tests again.
2017-03-20 21:53:07 +01:00
Oliver Schmidt
3a30669ff6
Merge pull request #405 from IrgendwerA8/65SC02_sim65_support
...
Added 65SC02 support for simulator.
2017-03-18 23:38:05 +01:00
IrgendwerA8
e14e13abf4
fixed curly brackets for single line scopes
2017-03-18 22:52:13 +01:00
IrgendwerA8
ad003e5991
style changes
2017-03-18 20:27:41 +01:00
IrgendwerA8
0985655ac7
Fixed bug in original sim65 implementation (reason for C&P error in last commit)
2017-03-18 17:02:22 +01:00
IrgendwerA8
c50e4d25e2
additional fix for scrambled code (sorry)
2017-03-18 16:56:36 +01:00
IrgendwerA8
4ba34f2a69
fixed scrambled semicolon
2017-03-18 16:54:00 +01:00
IrgendwerA8
360372420b
Added 65SC02 support for simulator.
2017-03-18 16:37:15 +01:00
Greg King
750a527100
Made C's sizeof operator work with initialized void variables.
...
Added regression tests that check cc65's handling of void variables.
2017-03-12 14:41:32 -04:00
Oliver Schmidt
a780df1fe1
Merge pull request #381 from pfusik/static-forward-decl
...
"static" forward declarations
2017-03-12 18:26:14 +01:00
Piotr Fusik
d2c89d2ba9
"static int n; int n;" is an error.
...
Fixes test/err/static-4.c regression.
2017-03-09 19:14:31 +01:00
Piotr Fusik
5988ec37cd
Revert "Disallow global variable declarations with an initializer."
...
This reverts commit 1f12a06f7c
.
2017-02-15 18:51:27 +01:00
Christian Groessler
a5fba551d1
Merge remote-tracking branch 'upstream/master' into something_to_pull2
2017-02-13 21:38:38 +01:00
Piotr Fusik
31f19fbc65
Issue an error for duplicate global variables.
...
Previously it was an assembler error.
2017-02-13 21:10:21 +01:00
Piotr Fusik
730d01a25f
Global uninitialized variable is only a tentative definition.
...
Closes #204
2017-02-13 21:04:45 +01:00
Piotr Fusik
1f12a06f7c
Disallow global variable declarations with an initializer.
...
E.g.
extern int i = 42;
2017-02-13 19:41:05 +01:00
Greg King
7e8bb7b700
Fixed ca65's BRK instruction encoding for the 65816.
...
BRK is two bytes on all 6502 variants; but, the 65816's maker declared officially that assemblers should support an optional operand.
2017-02-12 14:54:57 -05:00
Oliver Schmidt
5bbf010029
Merge pull request #371 from jedeoric/master
...
Create an Oric Telestrat target library
2017-02-10 23:47:13 +01:00
jede
9cde534b23
Rollback for *.vcxproj, telestrat.sgml modified for "don't" instead of "did not" for telemon2.4
2017-02-09 18:46:56 +01:00
Christian Groessler
a08f905224
Cleanups for Creativision.
2017-02-01 20:09:03 +01:00
Christian Groessler
07f840f11c
Merge remote-tracking branch 'upstream/master' into creativision
2017-02-01 18:15:05 +01:00
jede
b5fef66f37
Merge telemon24 and telemon30 into telestrat target.
...
Cleaning, and replace tab to spaces
Converting hex lowercase value into uppercase char.
Changing := and = when it was needed
2017-01-31 22:09:14 +01:00
jede
858e952505
Fix
2017-01-29 23:05:18 +01:00
jede
db3b6603e5
Fix
2017-01-29 23:03:01 +01:00
jede
bd82bf6a7f
Fix
2017-01-29 22:59:53 +01:00
jede
e21eca942b
new pull fix
2017-01-29 22:55:35 +01:00
jede
2697499b3c
Fixing old pull request
2017-01-29 22:53:50 +01:00
jede
0f8fb4d79d
Merge with current version
2017-01-29 22:39:51 +01:00
Florent Flament
c1aac0de0e
Add C support for Atari 2600 (VCS)
2017-01-13 21:12:22 +01:00
Chris Cacciatore
66b30f0c7a
Added 'any' to --list-opt-steps.
2016-12-15 09:06:15 -08:00
jede
252e4afb9c
Adding files for telemon30
2016-12-14 21:22:10 +01:00
Peter Ferrie
8a08413263
fix build break on da65
2016-12-03 20:54:14 -08:00
Alan Cox
e4aee2ba34
cc65: remove un-needed logic from octal parsing
...
We no longer need the extra error handling logic for octal parsing so simplify
it as requested by Greg King.
Signed-off-by: Alan Cox <etchedpixels@gmail.com>
2016-11-20 18:02:45 +00:00
Alan Cox
6ee1fd2a67
scanner: Correct handling of \0101
...
The C language has this oddity that octal constants are 3 bytes so the sequence
"\0101" is two bytes and well defined by the langage. cc65 currently misparses
this as a 1 byte octal code. Add a count to fix this.
Signed-off-by: Alan Cox <etchedpixels@gmail.com>
2016-11-19 13:02:19 +00:00
Sven Oliver Moll
2d76d0a657
da65: 4510 support
...
- cleaned up unnecessary static function
- adjusted table formatting
2016-09-23 13:10:38 +02:00
Sven Oliver Moll
d0ed84c2d0
da65: adding support for 4510 cpu of c65
2016-09-20 17:37:10 +02:00
Sven Oliver Moll
ae3f9bbd77
Added assembler pseudo commands .P4510 and .IFP4510 together with docs and testcase
2016-09-07 19:21:24 +02:00
Christian Groessler
3531bcbf3e
Fix some typos.
2016-09-06 15:13:44 +02:00
Greg King
4b2e3be2fc
Fixed some bugs in da65's HuC6280 section.
2016-09-02 14:24:29 -04:00
Oliver Schmidt
9c38521ea8
Merge pull request #343 from SvOlli/release
...
Add 4510 support for C65/C64DX
2016-08-31 22:05:49 +02:00
Sven Oliver Moll
48f64de720
4510 support: yet another round up little updates
2016-08-31 20:18:54 +02:00
Sven Oliver Moll
4384603eeb
4510 support: added some other small improvements:
...
- fixed typo in doc/ca65.sgml
- Greg found a way to get rid of one extra opcode handling in total
2016-08-30 22:58:40 +02:00
Sven Oliver Moll
91f8e09bcc
4510 support: fixed some cosmetical stuff and documentation
2016-08-29 23:29:31 +02:00
Sven Oliver Moll
0538184699
Add 4510 support for C65/C64DX
2016-08-29 10:45:18 +02:00
Greg King
1dee57bf1f
Made cc65 not warn us when we change character code 0x00 back to itself.
2016-08-26 08:08:44 -04:00
Chris Cacciatore
e9295b2a98
Updated comment regarding curly braces.
2016-08-20 09:42:29 -07:00
Chris Cacciatore
7919812378
Updated switch statement comments.
...
* Now comments represent the fact that there may not be curly braces.
2016-08-19 20:21:10 -07:00
Chris Cacciatore
3bd3fd8749
Removed check for LCURLY in switch statements.
2016-08-15 11:03:02 -07:00
Chris Cacciatore
bad8412131
All programs print version and exit successfully.
...
* All programs are now using the ProgName variable as well.
2016-08-12 08:54:41 -07:00
Chris Cacciatore
f9482a1b72
Fixed test negation. ( #329 )
...
Fixed test negation.
2016-08-09 15:46:51 -04:00
Oliver Schmidt
d90dff5861
Merge pull request #328 from cacciatc/print-sym-name-incompatible-ptr-types
...
Reporting sym name for incompatible pointer types.
2016-08-05 13:31:34 +02:00
Greg King
33b1d82791
Added the WDC65c02S WAI and STP mnemonics to the disassembler.
2016-08-02 16:38:39 -04:00
Chris Cacciatore
9accf983e1
Reporting sym name for incompatible pointer types.
2016-08-02 11:31:09 -07:00
David M. Lloyd
8f0146f14a
Add missing WDC instructions
2016-07-28 11:55:25 -05:00
Christian Groessler
85d755f214
fix indentation
2016-07-05 17:10:10 +02:00
Christian Groessler
97b517a892
sim65: add command line parameter to print number of CPU cycles at exit
2016-07-05 17:07:39 +02:00
Greg King
a6eb7d0763
Fixed how ca65 handles some debug info from cc65.
...
ca65 used to claim that an assembler error/warning was found on a C code line; and, that an Assembly line is only indirectly related to it.
Now, ca65 says that the Assembly line has the problem; and, that the Assembly line was produced from the C line.
2016-07-03 07:07:09 -04:00
Greg King
90b2f5aff8
Fixed some code that adjusts an index after a deletion from a collection.
2016-07-02 10:26:33 -04:00
Greg King
573381a340
Allowed character code zero to be remapped with other character codes.
2016-06-11 06:43:19 -04:00
Oliver Schmidt
6f0b57fe51
Added chrcvt65 to the Visual Studio project.
2016-06-03 11:37:15 +02:00
Oliver Schmidt
8dd003d2b3
Added --print-target-path option.
...
If cc65 is installed and used as designed there's no need whatsoever for CC65_HOME (both on *IX and Windows) from the perspective of the cc65 binaries. If the user however has to access files from the 'target' directory thenhe ends up with some assumption on the cc65 installation path nevertheless :-(
In order to avoid this I added the --print-target-path option. It "exports" the logic used by the cc65 binaries to locate their files to the user thus allowing him to leverage the same logic to locate the target files in his build scripts / Makefiles.
2016-06-03 11:08:53 +02:00
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
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