Irmen de Jong
|
34b228cfca
|
fix peek/poke error with const offset
|
2026-01-10 20:58:16 +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
|
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
|
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
|
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
|
75156f7dbd
|
fix optimized long comparison against 0
|
2026-01-05 19:08:56 +01:00 |
|
Irmen de Jong
|
c1c88e0327
|
improved 6502 codegen for memory byte access into structs
|
2026-01-02 21:03:13 +01:00 |
|
Irmen de Jong
|
18ba25d6a4
|
IR: optimize double ADD/SUB
|
2026-01-02 20:24:35 +01:00 |
|
Irmen de Jong
|
5b32cfd172
|
fix some obscure errors, improve some error messages
|
2025-12-28 23:02:03 +01:00 |
|
Irmen de Jong
|
b156c876f0
|
fix long expression typecast error
|
2025-12-28 01:24:54 +01:00 |
|
Irmen de Jong
|
71b66f506d
|
fix asmsub register order crash when using longs + something else
|
2025-12-28 01:08:10 +01:00 |
|
Irmen de Jong
|
55bc242e8b
|
implemented in-place long negation and some missing long to float casts
|
2025-12-23 15:30:39 +01:00 |
|
Irmen de Jong
|
aa3bbbb867
|
tweaks to wav streaming examples
|
2025-12-23 05:32:28 +01:00 |
|
Irmen de Jong
|
e57d9f59a2
|
fix long 0 argument to asmsub with 32-bits combined virtual register to pass it in
|
2025-12-21 22:23:17 +01:00 |
|
Irmen de Jong
|
4030a1b9e5
|
cleanup, animals example removed because it's superseded by the pointers/animalgame example now
|
2025-12-16 16:48:34 +01:00 |
|
Irmen de Jong
|
51300196e8
|
fix more long comparisons with arrays, fixes #196
|
2025-12-12 21:01:51 +01:00 |
|
Irmen de Jong
|
f7b2f19cba
|
remove restriction about long comparison with expression
|
2025-12-11 21:43:53 +01:00 |
|
Irmen de Jong
|
014a82a1ee
|
always put all struct types as .struct in asm code to make them all accessible for size and offsets
|
2025-12-10 21:39:44 +01:00 |
|
Irmen de Jong
|
2ccfb2ac90
|
fix double evaluation (sign extension) of word to long assignment. Fixes #201
|
2025-12-07 22:23:59 +01:00 |
|
Irmen de Jong
|
2191c4b7d8
|
remove redundant expression assignment before multiplying certain words
|
2025-12-07 14:06:59 +01:00 |
|
Irmen de Jong
|
c693be0dd6
|
fix byte subtract from long
fix IR register check error for %ir segments
|
2025-12-06 20:40:42 +01:00 |
|
Irmen de Jong
|
0f433055a7
|
fix pointer dereference division and modulus , fixes #199
|
2025-12-05 22:19:54 +01:00 |
|
Irmen de Jong
|
76c95ba6fa
|
some more obscure inplace modifications implemented
|
2025-12-05 21:00:14 +01:00 |
|
Irmen de Jong
|
bd272a8567
|
optimize some specialized cases of long <<
|
2025-12-05 01:08:19 +01:00 |
|
Irmen de Jong
|
b38fff76e9
|
hack to work around struct name prefix inconsistency
see github issue 198
|
2025-12-03 21:07:08 +01:00 |
|
Irmen de Jong
|
07b7639ff2
|
better error msg
|
2025-12-02 22:56:40 +01:00 |
|
Irmen de Jong
|
165f94bc93
|
fix long expression <0 / >0 comparison
|
2025-11-30 16:57:05 +01:00 |
|
Irmen de Jong
|
b75090f928
|
fix some register clobbering with long operations
|
2025-11-30 16:44:36 +01:00 |
|
Irmen de Jong
|
62b0c82f93
|
implement long <=0 and long >=0 comparisons
make sure the adpcm benchmark doesn't use random memory contents
|
2025-11-30 16:25:58 +01:00 |
|
Irmen de Jong
|
e78345410f
|
fix long-- high word wrap bug
|
2025-11-26 20:13:17 +01:00 |
|
Irmen de Jong
|
8b86f97aaa
|
Implement struct field long and signed word bitshifts. Fixes #194
|
2025-11-25 22:28:28 +01:00 |
|
Irmen de Jong
|
df1a2a1611
|
also optimize BRA+RTS into just BRA
release 12.0
|
2025-11-23 15:18:05 +01:00 |
|
Irmen de Jong
|
590feda903
|
IR: fix sgn(float) register type error
|
2025-11-19 21:11:31 +01:00 |
|
Irmen de Jong
|
6e7e2922bf
|
moved the float <> long cast routines to float.asm where the other cast routines are too
|
2025-11-19 18:45:32 +01:00 |
|
Irmen de Jong
|
c275aacd38
|
implement 6502 codegen for casting long to float
|
2025-11-18 23:26:12 +01:00 |
|
Irmen de Jong
|
99e037489b
|
IR: added float<>long casts, cx16: blink_cursor extapi tested in test.p8
|
2025-11-17 23:13:56 +01:00 |
|