Irmen de Jong
|
d477e9b2bd
|
pet32: added VIA registers (in 'pet' namespace) and petsnd module to play sound.
|
2026-01-16 00:15:04 +01:00 |
|
Irmen de Jong
|
d774bad2b4
|
docs for new case routines
|
2026-01-15 22:06:05 +01:00 |
|
Irmen de Jong
|
e3bb09d2a1
|
diskio: case insensitive file/dir listings only on CX16 target, and based on ISO encoding
|
2026-01-14 23:12:12 +01:00 |
|
Irmen de Jong
|
112bce0ac0
|
cx16: added ISO lowercase and uppercase routines to strings module
|
2026-01-14 22:07:24 +01:00 |
|
Irmen de Jong
|
aac7d68455
|
fix watch mode to clear file cache every cycle
|
2026-01-14 20:16:33 +01:00 |
|
Irmen de Jong
|
620793011e
|
way faster long to float conversion routine, fixes #202
|
2026-01-13 22:55:37 +01:00 |
|
Irmen de Jong
|
cb4ffaa028
|
added case-insensitive pattern matcher strings.pattern_match_nocase()
added various case-insensitive versions of the file and directory listing routines in diskio (the ones that take an optional pattern)
|
2026-01-13 01:33:46 +01:00 |
|
Irmen de Jong
|
8c4944d703
|
optimized long and float copying through pointers
|
2026-01-12 00:19:21 +01:00 |
|
Irmen de Jong
|
f5fbb5f930
|
implement some missing float copy
|
2026-01-11 22:06:21 +01:00 |
|
Irmen de Jong
|
40ce40db32
|
irq doc
|
2026-01-11 19:00:37 +01:00 |
|
Irmen de Jong
|
ee556434bc
|
doc
|
2026-01-11 14:12:16 +01:00 |
|
Irmen de Jong
|
5cd175d54f
|
optimize successive additions/subtractions and multiplications (with const) into just a single add/sub, mul
optimize var = simpleexpression | var += expression --> var = simpleexpression + expression (for any augmented operator)
|
2026-01-11 01:30:04 +01:00 |
|
Irmen de Jong
|
b51e116b63
|
optimize expression: uwordvar + 256 and variants to only manipulate msb
|
2026-01-10 22:50:33 +01:00 |
|
Irmen de Jong
|
5c7ac0efb7
|
IR: remove broken loadi/storei optimization
|
2026-01-10 22:23:01 +01:00 |
|
Irmen de Jong
|
34b228cfca
|
fix peek/poke error with const offset
|
2026-01-10 20:58:16 +01:00 |
|
Irmen de Jong
|
2b26952044
|
better error
|
2026-01-10 19:06:59 +01:00 |
|
Irmen de Jong
|
db38c27224
|
optimized peeks with a ubyte variable offset
|
2026-01-10 00:22:39 +01:00 |
|
Irmen de Jong
|
560013e58b
|
optimized pokes with a ubyte variable offset
|
2026-01-09 22:36:04 +01:00 |
|
Irmen de Jong
|
cdb41f4352
|
better errors when multiplying string or array with bogus value
|
2026-01-09 18:43:41 +01:00 |
|
Irmen de Jong
|
13cd68ba96
|
IR: fix LOADI.f peephole optimization
|
2026-01-09 03:49:55 +01:00 |
|
Irmen de Jong
|
f69b293b7f
|
optimized some more cases of poke and peek
|
2026-01-09 02:57:12 +01:00 |
|
Irmen de Jong
|
d4bf0bf5b7
|
optimized simple cases of pokel()
|
2026-01-09 01:21:11 +01:00 |
|
Irmen de Jong
|
8c6a95f5e2
|
optimized simple cases of v = peekl()
|
2026-01-08 23:37:06 +01:00 |
|
Irmen de Jong
|
6301a8b040
|
optimize msb(long<<8/16/24) into single byte accesses (skip the whole shift)
|
2026-01-08 22:38:07 +01:00 |
|
Irmen de Jong
|
daa9b40883
|
optimize lsb(long>>8/16/24) into single byte accesses (skip the whole shift)
|
2026-01-08 03:21:57 +01:00 |
|
Irmen de Jong
|
aa045bb383
|
optimized certain word and long shifts to get the lsb/msb
|
2026-01-08 02:45:09 +01:00 |
|
Irmen de Jong
|
9d7049a659
|
optimized long>>8, long>>16, long>>24
|
2026-01-08 00:31:39 +01:00 |
|
Irmen de Jong
|
bbfb2eb367
|
optimized longvar = lptr^^
|
2026-01-07 23:30:35 +01:00 |
|
Irmen de Jong
|
447271f3f2
|
implemented missing byte ptr assignment
|
2026-01-07 22:42:53 +01:00 |
|
Irmen de Jong
|
78d6d2d59a
|
breaking change: renamed R0R1_32 etc combined register parameters to just R0R1, R2R3, etc etc (_32 suffix is removed to make it more consistent with the other existing register names)
|
2026-01-07 21:56:16 +01:00 |
|
Irmen de Jong
|
c6cd39b4ab
|
slighty improved fix len() error message for pointer types
|
2026-01-07 21:37:07 +01:00 |
|
Irmen de Jong
|
cd34c4eed0
|
fix len() error message for pointer types
|
2026-01-07 03:25:52 +01:00 |
|
Irmen de Jong
|
652b585ea4
|
code style
|
2026-01-07 00:48:45 +01:00 |
|
Irmen de Jong
|
2913fa47b2
|
fix pointer assignment TODO
|
2026-01-07 00:31:06 +01:00 |
|
Irmen de Jong
|
d6e4175e21
|
fix msb(a+b), lsb(a+b)
|
2026-01-07 00:20:49 +01:00 |
|
Irmen de Jong
|
3a0add60fd
|
optimize msb(lsw(longvar)) into @(&longvar+1)
|
2026-01-06 22:58:45 +01:00 |
|
Irmen de Jong
|
bc4470aeda
|
remove bsb() again - too confusing?
|
2026-01-06 22:39:04 +01:00 |
|
Irmen de Jong
|
97dade3655
|
fix setmsb() on long types
|
2026-01-06 22:11:58 +01:00 |
|
Irmen de Jong
|
54f23387d0
|
added bsb(long) builtin function that returns the bank byte of the long value (bits 16-23)
|
2026-01-06 20:56:03 +01:00 |
|
Irmen de Jong
|
77161e0f39
|
avoid separate definitions for list of simple builtin functions
|
2026-01-06 18:19:15 +01:00 |
|
Irmen de Jong
|
70d99bebb0
|
on c64/c128, txt.getclr() now always returns 0-15 (upper 4 bits are cleared). fixes #204
|
2026-01-05 21:50:38 +01:00 |
|
Irmen de Jong
|
75156f7dbd
|
fix optimized long comparison against 0
|
2026-01-05 19:08:56 +01:00 |
|
Irmen de Jong
|
9827be0047
|
optimize sgn(integer) comparisons
|
2026-01-05 18:33:26 +01:00 |
|
Irmen de Jong
|
495dd526e1
|
comment correction
|
2026-01-04 23:04:33 +01:00 |
|
Irmen de Jong
|
3d20bc13b5
|
Virtual target: fix strings.right() and strings.slice()
|
2026-01-04 20:55:02 +01:00 |
|
Irmen de Jong
|
6028cc49ab
|
simplify when into if-else, if possible
|
2026-01-04 19:39:38 +01:00 |
|
Irmen de Jong
|
23d3fb96b9
|
improved parsing rule of constdecl
|
2026-01-02 23:36:55 +01:00 |
|
Irmen de Jong
|
51503e054a
|
IR: improve use of loadfield for msb/lsb of struct fields
|
2026-01-02 22:10:10 +01:00 |
|
Irmen de Jong
|
3f6177cbb8
|
improved 6502 codegen for lsb/msb of struct field
|
2026-01-02 21:36:11 +01:00 |
|
Irmen de Jong
|
c1c88e0327
|
improved 6502 codegen for memory byte access into structs
|
2026-01-02 21:03:13 +01:00 |
|