1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-28 03:29:39 +00:00
Commit Graph

668 Commits

Author SHA1 Message Date
Greg King
a6b04f6e97 Changed most "backticks" (grave accents) into apostrophes.
Quotations that are embraced by tick marks now look better, in most fonts.
2019-01-05 14:57:12 -05:00
Joshua Bell
c8bf652982 ca65: Add string_escapes feature. Resolves #535 2019-01-05 11:29:54 -08:00
Greg King
554448a1f1 .byt "" emits no data; avoid a ca65 crash.
Fixes #775 on GitHub.
2018-10-20 13:41:52 -04:00
Stefan
b93b88211c WDM support (#721)
WDM support
2018-08-19 10:29:25 -04: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
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
Michael Kohn
5ecd902fbf The opcode for BS should be 0x0C. 2018-05-13 06:31:05 -05:00
Piotr Fusik
b31ae57be1 Make some arrays const. 2017-06-28 20:43:31 +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
18b0aaf9f2 Removed help for non-existent option. 2017-04-15 23:12:19 +02:00
Christian Groessler
a5fba551d1 Merge remote-tracking branch 'upstream/master' into something_to_pull2 2017-02-13 21:38:38 +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
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
jede
252e4afb9c Adding files for telemon30 2016-12-14 21:22:10 +01: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
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
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
David M. Lloyd
8f0146f14a Add missing WDC instructions 2016-07-28 11:55:25 -05: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
573381a340 Allowed character code zero to be remapped with other character codes. 2016-06-11 06:43:19 -04: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
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
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
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
Marcus Rowe
25e0b157be Fixed code style 2015-10-24 01:07:47 +10: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
mrdudz
d0a1dc73b8 Merge remote-tracking branch 'upstream/master' into pcenginetarget 2015-09-04 13:40:52 +02: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
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
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
a13284a792 Merge pull request #160 from Movax12/definedinstr
.DEFINEDINSTR
2015-06-04 22:05:00 +02: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
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
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
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
91e21ae024 Merge branch 'master' of https://github.com/cc65/cc65 into c1p 2014-12-02 20:42:54 +01:00
mrdudz
4275b82117 added compiler/assembler target, lib compiles 2014-11-29 15:35:20 +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
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
Stephan Mühlstrasser
0b186407f1 Merge https://github.com/cc65/cc65 into c1p 2014-11-02 16:17:16 +01: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
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
f266612697 Merge remote-tracking branch 'upstream/master' into a5200 2014-03-20 00:24:11 +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
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
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
a7b84bb618 Removed references to SunPlus. 2014-02-08 22:48:49 +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
b3b3578f08 Nominal support for target Ohio Scientific Challenger 1P 2013-07-14 22:50:38 +02: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
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
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
85885001b1 Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
Greg King
372e6ac1d6 Removed useless command-line option. 2013-05-07 00:54:44 -04: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
Greg King
be5a5e03d8 Changed the order of directories that are searched for include files. 2013-05-03 23:25:06 -04:00
Oliver Schmidt
63676f97e2 Removed unused variable. 2013-05-02 14:42:33 +03: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
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
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
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
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
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
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
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
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
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
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
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
47c87eb335 Fixed an error: When guessing the address size of an expression used in an
instruction that contains undefined symbols, and the effective address allows
just one address size, use this size instead of the default data segment size.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5658 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-25 16:28:46 +00:00
uz
f9729fd0cf Use the new FileStat function to get correct file modification times under
Windows.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5633 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 17:01:05 +00:00
uz
bdeefe31e5 The table for sweet 16 instructions had an invalid length word. Reported by
Jeff Tranter.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5572 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-04 13:01:50 +00:00
uz
b6276e75f3 Fixed a problem with debug symbol ids. Invalid ids were written to the file
because of a wrong check.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5430 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-31 20:44:27 +00:00
uz
7ecb4c50b1 Add bounded expressions for immediate addressing and list the new feature in
the docs.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5406 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-18 19:50:34 +00:00
uz
8ddcbc5f01 Fixed an error in calculation of the fill bytes necessary for alignment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5396 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-11 18:30:25 +00:00
uz
1fccae4cff Finish support for .BANK.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5384 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-04 22:45:26 +00:00
uz
e7e4877e6e Mark segments that are referenced in a .BANK statement.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5383 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-04 22:15:47 +00:00
uz
02cbc7da25 Moved the segdefs module to ca65, since it was used only there and renamed it
to segdef, since there might be a new segdefs module in common soon.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5381 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-04 22:02:02 +00:00
uz
9e68be3842 Started to add a new .BANK instruction that allows access to a memory area
attribute named "bank". Some error checks and a lot of testing is required.
Don't use for now.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5375 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-03 21:41:34 +00:00
uz
be77192bcf No need to simplify an expression in SegDone() if it is replaced by a constant
anyway.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5372 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-03 19:40:00 +00:00
uz
45f7cc1403 Support for the Mitsubishi 740 CPU for da65. Written and contributed by
Chris Baird, cjb@brushtail.apana.org.au.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5350 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-12-31 13:09:55 +00:00
uz
5bcbb39bba Make the error message for large alignments more descriptive. Don't use the
real number of fill bytes for an alignment, we didn't accept anyway.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5340 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-12-28 16:00:16 +00:00
uz
4bdcad03a0 Added TGT_GEOS_CBM and TGT_GEOS_APPLE.
Added new targets to the geos resource compiler already prepared by Oliver.
Changed the target module to allow target name aliases and consolidated target
properties into a TargetProperties structure kept in that module. Numeric
targets are now gone.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5338 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-12-28 13:33:38 +00:00
uz
badfe85991 Allow arbitrary alignments, not just powers of two. Beware: This needs support
in the linker which is currently missing.
                                         


git-svn-id: svn://svn.cc65.org/cc65/trunk@5334 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-12-27 22:54:52 +00:00