Irmen de Jong
|
88458f5355
|
faster array copy and fix for length 256
|
2024-02-11 23:57:38 +01:00 |
|
Irmen de Jong
|
8201408f16
|
fix element size calc when copying array
|
2024-02-10 22:58:44 +01:00 |
|
Irmen de Jong
|
8b8caa1c2e
|
added math.randrange() and math.randrangew()
|
2024-02-10 22:16:13 +01:00 |
|
Irmen de Jong
|
d7f72056fc
|
rest of the array copying
|
2024-02-10 17:16:06 +01:00 |
|
Irmen de Jong
|
906d9d858c
|
implementing the array copys
|
2024-02-10 01:40:36 +01:00 |
|
Irmen de Jong
|
6eacf1bddd
|
added a few more IR syscalls for often used copy routines
|
2024-02-09 23:56:44 +01:00 |
|
Irmen de Jong
|
6c8c8e11cc
|
fix cpu register overwrites when using @(...) arguments to an asmsub
|
2024-02-09 19:55:35 +01:00 |
|
Irmen de Jong
|
68669dbef0
|
fix & of pointervar indexing
|
2024-02-08 23:03:53 +01:00 |
|
Irmen de Jong
|
6a48de9a9f
|
IR: fix & of array-element
|
2024-02-08 21:27:53 +01:00 |
|
Irmen de Jong
|
9d6d98930b
|
fix ast printing of & array-element
|
2024-02-08 21:27:53 +01:00 |
|
Irmen de Jong
|
386a391fd9
|
added string.lstripped() and string.ltrimmed()
|
2024-02-07 23:07:45 +01:00 |
|
Irmen de Jong
|
d33aed4ed5
|
added txt.petscii2scr() and txt.petscii2scr_str()
|
2024-02-07 22:36:43 +01:00 |
|
Irmen de Jong
|
24944ad49e
|
added string.strip() and string.trim() and l/r variants.
fixed memsizer for pointers-to-ubyte.
|
2024-02-07 02:09:08 +01:00 |
|
Irmen de Jong
|
26ed231f61
|
version
|
2024-02-07 00:03:39 +01:00 |
|
Irmen de Jong
|
8485b8429f
|
optimizing +=1/-=1
|
2024-02-06 23:49:40 +01:00 |
|
Irmen de Jong
|
358215e4dd
|
removed postIncrDecr (still allow ++/-- to be parsed into +=1/-=1)
|
2024-02-06 18:50:08 +01:00 |
|
Irmen de Jong
|
2cadb546d5
|
optimized in-place memory/pointervar operations some more
|
2024-02-04 15:17:24 +01:00 |
|
Irmen de Jong
|
3c77f8a020
|
IR: optimize pointer access
|
2024-02-04 07:51:50 +01:00 |
|
Irmen de Jong
|
8e00408e3e
|
optimize pointer indexing a bit
|
2024-02-03 23:24:33 +01:00 |
|
Irmen de Jong
|
abcdfd8e28
|
optimize postincrdecr on memory a bit
|
2024-02-03 22:33:27 +01:00 |
|
Irmen de Jong
|
b0f5b6925d
|
getting rid of pointer[idx] in ast, instead always use @(ptr+idx)
|
2024-02-03 19:22:04 +01:00 |
|
Irmen de Jong
|
ef198f1493
|
fix for certain invalid expression evaluation code.
it no longer reuses the same temporary variable all the time.
todo
|
2024-01-31 21:18:21 +01:00 |
|
Irmen de Jong
|
48ef856c0b
|
identified wrong expr eval code - still need solution. Crash for now.
|
2024-01-30 23:00:50 +01:00 |
|
Irmen de Jong
|
e0055bc431
|
IR: working on inplace +/-
|
2024-01-29 22:08:47 +01:00 |
|
Irmen de Jong
|
9553248ed6
|
IR: integrate inplace assignment ops
|
2024-01-28 22:33:16 +01:00 |
|
Irmen de Jong
|
39d2194d8f
|
IR: implemented inplace prefix op on split array
VM: NEG instructions also set N and Z flags
|
2024-01-28 22:33:13 +01:00 |
|
Irmen de Jong
|
0800033b47
|
fixed split-word array in-place element +/- (other operators not yet...)
|
2024-01-28 22:30:45 +01:00 |
|
Irmen de Jong
|
8cf0b6cf51
|
IR: optimize code for ==0 and !=0 augmented assigns
|
2024-01-25 00:30:47 +01:00 |
|
Irmen de Jong
|
f2010bf7a5
|
IR: better code for array element assignments (w.i.p.)
|
2024-01-23 00:56:06 +01:00 |
|
Irmen de Jong
|
64c132ee0a
|
changed -breakinstr option so that you now specify the exact instruction to use for a %breakpoint.
also fixed a IR issue with x=not x.
|
2024-01-22 22:01:47 +01:00 |
|
Irmen de Jong
|
a8c09d6144
|
removed a problematic bitshift replacement in the const evaluator
|
2024-01-21 23:05:51 +01:00 |
|
Irmen de Jong
|
87c46ba730
|
check boolean array size mismatch.
check for weird string assignment.
check for X16 problematic cpu instructions rmb, smb, bbr, bbs.
tweak number node equality wrt bool type
|
2024-01-21 19:15:22 +01:00 |
|
Irmen de Jong
|
504d1440cc
|
fixed rol(),rol2(),ror(),ror2()
|
2024-01-17 21:02:17 +01:00 |
|
Irmen de Jong
|
e0de662f8e
|
fix signed word bitshift right (>8 shifts)
|
2024-01-16 01:08:16 +01:00 |
|
Irmen de Jong
|
66a836d094
|
added support for reverse() on split word arrays
|
2024-01-16 00:52:09 +01:00 |
|
Irmen de Jong
|
80095f4962
|
added support for any() on split word arrays
|
2024-01-15 23:51:19 +01:00 |
|
Irmen de Jong
|
7de665d1e4
|
support for split wordarrays rol/ror and rol2/ror2
optimized rol and ror codegen
optimize/fix ror/ror2/rol/rol2 on word arrays
|
2024-01-15 03:22:37 +01:00 |
|
Irmen de Jong
|
0a356ba73a
|
added containment check of float arrays
|
2024-01-14 14:14:09 +01:00 |
|
Irmen de Jong
|
41de8caa13
|
added sprites.set_mousepointer_image(), sprites.set_mousepointer_hand() and sprites.get_data_ptr()
|
2024-01-14 00:38:56 +01:00 |
|
Irmen de Jong
|
968609d06d
|
IR: fix problems with symbol offsets and unused subroutines/chunks
|
2024-01-13 16:43:41 +01:00 |
|
Irmen de Jong
|
bc3f2db3de
|
Fix call graph to no longer mark subroutines unused, that still get their variables referenced somewhere.
Revert palette.default_colors_16[] back to palette.set_default16.colors.
|
2024-01-11 22:12:01 +01:00 |
|
Irmen de Jong
|
ddb2ff4216
|
IR: use SCS opcode to set carry status flag into register
|
2024-01-09 23:46:27 +01:00 |
|
Irmen de Jong
|
f27e3478b9
|
fix const value of AddressOf for certain types
|
2024-01-09 22:10:25 +01:00 |
|
Irmen de Jong
|
f8084e7955
|
fix const replacement optimization error on memory mapped variable
|
2024-01-07 18:48:18 +01:00 |
|
Irmen de Jong
|
d85c347a6c
|
optimize /256 more, and fixed a unsigned byte word cast error
|
2024-01-07 02:34:05 +01:00 |
|
Irmen de Jong
|
7dd758a753
|
better optimize WORD & $xx00 , WORD & $00xx
|
2024-01-06 22:01:21 +01:00 |
|
Irmen de Jong
|
8e6b91cb9e
|
some optimizations
|
2024-01-06 00:44:00 +01:00 |
|
Irmen de Jong
|
334e6dca28
|
added string.contains().
fixed string and array containment check for length 1.
|
2024-01-05 20:46:26 +01:00 |
|
Irmen de Jong
|
37638e7ed0
|
added Absorption laws optimization
|
2024-01-05 00:36:47 +01:00 |
|
Irmen de Jong
|
8a0e650511
|
apply De Morgan's laws for logical not, results in smaller code
|
2024-01-04 23:45:46 +01:00 |
|