Irmen de Jong
|
bc7b086f0f
|
fix a configurable compilation target, add working example
|
2025-01-17 22:58:51 +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
|
4f096a7511
|
added sprites.getxy()
fix compiler crash on return xxx,yyy when symbol is not defined
|
2025-01-10 22:26:38 +01:00 |
|
Irmen de Jong
|
a6f9ed07e7
|
6502 codegen for multi-assigns
|
2025-01-09 00:38:47 +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
|
35d9412559
|
better error message
|
2025-01-07 00:53:48 +01:00 |
|
Irmen de Jong
|
f071c07dd9
|
IR: only put align on lsb array of split word array. tag split word arrays with split. (but this isn't actually used yet)
|
2025-01-06 02:50: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
|
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
|
478e2b4ebd
|
abs() return type changed to ubyte/uword
|
2025-01-04 23:16: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
|
823eaa8918
|
when using @requirezp in a subroutine that is unused (and is pruned), don't give an error there when using %zeropage dontuse
give warning when a pointer var is declared as @nozp (very inefficient)
|
2025-01-04 16:39:09 +01:00 |
|
Irmen de Jong
|
a2be42c5ca
|
txt.get_cursor() now returns the column and row as 2 values, no longer requires 2 pointer arguments
|
2025-01-04 04:06:27 +01:00 |
|
Irmen de Jong
|
a76b8d66ff
|
cx16: added syslib.get_charset()
updated fileselector
|
2025-01-04 01:02:43 +01:00 |
|
Irmen de Jong
|
b7f47d354f
|
IR: implemented << and >> for split word arrays
|
2025-01-03 22:18:02 +01:00 |
|
Irmen de Jong
|
5d33c93af9
|
IR: implemented rol(), rol2(), ror(), ror2() for split word arrays
|
2025-01-03 20:01:50 +01:00 |
|
Irmen de Jong
|
4db6859f3f
|
IR: strict register pool type assignment, 1 unique type per register + verification during IR writing
|
2025-01-03 04:18:16 +01:00 |
|
Irmen de Jong
|
b014facbd3
|
cx16 fileselector improvements
|
2025-01-03 01:35:20 +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
|
68d5983a14
|
optimize monogfx.plot() to use a *40 lookup table in lores mode. Speeds up a lot of other routines too (line etc)
|
2025-01-01 20:25:58 +01:00 |
|
Irmen de Jong
|
f2cfcfdf31
|
cx16: monogfx can fill with stipple mode again.
cx16: charset switching enabled again on program exit.
cx16: fileselector example: can now also show directories
|
2025-01-01 18:27:25 +01:00 |
|
Irmen de Jong
|
10b9162dc5
|
improving fileselector
|
2024-12-30 21:34:03 +01:00 |
|
Irmen de Jong
|
c84cc8f8c9
|
word arrays for sorting should be @nosplit
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
78c71bbf0e
|
adding file selector example
|
2024-12-30 00:00:31 +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
|
76b29aa629
|
fixed register reuse and types on syscall interface
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
f42e12bc13
|
ir: fix more register typing errors
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
427451a23f
|
ir: remove remaining SL* opcodes
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
af7930d494
|
ir: remove SL* opcodes
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
e2882d37bf
|
ir: remove a bunch of strange in-place assignment operators, and problematic opcodes
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
942d3ee640
|
ir: improve register type detection
|
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
|
827df04b32
|
IR: BIT instruction added
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
f40e1eb1f2
|
fixed clipping sample
|
2024-12-29 00:56:12 +01:00 |
|
Irmen de Jong
|
8b9da65357
|
Added supervisor to coroutines.run(). update symboldumps for 11.0.1.
|
2024-12-28 04:44:45 +01:00 |
|
Irmen de Jong
|
bdccffbb8e
|
stricter type checking in multivalue assigns, avoids possible invalid output due to missing type cast
|
2024-12-26 22:20:08 +01:00 |
|
Irmen de Jong
|
5a85474712
|
pet32: fixed txt.plot() mixing up row and column
|
2024-12-26 19:37:39 +01:00 |
|
Irmen de Jong
|
f50899c6fa
|
coroutines: make yield() return a configured uword so that a task subroutine can get reused for multiple different things
|
2024-12-26 18:55:32 +01:00 |
|
Irmen de Jong
|
4555edf369
|
update zsmkit to fix zsm_clearisr routine
|
2024-12-26 13:06:41 +01:00 |
|
Irmen de Jong
|
529ea5bf58
|
added coroutines library and multitasking example. Added sys.push_returnaddress().
|
2024-12-26 00:57:39 +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
|
2ca4aed566
|
IR: prefix immediate values with '#' for human readability reasons (no technical reason)
|
2024-12-24 09:35:10 +01:00 |
|
Irmen de Jong
|
5071da6784
|
retain constants in IR
some IR related cleanups
|
2024-12-24 00:30:08 +01:00 |
|