Irmen de Jong
6a70fb0480
deal with invalid sqrt results (negative argument), allow sqrt of longs (like floats)
2025-10-21 21:01:03 +02:00
Irmen de Jong
68066acdec
changed (and fixed) msb(long) and lsb(long)
2025-10-13 21:34:03 +02:00
Irmen de Jong
307796f115
fixed some bugs in optimizing long values
2025-10-12 23:15:42 +02:00
Irmen de Jong
dfc720557c
fix some more long hex value comparisons
2025-10-12 04:40:50 +02:00
Irmen de Jong
598e70c49a
allow negative values on poke and pokew without an explicit cast
2025-10-11 16:39:36 +02:00
Irmen de Jong
53ce688cc5
fix pointer type check for R0-R15 subroutine arg
2025-10-10 00:54:52 +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
3e1386a987
remove the -dontsplitarrays compiler option
...
it was still there for backward compatibility reasons with really old prog8 code. If you need a word array to be not split, just use @nosplit on the array.
2025-10-05 14:44:29 +02:00
Irmen de Jong
8abdb837b2
fix long equality comparisons
2025-10-04 17:21:39 +02:00
Irmen de Jong
f9b0bfe31b
implement rol() and ror() on longs (also rol2 and ror2 and abs)
2025-10-03 01:22:24 +02:00
Irmen de Jong
e0107bacbd
implement long << >> expressions
2025-10-03 01:22:24 +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
3e07b6ca70
adding long arrays
2025-10-03 01:22:24 +02:00
Irmen de Jong
d66dc664de
work on longs
2025-10-03 01:22:24 +02:00
Irmen de Jong
a611406020
IR: add compilerversion attribute to p8ir file
2025-09-30 22:07:04 +02:00
Irmen de Jong
f6c8e693a5
add offsetof()
2025-09-17 23:30:15 +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
28df08eea8
introduce P8ZP_SCRATCH_PTR temporary zp pointer to avoid clobbering W1,W2
2025-09-01 23:56:31 +02:00
Irmen de Jong
8e53c83844
optimize certain ptr+value expression on 6502
2025-08-24 05:46:49 +02:00
Irmen de Jong
4a8d5def84
code cleanups, pointer TODOs, docs dark mode
2025-08-16 11:25:18 +02:00
Irmen de Jong
44285b9b5d
more basic pointer inplace operations
2025-08-06 00:32:15 +02:00
Irmen de Jong
a68f477d61
Merge branch 'master' into structs6502
...
# Conflicts:
# docs/source/todo.rst
# examples/test.p8
2025-08-05 23:29:58 +02:00
Irmen de Jong
9e85571a7b
fix pointer variable usage detection in other block
2025-08-05 17:39:22 +02:00
Irmen de Jong
6bd7752bac
working on 6502 pointer dereferencing
2025-08-04 20:22:13 +02:00
Irmen de Jong
4a1d05dd46
first 6502 codegen results
2025-08-03 16:10:00 +02:00
Irmen de Jong
c39d570b72
make more use of ISubType interface itself rather than casting it to StructDecl all the time
2025-07-29 22:59:31 +02:00
Irmen de Jong
1c9c5aeef7
todos
2025-07-28 23:29:18 +02:00
Irmen de Jong
82267b3f56
Merge branch 'master' into structs
...
# Conflicts:
# compiler/test/codegeneration/TestVariables.kt
# docs/source/_static/symboldumps/skeletons-c128.txt
# docs/source/_static/symboldumps/skeletons-c64.txt
# docs/source/_static/symboldumps/skeletons-cx16.txt
# docs/source/_static/symboldumps/skeletons-pet32.txt
# docs/source/_static/symboldumps/skeletons-virtual.txt
# docs/source/todo.rst
# examples/test.p8
2025-07-26 12:43:13 +02:00
Irmen de Jong
11186f1dbe
make sure that the virtual target -emu (vm) only runs the actual .p8ir file ( fixes #172 )
...
added emudbg.console_nl()
2025-07-26 11:19:01 +02:00
Irmen de Jong
8ede098154
fix pointer array initialization
2025-07-06 19:42:54 +02:00
Irmen de Jong
e14c3f8b59
code cleanups
2025-07-06 00:52:37 +02:00
Irmen de Jong
54d41b7f6f
fixed a[i]^^
2025-07-05 23:54:08 +02:00
Irmen de Jong
2119817e4a
Merge branch 'master' into structs
2025-06-24 21:14:53 +02:00
Irmen de Jong
be31e190d2
shuffle arguments of 64tass command so the additional assembler options from custom targets actually work
2025-06-19 22:33:50 +02:00
Irmen de Jong
49a4d9ba37
allow str as struct field type (^^ubyte) and strings in struct initializers
2025-06-15 00:29:59 +02:00
Irmen de Jong
37ecdc47b3
allow ptr1^^ = ptr^^ (replaces it with memcopy)
2025-05-29 16:34:47 +02:00
Irmen de Jong
112ca3cc53
allow sizeof(&thing), add sys.SIZEOF_POINTER
2025-05-29 15:58:29 +02:00
Irmen de Jong
8a0c02e264
Merge branch 'refs/heads/master' into structs
...
# Conflicts:
# codeCore/src/prog8/code/target/NormalMemSizer.kt
# codeCore/src/prog8/code/target/VMTarget.kt
# compiler/src/prog8/compiler/BuiltinFunctions.kt
# compilerAst/src/prog8/ast/antlr/Antlr2Kotlin.kt
# examples/test.p8
2025-05-29 13:42:16 +02:00
Irmen de Jong
3b1b0985c1
make sizeof(float) work, so you don't have to use sys.SIZEOF_FLOAT anymore etc.
...
define sys.SIZEOF_FLOAT in terms of sizeof(float)
2025-05-29 12:38:03 +02:00
Irmen de Jong
23a853db1e
Merge branch 'master' into structs
...
# Conflicts:
# compiler/src/prog8/compiler/astprocessing/AstChecker.kt
# examples/test.p8
2025-05-23 19:00:59 +02:00
Irmen de Jong
9da430ffeb
vm: more complete V-flag handling. somd doc and todo updates.
2025-05-23 18:58:14 +02:00
Irmen de Jong
f70341df1b
fix ptr errors
2025-05-19 20:06:31 +02:00
Irmen de Jong
adf5600a9b
simplify
2025-05-18 18:37:19 +02:00
Irmen de Jong
65e34d4989
stricter types for & operator (address-of), and fix invalid recursive subroutine flagging related to struct definition
2025-05-17 11:32:54 +02:00
Irmen de Jong
1a69a2f1bc
fix some ptr vs uword type checks
2025-05-16 20:31:15 +02:00
Irmen de Jong
435faafaad
fix split-word storage (lsb/msb) of arrays of pointers
2025-05-16 17:53:15 +02:00
Irmen de Jong
0e64a22910
tweak address-of types
2025-05-16 17:53:15 +02:00
Irmen de Jong
913ab03963
get rid of invalid ARRAY_STRUCT data type (arrays of struct instance are not yet supported)
2025-05-14 20:43:00 +02:00
Irmen de Jong
924e28e9b3
Merge branch 'master' into structs
...
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/AsmGen.kt
# compiler/src/prog8/compiler/astprocessing/CodeDesugarer.kt
# compiler/src/prog8/compiler/astprocessing/SimplifiedAstMaker.kt
# compilerAst/src/prog8/ast/AstToSourceTextConverter.kt
# compilerAst/src/prog8/ast/antlr/Antlr2Kotlin.kt
# compilerAst/src/prog8/ast/walk/AstWalker.kt
# compilerAst/src/prog8/ast/walk/IAstVisitor.kt
# docs/source/todo.rst
# examples/test.p8
# parser/src/main/antlr/Prog8ANTLR.g4
2025-05-11 23:23:06 +02:00