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
|
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
|
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
|
9827be0047
|
optimize sgn(integer) comparisons
|
2026-01-05 18:33:26 +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
|
18ba25d6a4
|
IR: optimize double ADD/SUB
|
2026-01-02 20:24:35 +01:00 |
|
Irmen de Jong
|
2290308e06
|
fix invalid 6502 instructions in math.diff. Fixes #203
|
2026-01-02 01:08:50 +01:00 |
|
Irmen de Jong
|
82693cc3ee
|
optimized lsb(msb(longvar)) which grabs the bank byte from a long
|
2026-01-01 21:39:34 +01:00 |
|
Irmen de Jong
|
50b8cae519
|
sys.save_prog8_internals() now also correctly saves the SCRATCH_PTR temp var. Moved a bunch of common sys routines into separate shared_sys_functions.p8 module file
|
2025-12-31 12:10:04 +01:00 |
|
Irmen de Jong
|
3a74931a61
|
c128: added c128.fast() and c128.slow() to enable/disable the CPU's 2 MHz mode.
Also added c128.is80(), set80(), set40() to check and set 40/80 column screen mode
|
2025-12-30 23:53:58 +01:00 |
|
Irmen de Jong
|
d386343fe7
|
fix romable error check for arrays
|
2025-12-30 02:26:01 +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
|
71b66f506d
|
fix asmsub register order crash when using longs + something else
|
2025-12-28 01:08:10 +01:00 |
|
Irmen de Jong
|
28d087b8b4
|
psg2 tweaks
|
2025-12-27 17:47:40 +01:00 |
|
Irmen de Jong
|
d9ffb10eb5
|
added psg2 module (cx16 only)
|
2025-12-25 01:22:38 +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
|
45ad0911df
|
emudbg.cpu_cycles() now returns a long type instead of 2 separate words
|
2025-12-23 02:02:34 +01:00 |
|
Irmen de Jong
|
946def4613
|
IR: fix call() / CALLI return value handling
|
2025-12-23 00:39:14 +01:00 |
|
Irmen de Jong
|
3000c399bd
|
cx16: add support for VIA timer IRQ in the irq routines
|
2025-12-22 21:37:09 +01:00 |
|
Irmen de Jong
|
a50eebb369
|
fixed the balls example to also work on the monochrome pet32 target
|
2025-12-21 22:27:54 +01:00 |
|
Irmen de Jong
|
b6f4f2adb7
|
c64+c128: improved speed of txt.setchr and txt.getchr
|
2025-12-21 22:23:17 +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
|
0217d05c68
|
IR: loadfield/storefield now accept offsets up to 65535
|
2025-12-16 14:56:11 +01:00 |
|
Irmen de Jong
|
d157d03ea0
|
IR: optimize load+add+load into single loadm with offset (also store)
update gradle wrapper to 9.2.0
|
2025-12-16 12:17:52 +01:00 |
|
Irmen de Jong
|
1799b5f00c
|
updated bundled zsmkit version to 2.8
|
2025-12-15 18:41:28 +01:00 |
|
Irmen de Jong
|
3aa8b9fd12
|
turn prefix - numbers into negative numbers asap to avoid type problems later
|
2025-12-13 01:13:52 +01:00 |
|