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
Irmen de Jong
2727a4dcb3
tweak DataType class and memsizer related to subtypes/elementtypes
2024-12-23 17:28:25 +01:00
Irmen de Jong
c0ae35b3a3
tweaks, bump version 11.0
2024-12-22 06:34:17 +01:00
Irmen de Jong
131d5ceb4f
avoid re-reading all source files when sourcelines are requested in the asm
2024-12-21 00:06:18 +01:00
Irmen de Jong
512ddd1694
cleanups
2024-12-20 22:59:20 +01:00
Irmen de Jong
ef4efcb112
cleanup
2024-12-19 21:06:51 +01:00
Irmen de Jong
b01555d75e
cx16.set_screen_mode() no longer returns anything.
...
tweak when codegen slightly.
allow trailing comma in array literals.
set_screen_mode failure status is really uncommon and still returned by the real kernal routine screen_mode().
2024-12-19 20:56:07 +01:00
Irmen de Jong
3804fba0f1
moved jdk version config back to main gradle build file, version consistency
2024-12-19 13:39:27 +01:00
Irmen de Jong
7c79cdbd2f
fix symbol prefixing on goto with expression
...
added coroutines example
2024-12-17 16:16:38 +01:00
Irmen de Jong
e7a0cb636c
add $< and $> operators to get the lsb and msb addresses of a @split array respectively.
...
document the new split array things.
2024-12-16 17:45:54 +01:00
Irmen de Jong
8644a4ae91
more split array fixes
2024-12-15 22:54:06 +01:00
Irmen de Jong
80d88b3c61
fix many split array issues
2024-12-15 17:08:07 +01:00
Irmen de Jong
28c721fa7d
add a split-array version for word containment check
2024-12-15 13:45:47 +01:00
Irmen de Jong
8f799567cf
make word arrays split by default (w.i.p.)
2024-12-15 08:12:34 +01:00
Irmen de Jong
9e8cc8b54d
goto can now accept any expression as address (instead of just a constant), and ofcourse a label name still.
2024-12-15 05:22:37 +01:00
Irmen de Jong
cc59069876
allow goto to take any expression, not only an integer or an identifier (part 1)
2024-12-14 01:01:32 +01:00