Irmen de Jong
1e8ff6f82a
warning in doc about problems when using long + R0/R1 together
2025-10-11 15:36:57 +02:00
Irmen de Jong
07bb5c36bd
avoid fallback JSR peek for common case pointer+offset
2025-10-11 04:45:03 +02:00
Irmen de Jong
0c59ad70d4
fix aliased pointer deref problem
2025-10-10 22:13:24 +02:00
Irmen de Jong
51ae32d23e
fix up todo
2025-10-09 21:14:06 +02:00
markjreed
c873fac0dc
feat: point doc source links to matching version ( #179 )
...
* feat: point doc source links to matching version
* fix: formatting, remove debug
2025-10-09 20:03:46 +02:00
Irmen de Jong
396fcbc927
implement missing long typecasts
2025-10-07 17:46:10 +02:00
Irmen de Jong
0f564b301d
implement peekl() and pokel()
2025-10-07 00:53:00 +02:00
Irmen de Jong
f7639cb78f
implement long comparisons > and <=
2025-10-06 23:42:40 +02:00
Irmen de Jong
f5f5aef722
implement long comparisons < and >=
2025-10-06 22:30:17 +02:00
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
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
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
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
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
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
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
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
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
2c7256a443
support assignment to indexed pointer targets
2025-09-27 14:52:04 +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