Irmen de Jong
d6e30d8468
fix signed word and long cmp()
2025-10-06 22:05:34 +02:00
Irmen de Jong
37afdf5a18
tweak antlr grammar to improve parsing performance
2025-10-06 01:28:33 +02:00
Irmen de Jong
5eb7074172
fix gfx_lores and gfx_hires disc() inaccurracy
2025-10-05 23:21:19 +02:00
Irmen de Jong
9aff280d10
fix monogfx.disc() inaccurracy
2025-10-05 23:03:53 +02:00
Irmen de Jong
44741a8e32
fix c64 graphics.disc() inaccurracy
2025-10-05 22:57:39 +02:00
Irmen de Jong
37535f2913
optimize charfade example, added textspotlight example
2025-10-05 21:18:47 +02:00
Irmen de Jong
ec9475c308
use pointer arithmetic instead of raw peeks and pokes
2025-10-05 18:38:01 +02:00
Irmen de Jong
b961ce97d6
add -libdump and -libsearch compiler options
2025-10-05 17:07:55 +02:00
Irmen de Jong
4ed92d71a7
remove "@split" tag
...
The default is to split word arrays. If you need your word array to not be split, use @nosplit on the array.
2025-10-05 17:06:21 +02:00
Irmen de Jong
3e1386a987
remove the -dontsplitarrays compiler option
...
it was still there for backward compatibility reasons with really old prog8 code. If you need a word array to be not split, just use @nosplit on the array.
2025-10-05 14:44:29 +02:00
Irmen de Jong
4195e3968a
remove needless library module imports in unit tests
2025-10-05 13:10:02 +02:00
Irmen de Jong
961095bfec
fix output path for shadow jar
2025-10-04 23:31:52 +02:00
Irmen de Jong
3ea8ca59b7
beta 4 now with support for long values
v12.0-beta4
2025-10-04 22:55:18 +02:00
Irmen de Jong
71ffbe2ba7
document the long type
2025-10-04 22:33:43 +02:00
Irmen de Jong
e63921009c
added math.mul32(), verafx.muls now returns long
2025-10-04 21:54:53 +02:00
Irmen de Jong
db1aa3f257
math.crc32() now returns the crc value as a long
2025-10-04 17:40:49 +02:00
Irmen de Jong
8abdb837b2
fix long equality comparisons
2025-10-04 17:21:39 +02:00
Irmen de Jong
cdeabd4b66
only * and /
2025-10-04 05:13:18 +02:00
Irmen de Jong
efff74c0f1
added sys.pushl() and sys.popl()
2025-10-04 03:05:50 +02:00
Irmen de Jong
0e177cb531
added cbm.RDTIML and cbm.SETTIML wrappers
2025-10-04 02:00:24 +02:00
Irmen de Jong
35b921b062
added bcd module for decimal addition and subtraction using BCD mode
2025-10-03 23:36:17 +02:00
Irmen de Jong
a7d98e43b8
cmp(long, long)
2025-10-03 22:41:59 +02:00
Irmen de Jong
845ee2dd83
smaller code for several long operations
2025-10-03 21:25:13 +02:00
Irmen de Jong
f9b0bfe31b
implement rol() and ror() on longs (also rol2 and ror2 and abs)
2025-10-03 01:22:24 +02:00
Irmen de Jong
f303d15628
fix long equality checks
2025-10-03 01:22:24 +02:00
Irmen de Jong
67f7ffa52d
multi value returns with longs
2025-10-03 01:22:24 +02:00
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