Irmen de Jong
|
d66dc664de
|
work on longs
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
a2b9d78cf3
|
start with introducing LONG datatype (32 bits signed integer)
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
44f70da113
|
upgrade to JDK 17 for the build process (required by Gradle 9)
|
2025-10-03 00:18:55 +02:00 |
|
Irmen de Jong
|
c87eaf576d
|
buildfix and update to Gradle 9.1.0
|
2025-10-03 00:11:52 +02:00 |
|
Irmen de Jong
|
c09b1395f6
|
IR: add a unit test for the SSA basic block change
|
2025-10-01 22:49:51 +02:00 |
|
Irmen de Jong
|
d6a8201291
|
IR: fix SQRT reg1 type
|
2025-10-01 20:28:38 +02:00 |
|
Irmen de Jong
|
4187f97f7a
|
IR: rename <CODE> to <CHUNK> , put the code lines in a new sub node <CODE> for improved xml structure
|
2025-10-01 19:32:05 +02:00 |
|
Irmen de Jong
|
9d3b2f12fd
|
IR code blocks now better SSA basic blocks (ending with single branch instruction)
|
2025-10-01 19:08:44 +02:00 |
|
Irmen de Jong
|
87c1bbbf40
|
readme about LSP
|
2025-10-01 01:15:00 +02:00 |
|
Irmen de Jong
|
a7ad6abdb9
|
Merge branch 'languageServer'
# Conflicts:
# examples/test.p8
|
2025-09-30 22:14:03 +02:00 |
|
Irmen de Jong
|
a611406020
|
IR: add compilerversion attribute to p8ir file
|
2025-09-30 22:07:04 +02:00 |
|
Irmen de Jong
|
75da38224d
|
IR: make LSIG,MSIG,CONCAT instruction set flags to skip cmp #0 afterwards (if msb(x)>0)
|
2025-09-30 21:48:57 +02:00 |
|
Irmen de Jong
|
8d6f3301c8
|
conv.any2uword() return values have been changed to be more useful and convenient
now returns both the actual value and the number of characters, and the return values for the virtual target now matches the others.
|
2025-09-30 20:44:02 +02:00 |
|
Irmen de Jong
|
86b52a1c5e
|
fix endless loop in rewriting type of const long values
|
2025-09-29 22:28:13 +02:00 |
|
Irmen de Jong
|
2c8b1c2022
|
moved cx16.cpu_is_65816() to sys.cpu_is_65816(). It know also does proper detection on the C64 and C128 like on the X16, because those two computers can also have this CPU via a SuperCPU expansion.
|
2025-09-29 21:37:26 +02:00 |
|
Irmen de Jong
|
ab1f065752
|
first setup of LSP languageserver
|
2025-09-27 15:27:37 +02:00 |
|
Irmen de Jong
|
2c7256a443
|
support assignment to indexed pointer targets
v12.0-beta3
|
2025-09-27 14:52:04 +02:00 |
|
Irmen de Jong
|
97420b28e5
|
preparing to support assignment to indexed pointer targets
|
2025-09-27 11:03:55 +02:00 |
|
Irmen de Jong
|
1467c7039d
|
fix pointer deref ast printer
|
2025-09-27 10:42:55 +02:00 |
|
Irmen de Jong
|
d319badc6c
|
default 0 for long type
|
2025-09-25 21:32:23 +02:00 |
|
Irmen de Jong
|
65d6c1c438
|
fix IR instruction R/W usage counter
|
2025-09-25 01:50:27 +02:00 |
|
Irmen de Jong
|
abeefb5655
|
improved pointer[0]
|
2025-09-24 22:26:09 +02:00 |
|
Irmen de Jong
|
50fecbcebe
|
c64 sprite multiplexer WIP
|
2025-09-24 21:11:08 +02:00 |
|
Irmen de Jong
|
4fe8b72d42
|
fix broken uword comparison and asm peephole optimization
|
2025-09-24 02:42:26 +02:00 |
|
Irmen de Jong
|
f3b060df51
|
no longer save Y register when loading value through ZP pointer LDA (zp),Y
|
2025-09-23 22:59:01 +02:00 |
|
Irmen de Jong
|
09d1cb6925
|
fix crash when indexing on a label or subroutine name
working on multiplexer
|
2025-09-23 20:07:52 +02:00 |
|
Irmen de Jong
|
54fa72fa98
|
added sys.waitrasterline() routine like sys.waitvsync() but wait for a given raster line
optimize uword <= $xx00 into msb(uword)<$xx
|
2025-09-23 01:09:54 +02:00 |
|
Irmen de Jong
|
fd62fe7511
|
fix crash on invalid type cast added to ptr deref expression ('.' operator)
|
2025-09-22 23:54:01 +02:00 |
|
Irmen de Jong
|
bfb34dff62
|
fix recursive var decl error in case of some pointer derefs
|
2025-09-22 23:45:59 +02:00 |
|
Irmen de Jong
|
817b623596
|
optimize uword >= $xx00 into msb(uword)>=$xx
|
2025-09-22 22:59:56 +02:00 |
|
Irmen de Jong
|
f6dbeb1f63
|
working on a more complex c64 sprite multiplexer
|
2025-09-22 21:58:12 +02:00 |
|
Irmen de Jong
|
c4b9bdd33f
|
proper pointer array initializer size checking, nicer sprite movement in simplemultiplexer
|
2025-09-22 20:07:38 +02:00 |
|
Irmen de Jong
|
68e0d5f1b5
|
add sys.set_rasterline on c64 and c128 targets as well (cx16 already had it)
|
2025-09-21 01:36:43 +02:00 |
|
Irmen de Jong
|
4939e3df55
|
add sys.update_rasterirq, more robust sei/cli handling, added simple c64 sprite multiplexer example
|
2025-09-21 00:28:33 +02:00 |
|
Irmen de Jong
|
19f19f3880
|
doc and opening borders
|
2025-09-20 21:44:48 +02:00 |
|
Irmen de Jong
|
ad0c767ea8
|
%breakpoint! introduced to place after an assignment to make it parse correctly
|
2025-09-20 00:46:15 +02:00 |
|
Irmen de Jong
|
ed5f4d5855
|
fix missing subroutine argument list check
|
2025-09-19 05:35:03 +02:00 |
|
Irmen de Jong
|
c2f5d37486
|
new cx16/charfade.p8 example
|
2025-09-19 04:44:08 +02:00 |
|
Irmen de Jong
|
231b50dacb
|
optimize certain word multiplication with bit shifting if it's a power of 2
v12.0-beta2
|
2025-09-18 20:57:26 +02:00 |
|
Irmen de Jong
|
a71895cbe8
|
optimize pointer.field += 1 into pointer.field INC/DEC
|
2025-09-18 19:27:36 +02:00 |
|
Irmen de Jong
|
a8bede17b2
|
fix defer() with the arena allocator ("return values are evaluated before the defer is executed")
|
2025-09-17 23:59:32 +02:00 |
|
Irmen de Jong
|
f6c8e693a5
|
add offsetof()
|
2025-09-17 23:30:15 +02:00 |
|
Irmen de Jong
|
9461e4088c
|
fixed the hashtable example and workarounds for misbehaving defer in allocators
|
2025-09-17 22:53:01 +02:00 |
|
Irmen de Jong
|
efd73fd10d
|
implement some more in place pointer operators
|
2025-09-17 18:19:03 +02:00 |
|
Irmen de Jong
|
ddf6e84a1a
|
fix type checks for wrong pointer types in pointer array initalizer and assignment
|
2025-09-16 21:18:29 +02:00 |
|
Irmen de Jong
|
633d6c34e2
|
add support for struct pointers and short-form initializers in arrays and assignments
|
2025-09-16 20:37:50 +02:00 |
|
Irmen de Jong
|
6e7fbc6683
|
fix crash when invalid struct name is used in pointer decl
|
2025-09-15 20:39:21 +02:00 |
|
Irmen de Jong
|
124ea1230b
|
fix vm to understand struct instances in arrays
|
2025-09-14 19:04:01 +02:00 |
|
Irmen de Jong
|
8b48a295b6
|
allow struct initializers to occur in array literals
|
2025-09-14 18:16:46 +02:00 |
|
Irmen de Jong
|
d285d37fdb
|
fix clobbers syntax in symboldumper
|
2025-09-13 21:47:52 +02:00 |
|