Commit Graph

74 Commits

Author SHA1 Message Date
mrdudz
253af1ed07 Force 16bit address for absolute-indirect-x-indexed in 65816 mode.
should fix issue #1846 (and hopefully not break anything :))
2022-09-03 18:36:40 +02:00
mrdudz
3c1bb85b8e remove dangling spaces 2022-04-17 16:07:09 +02:00
Zsolt Branyiczky
63543dee07 Revert transient modification of EATab Table 0 comment 2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
0e98818db5 assembled SAC and SIR opcodes of 6502DTV cpu were wrong 2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
0f7cf87bfa Synchronizin InsTab6502DTV instructions table for DTV with the illegal opcodes verified by VICE-emu tests 2020-11-15 16:35:55 +01:00
Zsolt Branyiczky
92c013944e Mistyped comment, missing comma 2020-11-15 16:35:55 +01:00
Zsolt Branyiczky
b33b053307 add c64dtv support 2020-11-15 16:35:55 +01:00
Greg King
c05a750f47 Fixed some copy-&-paste typo mistakes about HuC6280's TMA mnemonic. 2020-10-01 07:25:08 -04:00
bbbradsmith
ac2ecb0b2c 65816 now generate EXPR_NEARADDR instead of EXPR_WORD0 for default assumed address mode, which will be validated by the linker's range check rather than blindly truncated. Assuming the assembler correctly validated this, the linker is allowed to truncate. 2019-05-11 12:32:44 +02: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
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
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
David M. Lloyd
8f0146f14a Add missing WDC instructions 2016-07-28 11:55:25 -05:00
Wayne LaBelle
d3b2b3df6b Move SBC to correct location in 6280 instruction table 2015-01-11 16:10:34 -05: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
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
4185caf855 Normalized code. 2014-03-04 01:11:19 +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
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
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
85885001b1 Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02: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
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
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
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
e8174de0f1 Fixed an error introduced in revision 4427: The list of 65816 instructions
contained two items less than the counter said (because in 4427 two were
deleted without adjusting the counter). Depending on the compilers
implementation of bsearch(), some of the 65826 instructions were not found
when searching the table.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5310 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-12-11 23:40:53 +00:00
uz
ddb7296b6c Move all attributes and other information that is attached to a token into a
structure named Token.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4910 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-16 16:05:43 +00:00
uz
0787e45aee Added macros for jumps after unsigned compares to the "generic" macro package.
Removed BGE/BLT as native instructions for the 65816.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4427 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-02 16:26:46 +00:00
uz
1efebb9024 Add .assert actions that aren't evaluated at assembly time.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4321 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-04 12:40:19 +00:00
uz
e1866ed9f8 Correct sweet16 addressing bug with SUB instr. Patch by Gabriele Galeotti.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3982 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-29 14:37:58 +00:00
cuz
9174f65e54 Make much more usage of dynamic strings (StrBufs) instead of char* and
friends. Since names and other strings are now StrBufs in many places, code
for output had to be changed.
Added support for string literals to StrBuf.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3825 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-31 20:54:45 +00:00
cuz
c13f40a9f1 Emit warnings for symbols that were used suboptimal because of forward
definitions. For example a zero page symbol that is used as absolute because
it was undefined when encountered.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3724 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-09 10:56:23 +00:00
cuz
33b874c4c8 Add explicit check for CPU_UNKNOWN to avoid SIGSEGV
git-svn-id: svn://svn.cc65.org/cc65/trunk@3652 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 13:09:41 +00:00
cuz
0da9d41a00 Bumped the year in the copyright message
git-svn-id: svn://svn.cc65.org/cc65/trunk@3616 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-01 19:41:20 +00:00