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
|
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
|
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
|
db2f28c4cd
|
add struct and pointer benchmark to benchmark program (btree, subscore=654, total 7420)
fix nullpointer in array initalizer
|
2025-09-12 17:09:44 +02:00 |
|
Irmen de Jong
|
5d9fbd2ccc
|
fix doc build
|
2025-09-11 22:53:57 +02:00 |
|
Irmen de Jong
|
7efc709538
|
release 12.0 BETA 1
|
2025-09-11 22:50:34 +02:00 |
|
Irmen de Jong
|
79419a98d0
|
add if-expression versions for the conditionals if_cc, if_cs, if_vc etc
|
2025-09-11 01:57:30 +02:00 |
|
Irmen de Jong
|
1c77d5d5e7
|
avoid creating inferredtype instances all the time
|
2025-09-10 20:43:15 +02:00 |
|
Irmen de Jong
|
83acc2f285
|
fix pointer variable overwriting when used in expression
|
2025-09-10 16:40:45 +02:00 |
|
Irmen de Jong
|
6de95f7a3b
|
new static struct initializer syntax ^^Node : [1,2,3]
avoids confusion with function calls
|
2025-09-10 13:47:12 +02:00 |
|
Irmen de Jong
|
e5fc9b3132
|
fix 6502 pointer arithmetic optimization that led to increased code size
|
2025-09-09 14:06:41 +02:00 |
|
Irmen de Jong
|
ced4c5944a
|
fix broken optimization for wordvar - value expressions
|
2025-09-09 08:05:51 +02:00 |
|
Irmen de Jong
|
d4c460072b
|
don't place library and subroutine parameter pointers in ZP automatically, to save ZP space
|
2025-09-09 06:25:40 +02:00 |
|
Irmen de Jong
|
0b9384b556
|
fix typecasted byte-to-word pointer assignment, some more asm optimizations
|
2025-09-09 05:56:55 +02:00 |
|
Irmen de Jong
|
e178097735
|
support more struct instance assignments via memcopy()
|
2025-09-08 13:18:50 +02:00 |
|
Irmen de Jong
|
a1ab8ed208
|
fixing alias bugs
|
2025-09-07 22:52:13 +02:00 |
|
Irmen de Jong
|
79629befc1
|
fix pointer arithmetic error in struct instance assignments (that get turned into a memcopy call)
|
2025-09-06 00:28:59 +02:00 |
|
Irmen de Jong
|
3a0392df8a
|
there's a problem with the struct initializer syntax
|
2025-09-05 00:18:42 +02:00 |
|
Irmen de Jong
|
c39acc5031
|
fix mistakes
|
2025-09-04 00:30:00 +02:00 |
|
Irmen de Jong
|
f54a29c415
|
small 6502 pointer arithmetic expression rewrite that produces smaller code
|
2025-09-03 23:54:10 +02:00 |
|
Irmen de Jong
|
783b111059
|
pointer to uword casts should not be removed
optimized addUnsignedByteOrWordToAY a tiny bit (but needs more)
|
2025-09-03 23:09:11 +02:00 |
|
Irmen de Jong
|
fb286f8b54
|
optimize operatorDereference() to not always use a zp scratch pointer
|
2025-09-03 20:30:10 +02:00 |
|
Irmen de Jong
|
5999110e3f
|
avoid using temporary pointer to access struct fields if a simple Y indexed cpu instruction can be used
|
2025-09-03 18:37:56 +02:00 |
|
Irmen de Jong
|
52a757ea78
|
todo
|
2025-09-02 00:42:46 +02:00 |
|
Irmen de Jong
|
28df08eea8
|
introduce P8ZP_SCRATCH_PTR temporary zp pointer to avoid clobbering W1,W2
|
2025-09-01 23:56:31 +02:00 |
|
Irmen de Jong
|
a7e9d8e14b
|
fix struct field offset calculations
|
2025-09-01 18:57:02 +02:00 |
|
Irmen de Jong
|
3ef09d7d9a
|
use LOADFIELD instruction more instead of an extra explicit ADD
add implicit @zp to pointer variables if they don't have a preference
|
2025-08-31 15:53:44 +02:00 |
|
Irmen de Jong
|
a9142b9ce5
|
slightly optimize certain pointer indexing calculation, fix invalid deref optimization
|
2025-08-31 13:40:28 +02:00 |
|
Irmen de Jong
|
13e6f64d3b
|
implement missing struct pointer indexing codegen
|
2025-08-31 12:20:38 +02:00 |
|
Irmen de Jong
|
4a1256c772
|
optimizing some pointer codegen for indexed derefs
|
2025-08-30 21:20:14 +02:00 |
|
Irmen de Jong
|
ff9bec90ec
|
fix struct pointer array indexing field dereferencing
the pointers/sorting example now actually works on the 6502 too
|
2025-08-30 12:24:30 +02:00 |
|