Irmen de Jong
|
10796c09c7
|
cleanup weiord multi-return type handling more
|
2026-02-24 21:42:44 +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
|
9736ac19d1
|
implementing multiple return values for builtin functions
|
2026-02-22 19:54:21 +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
|
6a0b22bb64
|
implement sqrt(long)
|
2026-02-15 17:11:31 +01:00 |
|
Irmen de Jong
|
d6c8fc0c61
|
alias refactorings
|
2026-02-10 21:08:35 +01:00 |
|
Irmen de Jong
|
7d6e67e251
|
fix numeric type error when comparing undefined symbols
|
2026-02-04 23:55:08 +01:00 |
|
Irmen de Jong
|
c3f9959891
|
fixed invalid replacement in optimization of if-statement.
better replacement errors.
fixes #208
|
2026-01-28 22:58:53 +01:00 |
|
Irmen de Jong
|
ab98f4a5e2
|
fix charset encoding error with merge. Fixes #207
|
2026-01-24 16:13:11 +01:00 |
|
Irmen de Jong
|
9a5edeebbc
|
upgrade to kotlin 2.3.0
|
2026-01-24 00:29:45 +01:00 |
|
Irmen de Jong
|
573702111e
|
attempt at improving compilation speed by caching scopedName
|
2026-01-16 22:46:04 +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
|
77161e0f39
|
avoid separate definitions for list of simple builtin functions
|
2026-01-06 18:19:15 +01:00 |
|
Irmen de Jong
|
23d3fb96b9
|
improved parsing rule of constdecl
|
2026-01-02 23:36:55 +01:00 |
|
Irmen de Jong
|
d9a0f3cb4a
|
add line numbers to certain error messages
|
2025-12-25 22:30:05 +01:00 |
|
Irmen de Jong
|
6871561c09
|
fix parent node error in sizeof()
|
2025-12-01 23:21:14 +01:00 |
|
Irmen de Jong
|
b1ef863c7f
|
make $8000000 a valid long integer (-2147483648)
|
2025-11-26 23:10:59 +01:00 |
|
Irmen de Jong
|
69ef63c96d
|
tweaks
|
2025-11-24 22:23:40 +01:00 |
|
Irmen de Jong
|
afb458a7da
|
fix crash in long address-of
|
2025-11-08 22:24:37 +01:00 |
|
Irmen de Jong
|
da3c7f267f
|
improved identifier const value handling if types differ
|
2025-11-08 20:34:51 +01:00 |
|
Irmen de Jong
|
6611e4e092
|
improve error message
|
2025-11-07 01:22:41 +01:00 |
|
Irmen de Jong
|
bc8ba252a5
|
made Position line, col, endcol all 1-based
added a precise (but slow) back face culling routine to the cobra-mk3 example
|
2025-11-05 00:25:43 +01:00 |
|
Irmen de Jong
|
b02a8ed954
|
strings can no longer be assigned by-value. Use strings.copy() instead. Fixes #189
|
2025-10-31 19:22:40 +01:00 |
|
Irmen de Jong
|
ebc738b132
|
'hack' to allow unsigned long constants such as $ffffffff to be assigned to longs without casts
|
2025-10-20 00:33:40 +02:00 |
|
Irmen de Jong
|
307796f115
|
fixed some bugs in optimizing long values
|
2025-10-12 23:15:42 +02:00 |
|
Irmen de Jong
|
e962431139
|
added bcd.addtol()/subfroml() for in-place long calculations
fix long overflow messages, IR register type error
|
2025-10-12 22:08:10 +02:00 |
|
Irmen de Jong
|
4ed92d71a7
|
remove "@split" tag
The default is to split word arrays. If you need your word array to not be split, use @nosplit on the array.
|
2025-10-05 17:06:21 +02:00 |
|
Irmen de Jong
|
efff74c0f1
|
added sys.pushl() and sys.popl()
|
2025-10-04 03:05:50 +02:00 |
|
Irmen de Jong
|
b3bd2a6a09
|
fixed a bunch of long type handling
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
b058f1c7c2
|
implement mklong(a,b,c,d) and mklong2(w1,w2)
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
97420b28e5
|
preparing to support assignment to indexed pointer targets
|
2025-09-27 11:03:55 +02:00 |
|
Irmen de Jong
|
1467c7039d
|
fix pointer deref ast printer
|
2025-09-27 10:42:55 +02:00 |
|
Irmen de Jong
|
d319badc6c
|
default 0 for long type
|
2025-09-25 21:32:23 +02:00 |
|
Irmen de Jong
|
bfb34dff62
|
fix recursive var decl error in case of some pointer derefs
|
2025-09-22 23:45:59 +02:00 |
|
Irmen de Jong
|
f6c8e693a5
|
add offsetof()
|
2025-09-17 23:30:15 +02:00 |
|
Irmen de Jong
|
ddf6e84a1a
|
fix type checks for wrong pointer types in pointer array initalizer and assignment
|
2025-09-16 21:18:29 +02:00 |
|
Irmen de Jong
|
633d6c34e2
|
add support for struct pointers and short-form initializers in arrays and assignments
|
2025-09-16 20:37:50 +02:00 |
|
Irmen de Jong
|
8b48a295b6
|
allow struct initializers to occur in array literals
|
2025-09-14 18:16:46 +02:00 |
|
Irmen de Jong
|
d285d37fdb
|
fix clobbers syntax in symboldumper
|
2025-09-13 21:47:52 +02:00 |
|
Irmen de Jong
|
8bb927b483
|
fix compiler crash with on..call statement in nested scope
|
2025-09-13 06:44:49 +02:00 |
|
Irmen de Jong
|
1af4cd0d63
|
fix struct initializer error checking
|
2025-09-12 19:55:12 +02:00 |
|
Irmen de Jong
|
79419a98d0
|
add if-expression versions for the conditionals if_cc, if_cs, if_vc etc
|
2025-09-11 01:57:30 +02:00 |
|
Irmen de Jong
|
1c77d5d5e7
|
avoid creating inferredtype instances all the time
|
2025-09-10 20:43:15 +02:00 |
|
Irmen de Jong
|
6de95f7a3b
|
new static struct initializer syntax ^^Node : [1,2,3]
avoids confusion with function calls
|
2025-09-10 13:47:12 +02:00 |
|
Irmen de Jong
|
6c3277e3e3
|
fix more alias bugs
|
2025-09-09 02:28:05 +02:00 |
|
Irmen de Jong
|
d9ff1eb38a
|
fix internal error in on..call
|
2025-09-08 19:30:32 +02:00 |
|
Irmen de Jong
|
08f3abe5bf
|
prefer to put pointer variables into zeropage (add implicit @zp)
|
2025-08-31 17:06:14 +02:00 |
|
Irmen de Jong
|
3ef09d7d9a
|
use LOADFIELD instruction more instead of an extra explicit ADD
add implicit @zp to pointer variables if they don't have a preference
|
2025-08-31 15:53:44 +02:00 |
|
Irmen de Jong
|
4a8d5def84
|
code cleanups, pointer TODOs, docs dark mode
|
2025-08-16 11:25:18 +02:00 |
|
Irmen de Jong
|
2f60716082
|
6502 struct allocation to asm file, struct name and field prefixing (maybe unneeded...)
|
2025-08-16 01:49:22 +02:00 |
|