Irmen de Jong
|
88c5d9783a
|
long params and return values
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
e7fc0360ad
|
long bitwise operator expressions
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
cd1862dd9f
|
fix signed long shift right
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
045c4909a8
|
long equality comparisons
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
f1bfe619b2
|
avoiding endless loop in optimizer
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
e0107bacbd
|
implement long << >> expressions
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
b3bd2a6a09
|
fixed a bunch of long type handling
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
ff1f58e022
|
implement simple + / - long expressions
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
557b12668d
|
implement print_ulhex(long, prefix)
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
b058f1c7c2
|
implement mklong(a,b,c,d) and mklong2(w1,w2)
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
3e07b6ca70
|
adding long arrays
|
2025-10-03 01:22:24 +02:00 |
|
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 |
|