Commit Graph

4131 Commits

Author SHA1 Message Date
Bob Andrews
92fa7cb23f Merge pull request #2762 from kugelfuhr/kugelfuhr/fix-1778
Change notification message used when pointing to the macro an error comes from
2025-07-02 00:35:24 +02:00
Kugel Fuhr
ec67b49d7d Change notification message used when pointing to the macro an error comes from. 2025-07-01 17:37:39 +02:00
mrdudz
483ef7844b also test DESTDIR 2025-06-30 16:03:36 +02:00
mrdudz
705081af34 Merge branch 'master' into quietagain 2025-06-29 23:01:47 +02:00
mrdudz
831eedfb58 add some reasonable warnings/errors when PREFIX is empty 2025-06-29 22:46:42 +02:00
mrdudz
ce99bfb195 forgot some case values /o\ 2025-06-29 21:05:51 +02:00
mrdudz
af89b22252 add missing pseudos for sweet16 2025-06-29 19:13:56 +02:00
mrdudz
dd0d908d57 65816 does not have Rockwell extensions 2025-06-29 17:21:22 +02:00
mrdudz
cf8af80dce add missing pseudo(s) for HUC6280, fix cpudetect for 6280 2025-06-29 01:57:28 +02:00
mrdudz
629252c562 its CSG extensions, not GTE 2025-06-29 01:51:10 +02:00
mrdudz
0168835456 handle extra address mode(s) for 65CE02 in the scanner 2025-06-28 18:17:37 +02:00
mrdudz
bf1dbc54fc fix instruction bitfields. 65CE02 derivates can not use 65SC02, because of the zp-ind-z clash 2025-06-28 18:17:13 +02:00
mrdudz
8e4936d68d add related pseudos 2025-06-28 18:15:57 +02:00
mrdudz
c16b8dcf43 add new files 2025-06-28 02:08:01 +02:00
mrdudz
f6becd1b27 compiler should know about W65C02/65CE02 as well 2025-06-28 01:51:13 +02:00
mrdudz
b05e418e0b rp6502 actually uses W65C02 2025-06-28 01:45:26 +02:00
mrdudz
d472ac8fc0 fix table 2025-06-28 01:44:40 +02:00
mrdudz
0b49d66f05 sort table 2025-06-28 01:06:37 +02:00
mrdudz
b38422ef9f 65CE02 has phz and asw 2025-06-28 00:58:19 +02:00
mrdudz
e3140349b0 add 65CE02 and W65C02 to disassembler 2025-06-28 00:54:13 +02:00
mrdudz
e93356e3bb add 65CE02 table 2025-06-28 00:38:16 +02:00
mrdudz
76aa7cbc40 add names and bit(field)s for WDC65C02 and 65CE02 2025-06-27 19:40:41 +02:00
Bob Andrews
d909a2c285 Merge pull request #2746 from mrdudz/bequiet
Fix -s vs QUIET in the makefiles
2025-06-27 16:43:13 +02:00
Bob Andrews
270552af48 Merge pull request #2734 from mrdudz/mega65c
C65 and Mega65 initial C support
2025-06-27 16:41:28 +02:00
mrdudz
0c22e310ef ...and patch the Makefile in src the same way 2025-06-26 23:44:56 +02:00
Kugel Fuhr
d5e7c94eb2 Introduce an optimization for (header) files containing include guards: If
such an include guard exists, the file is not read and parsed multiple times
(as before) but duplicate inclusion is detected before opening the file and
the additional overhead is avoided.
2025-06-26 10:10:11 +02:00
mrdudz
01ba0b562d Merge branch 'master' into mega65c 2025-06-26 01:52:10 +02:00
Bob Andrews
801508aecf Merge pull request #2735 from kugelfuhr/kugelfuhr/fix-2025
Add an optimization that removes compare instructions preceeding RTS or function calls
2025-06-26 00:29:29 +02:00
Kugel Fuhr
55d9b2dbd0 Rewrite the optimization step from c0a1b1b887 to
remove compares not only before RTS but also befoire function calls that don't
use the flags but destroy all of them. The latter is currently the case for
all functions called. This way the optimization covers a lot more cases than
just checking for RTS.
2025-06-25 20:07:36 +02:00
mrdudz
d6cc893940 fix instruction set bits set by the compiler. in particular do not set the 65SC02 bit for 4510/45GS02, else we get clashes with sta(zp) 2025-06-24 21:39:39 +02:00
Kugel Fuhr
7a6c60ade4 Do also sort variables to satisfy sorted_codeopt.sh. 2025-06-24 20:21:43 +02:00
Kugel Fuhr
c0a1b1b887 Add an optimization step that removes compare instructions preceeding an RTS.
Since nothing is passed back in the flags, these instructions have no effect.
Fixes #2025.
2025-06-24 18:02:24 +02:00
Bob Andrews
54a2410b5a Merge pull request #2674 from GorillaSapiens/c_sp
rename "sp" to "c_sp", avoid conflict with 4510 opcodes
2025-06-24 17:44:13 +02:00
Gorilla Sapiens
b2e5d3cd25 insipid formatting whack-a-mole 2025-06-23 17:51:44 +00:00
Kugel Fuhr
4c81eacefe Added -d/--debug and -m/--multi-pass switches to the disassembler. The latter
will make the disassembler run multiple preparation passes to find all
addresses where labels must be placed. Without -m some label addresses are
found in the final pass, where the disassembler cannot make use of them.
2025-06-23 14:50:40 +02:00
Bob Andrews
c520455b2b Merge pull request #2729 from kugelfuhr/kugelfuhr/fix-2208
When studying a symbol expression use its address size if its smaller than that of the symbol
2025-06-23 14:22:22 +02:00
Bob Andrews
c20461d213 Merge pull request #2722 from kugelfuhr/kugelfuhr/da65-cleanup
Small cleanup for da65
2025-06-23 14:18:18 +02:00
Bob Andrews
c832af8a71 Merge pull request #2710 from kugelfuhr/kugelfuhr/fix-2694
Fix wrong file offset handling for a memory area with only run segments written to a file
2025-06-23 14:17:55 +02:00
Kugel Fuhr
96bb1e4336 Fix coding style. 2025-06-23 14:02:56 +02:00
Kugel Fuhr
49713f73e0 Output relative branch targets as "*-30" instead of "* + (-30)". 2025-06-23 14:01:29 +02:00
Bob Andrews
540a6a7658 Merge pull request #2728 from kugelfuhr/kugelfuhr/da65-improvements
Cleanup for the da65 code base
2025-06-23 13:47:23 +02:00
mrdudz
034fc93c75 enable 4510/45GS02 in the compiler - however, the resulting asm files cant be assembled because of sp vs c_sp clash 2025-06-23 13:23:23 +02:00
mrdudz
8615c244d9 add initial target for mega65, also added c65 where missing. reworked from #1792 2025-06-22 21:07:38 +02:00
Gorilla Sapiens
a7af49a763 Merge branch 'master' into c_sp 2025-06-22 19:02:24 +00:00
Kugel Fuhr
7d231d60a6 Minor corrections after looking at the diff. 2025-06-22 20:36:26 +02:00
Kugel Fuhr
b9a703749c Replace all tables by hash tables. This allows to remove the ugly special
casing of "long addresses" and prepares the code base for use with the full
address range of the 65816.
Use fixed size data types for addresses and target data words of known size.
Many other minor improvements.
2025-06-22 20:36:26 +02:00
Kugel Fuhr
7854a53434 When studying expressions and recalculating the address size for a symbol
expression, use the symbol address size only if it is smaller than the one
that was calculated.
2025-06-22 16:12:07 +02:00
mrdudz
233c784c03 fix aslq in the disassembler 2025-06-22 01:16:03 +02:00
mrdudz
2ae30b5b50 cleanup 2025-06-22 01:15:40 +02:00
mrdudz
c3b75f0ac1 comment 2025-06-22 01:15:10 +02:00