Irmen de Jong
|
652da4c692
|
fix some (not all) problems with directly returning multivalue returncalls
|
2026-03-15 22:33:17 +01:00 |
|
Irmen de Jong
|
e61328b6d6
|
update Java dependency to 17, update results library version
|
2026-03-14 00:04:11 +01:00 |
|
Irmen de Jong
|
01748517ae
|
most often used long-copies now done with shorter loop instead of unrolled lda/sta
|
2026-03-13 21:21:38 +01:00 |
|
Irmen de Jong
|
3890191981
|
implement missing mul_long routine for long-long multiplication support
|
2026-03-13 20:32:42 +01:00 |
|
Irmen de Jong
|
c20e5b788b
|
implement missing square_long routine
improve agents system prompt file
|
2026-03-13 18:21:47 +01:00 |
|
Irmen de Jong
|
04910ffbc0
|
add enum syntax (sugar for list of const decls)
|
2026-03-10 20:33:43 +01:00 |
|
Irmen de Jong
|
1ad9e0fc46
|
implement missing struct field array indexing and faulty pointer dereferencing
|
2026-03-08 02:43:52 +01:00 |
|
Irmen de Jong
|
d03e49a92f
|
implemented 6502 long loops with step >1
|
2026-03-01 03:13:54 +01:00 |
|
Irmen de Jong
|
62c5b531c5
|
implemented 6502 long loops with step 1 or -1
|
2026-03-01 02:06:18 +01:00 |
|
Irmen de Jong
|
859a02fb0a
|
adding profiling instrumentation support
|
2026-02-27 22:41:42 +01:00 |
|
Irmen de Jong
|
2a53dbc1f3
|
tweaks
|
2026-02-27 01:56:55 +01:00 |
|
Irmen de Jong
|
63cba4825a
|
doc tweaks
|
2026-02-26 01:44:36 +01:00 |
|
Irmen de Jong
|
08e3652924
|
sgn() can look directly at msb if arg is a variable
|
2026-02-24 22:11:50 +01:00 |
|
Irmen de Jong
|
bdbdf6e5cd
|
add lmh(longvalue) builtin function that returns the low, mid, hi (=bank) bytes of a long
symboldumps now also contain the builtin functions
|
2026-02-23 21:30:39 +01:00 |
|
Irmen de Jong
|
1b5dd980df
|
optimize result register cases for mklong() and mkword()
|
2026-02-23 02:07:43 +01:00 |
|
Irmen de Jong
|
f6b59c6832
|
optimize some result register cases for peekw()
|
2026-02-23 00:54:12 +01:00 |
|
Irmen de Jong
|
fe8d904792
|
fixing result register assignment from builtin functions
|
2026-02-22 19:54:21 +01:00 |
|
Irmen de Jong
|
9736ac19d1
|
implementing multiple return values for builtin functions
|
2026-02-22 19:54:21 +01:00 |
|
Irmen de Jong
|
093be9f2dd
|
sys.push(), sys.pop() etc etc are now builtin functions again push() pop() to avoid storing value in temporary variables
this means that all of the syslib.p8 library files no longer contain all those stack related asmsubs
|
2026-02-21 02:11:34 +01:00 |
|
Irmen de Jong
|
2613d45cd5
|
swap() is now a statement instead of a builtin function call
|
2026-02-17 20:56:21 +01:00 |
|
Irmen de Jong
|
74ca190ce0
|
long args call convention is to pass via parameter variable not R14R15
|
2026-02-15 17:36:09 +01:00 |
|
Irmen de Jong
|
6a0b22bb64
|
implement sqrt(long)
|
2026-02-15 17:11:31 +01:00 |
|
Irmen de Jong
|
07be7f0154
|
fix long argument @R0R1 register usage in regular subroutines
|
2026-02-15 14:54:47 +01:00 |
|
Irmen de Jong
|
b9a6deea25
|
implement ror / rol on ptr expressions
|
2026-02-08 21:20:13 +01:00 |
|
Irmen de Jong
|
ed02b84f7d
|
micro optimization for containment checks in compiler
|
2026-02-06 02:43:12 +01:00 |
|
Irmen de Jong
|
ee492a1e9a
|
some more optimized swap() code paths
|
2026-01-28 00:07:10 +01:00 |
|
Irmen de Jong
|
b2983e912d
|
swap longs now uses R14+R15 as temporary storage instead of R0+R1
|
2026-01-25 17:02:47 +01:00 |
|
Irmen de Jong
|
10ae42ed59
|
suggest import for undefined block symbols, update github links
|
2026-01-25 05:45:33 +01:00 |
|
Irmen de Jong
|
4661d3bada
|
implement simple array element swap()
|
2026-01-24 18:41:25 +01:00 |
|
Irmen de Jong
|
b99b054a09
|
cx16: add missing extapi16 call numbers
tweak swap(long,long) and swap(ptr^^, ptr^^)
|
2026-01-24 11:51:42 +01:00 |
|
Irmen de Jong
|
9a5edeebbc
|
upgrade to kotlin 2.3.0
|
2026-01-24 00:29:45 +01:00 |
|
Irmen de Jong
|
2e0db6f211
|
add swap() builtin for optimized value swaps without the need for a temporary variable
|
2026-01-23 23:17:10 +01:00 |
|
Irmen de Jong
|
4971ebd41f
|
pet32: added floats support!
|
2026-01-18 23:32:19 +01:00 |
|
Irmen de Jong
|
a385412e70
|
smaller floats.internal_long_to_float()
|
2026-01-17 20:38:30 +01:00 |
|
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
|
620793011e
|
way faster long to float conversion routine, fixes #202
|
2026-01-13 22:55:37 +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
|
b51e116b63
|
optimize expression: uwordvar + 256 and variants to only manipulate msb
|
2026-01-10 22:50:33 +01:00 |
|
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 |
|