Irmen de Jong
|
5b63590ebf
|
fix symbol prefixing bug triggered by certain usage of %option no_symbol_prefixing
|
2025-03-03 22:26:19 +01:00 |
|
Irmen de Jong
|
9d49589d73
|
fix codegen for @(ptr-offset)=value writing bogus values
|
2025-03-02 23:40:14 +01:00 |
|
Irmen de Jong
|
125b66c929
|
fix crash in asmgen for boolean comparison with false, when not using optimizations
|
2025-03-01 23:57:55 +01:00 |
|
Irmen de Jong
|
5255f1c052
|
print offending source position in more of the TODO errors to help diagnosing
|
2025-03-01 23:16:34 +01:00 |
|
Irmen de Jong
|
3e2b2a698d
|
Separate simple Ast and Symboltable from codeCore into new simpleAst module. VirtualMachine and Intermediate do not need them, just codeCore.
|
2025-02-24 22:06:52 +01:00 |
|
Irmen de Jong
|
5c56267662
|
Also romable warning for inline variables. Added TODO: Romable in library files where applicable
|
2025-02-21 21:58:31 +01:00 |
|
Irmen de Jong
|
e55ce5504e
|
added %option romable to enable romable mode, but only generate a bunch of warnings for problematic codegeneration atm
|
2025-02-20 23:40:44 +01:00 |
|
Irmen de Jong
|
bc550a4549
|
fix optimized multi-value call result assignment
|
2025-02-19 20:19:20 +01:00 |
|
Irmen de Jong
|
ebdea9cf76
|
optimized call convention for multi-value return and assign on regular asmsubs (6502)
|
2025-02-19 20:19:20 +01:00 |
|
Irmen de Jong
|
09ec508f82
|
avoid unnecessary word extension when assigning a register byte to a byte target
|
2025-02-19 20:19:20 +01:00 |
|
Irmen de Jong
|
2aeb7a838e
|
finalize extracting neo and atari compiler targets into configuration files instead
|
2025-02-12 14:01:04 +01:00 |
|
Irmen de Jong
|
99ff5dd078
|
extracting neo and atari compiler targets into configuration files instead
|
2025-02-12 13:58:34 +01:00 |
|
Irmen de Jong
|
17334a1c58
|
fix 6502 codegen error for mixed case register params and normal params
|
2025-02-10 22:06:11 +01:00 |
|
Irmen de Jong
|
efd41260f2
|
added %jmptable
|
2025-02-09 15:02:59 +01:00 |
|
Irmen de Jong
|
8d2410622c
|
make 64tass less strict about implied register addressing modes on instructions like "asl"
|
2025-02-05 22:33:50 +01:00 |
|
Irmen de Jong
|
a940dc7d43
|
improve dumpvars output for zeropage variables
|
2025-02-03 22:36:58 +01:00 |
|
Irmen de Jong
|
74dd8fe80b
|
%output library header generation depends on compiler target
fileselector example tweaks
|
2025-02-02 20:51:45 +01:00 |
|
Irmen de Jong
|
8b158d9240
|
fix 64tass ascii encoding option for atari and neo6502
|
2025-02-01 21:47:01 +01:00 |
|
Irmen de Jong
|
f335251c2b
|
added ability to specify additional assembler options in custom target configurations
|
2025-02-01 16:09:43 +01:00 |
|
Irmen de Jong
|
2b7947f9b0
|
fix address check issue when using custom launcher
|
2025-01-31 23:34:12 +01:00 |
|
Irmen de Jong
|
1a04a3eb3a
|
added ability to configure custom ASM launcher code in target configuration file
|
2025-01-30 22:10:42 +01:00 |
|
Irmen de Jong
|
8ce3204f93
|
program start label is back for library outputs
|
2025-01-28 19:28:34 +01:00 |
|
Irmen de Jong
|
bb75be0b44
|
library now includes the 2 byte PRG header
fixed some assorted things
|
2025-01-26 19:48:44 +01:00 |
|
Irmen de Jong
|
2478aea316
|
add %output library
|
2025-01-24 23:25:57 +01:00 |
|
Irmen de Jong
|
d0c184c7de
|
remove needless 0 initializations of multi decl's
fix outdated text
|
2025-01-23 22:42:58 +01:00 |
|
Irmen de Jong
|
0191acb2b3
|
fix IR codegen for the RETURN 4,5,6,7
added cx16.EXTAPI_memory_decompress_from_func for cx16
|
2025-01-22 23:31:51 +01:00 |
|
Irmen de Jong
|
7a13f57ab0
|
enforce variable init values are only strings or arrays
|
2025-01-20 01:25:17 +01:00 |
|
Irmen de Jong
|
e8f3af6981
|
adding a configurable compilation target
|
2025-01-17 00:56:44 +01:00 |
|
Irmen de Jong
|
f9c7c7dab7
|
fix subroutine calling convention for @Rx parameters: don't pass them via cpu registers
|
2025-01-14 23:02:17 +01:00 |
|
Irmen de Jong
|
09a17743ad
|
merge IMachineDefinition into ICompilationTarget
|
2025-01-13 21:45:38 +01:00 |
|
Irmen de Jong
|
66558f7638
|
IR support for multi-value returns in normal subroutines, documentation.
|
2025-01-09 22:39:08 +01:00 |
|
Irmen de Jong
|
a6f9ed07e7
|
6502 codegen for multi-assigns
|
2025-01-09 00:38:47 +01:00 |
|
Irmen de Jong
|
7268a8736f
|
working on 6502 codegen for multi-assigns
|
2025-01-07 22:13:13 +01:00 |
|
Irmen de Jong
|
8f6b5676d7
|
working on codegen for multi-value returns
|
2025-01-07 20:35:49 +01:00 |
|
Irmen de Jong
|
ca9422bbe9
|
be able to parse multiple return values (sub + return)
|
2025-01-07 01:51:54 +01:00 |
|
Irmen de Jong
|
e5ff3c1ff3
|
fix compiler crash when using strings in if-expression. Remove harmless info message.
|
2025-01-06 01:34:42 +01:00 |
|
Irmen de Jong
|
f0e8ff0326
|
get rid of some empty lines in the generated asm
|
2025-01-05 19:34:05 +01:00 |
|
Irmen de Jong
|
420793f9e2
|
mkword() avoids unneeded push/pop for simple arguments
|
2025-01-05 13:41:40 +01:00 |
|
Irmen de Jong
|
cf1dbaf0d8
|
no longer clear msb on asmsub argument byte @R0
avoid unneeded push/pop for 2 byte arguments to a functioncall
|
2025-01-05 13:06:39 +01:00 |
|
Irmen de Jong
|
d187cef6b7
|
optimize x=min(x,100) and some other simple min() and max() cases
|
2025-01-05 11:59:00 +01:00 |
|
Irmen de Jong
|
3b3616afda
|
optimized pointer access @(pointer - constantoffset)
|
2025-01-05 06:31:34 +01:00 |
|
Irmen de Jong
|
0ffebc25d0
|
tweak pointer access, fix and optimize reading memory from a label as pointer
|
2025-01-05 05:44:51 +01:00 |
|
Irmen de Jong
|
a56ae7539a
|
optimized codegen for word*128 (word << 7): no longer do 7 shifts
|
2025-01-04 23:08:21 +01:00 |
|
Irmen de Jong
|
3b4b37f16b
|
optimize codegen for x += array[index] (and others)
|
2025-01-02 01:11:25 +01:00 |
|
Irmen de Jong
|
10b9162dc5
|
improving fileselector
|
2024-12-30 21:34:03 +01:00 |
|
Irmen de Jong
|
37c2c1bf0b
|
support &, &< and &> on array elements from split word arrays, not just on the array as a whole
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
056c0a24d9
|
better way of doing BIT instructions
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
4daa909f32
|
fix path normalization problems,
allow ~ in srcdirs compiler flag
|
2024-12-26 17:42:20 +01:00 |
|
Irmen de Jong
|
fe011de934
|
fix the missing cases in certain expressions that need the address of a split word array
|
2024-12-25 16:55:07 +01:00 |
|
Irmen de Jong
|
5071da6784
|
retain constants in IR
some IR related cleanups
|
2024-12-24 00:30:08 +01:00 |
|