Irmen de Jong
|
9a9bf170c6
|
Merge branch 'master' into structs
|
2025-07-06 23:17:00 +02:00 |
|
Irmen de Jong
|
7dd64b4f13
|
fix 'cpa' instruction generated in certain boolean assignment, must be 'cmp'
|
2025-07-06 22:43:19 +02:00 |
|
Irmen de Jong
|
e14c3f8b59
|
code cleanups
|
2025-07-06 00:52:37 +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
|
12abafb917
|
Merge branch 'master' into structs
# Conflicts:
# docs/source/todo.rst
# examples/test.p8
# gradle.properties
|
2025-06-12 00:11:58 +02:00 |
|
Irmen de Jong
|
daf7c3357c
|
better detection of missing return statement
preparing 11.4
|
2025-06-09 16:01:56 +02:00 |
|
Irmen de Jong
|
f8f20440d3
|
allow pointer to be treated as uword value in augmented assignments
|
2025-06-03 21:33:35 +02:00 |
|
Irmen de Jong
|
d5cc414221
|
Merge branch 'master' into structs
# Conflicts:
# codeOptimizers/src/prog8/optimizer/StatementOptimizer.kt
# compiler/src/prog8/compiler/astprocessing/CodeDesugarer.kt
# compilerAst/src/prog8/ast/antlr/Antlr2Kotlin.kt
# examples/test.p8
|
2025-06-02 20:52:50 +02:00 |
|
Irmen de Jong
|
552e55c29f
|
fix missing cmp #0 when asmsub call is part of a boolean expression
|
2025-06-02 19:22:00 +02:00 |
|
Irmen de Jong
|
a228908c1a
|
fix wrong address calculation for &wordarray[i] where i is a variable
|
2025-06-02 03:13:23 +02:00 |
|
Irmen de Jong
|
d28f154f1c
|
Merge branch 'master' into structs
# Conflicts:
# examples/test.p8
# parser/src/main/antlr/Prog8ANTLR.g4
|
2025-06-01 17:53:41 +02:00 |
|
Irmen de Jong
|
a87f2640d3
|
fixed signed byte comparisons in case of overflowing values
|
2025-06-01 14:01:25 +02:00 |
|
Irmen de Jong
|
a90ef274d7
|
fix word*128 codegen.
added cx16/landscape.p8 example that draws procedurally generated landscapes.
found bug in signed byte comparisons with overflow.
|
2025-05-31 05:27:19 +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
|
34bedbeef1
|
optimize byte modulus (%) routine with repeated subtraction instead of using full division
|
2025-05-29 13:26:04 +02:00 |
|
Irmen de Jong
|
09d2185bb1
|
PtArrayIndexer variable is now nullable (because it could be a ptr deref instead)
|
2025-05-25 23:04:32 +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
|
cc063124cf
|
add joystick control to cx16 fileselector.
fix fileselector Basic exasmple.
fixed too aggressive asm peephole optimization that destroyed %jumptable in libraries for example.
|
2025-05-23 17:50:11 +02:00 |
|
Irmen de Jong
|
50650b966b
|
repeat countervars again in zeropage if possible, fix pointer arithmetic error
|
2025-05-17 14:18:56 +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
|
38448e471c
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/ForLoopsAsmGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/IRCodeGen.kt
# examples/test.p8
|
2025-05-13 23:42:13 +02:00 |
|
Irmen de Jong
|
67231af623
|
fix forloop codegen over non-split word arrays of length >= 64 elements
|
2025-05-13 23:32:26 +02:00 |
|
Irmen de Jong
|
09d188106a
|
different temp var mechanism for certain array expression, remove old tmpvar mechanism.
|
2025-05-13 21:12:10 +02:00 |
|
Irmen de Jong
|
d8e2116481
|
different temp var mechanism for for loops, and pokef()
|
2025-05-13 21:06:33 +02:00 |
|
Irmen de Jong
|
ba93966474
|
optimize codegen: shortcut redundant jumps in when statement
|
2025-05-13 00:35:22 +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 |
|
Irmen de Jong
|
e5d9af75de
|
remove double bra/jmp
|
2025-05-11 23:01:13 +02:00 |
|
Irmen de Jong
|
31c1bf8bc5
|
added on..goto/call statement
|
2025-05-11 21:37:44 +02:00 |
|
Irmen de Jong
|
0a3c748e41
|
fix code gen bug for certain goto array[idx]
|
2025-05-11 17:18:20 +02:00 |
|
Irmen de Jong
|
ebf79ef9e2
|
release 11.3.2
|
2025-05-11 12:30:36 +02:00 |
|
Irmen de Jong
|
246e4f35a6
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/ExpressionGen.kt
# compiler/test/ast/TestConst.kt
# docs/source/todo.rst
# examples/test.p8
|
2025-05-10 16:36:16 +02:00 |
|
Irmen de Jong
|
99b9370178
|
fix various bugs around word-indexing combined with address-of: &buffer[2000]
|
2025-05-10 16:22:05 +02:00 |
|
Irmen de Jong
|
8353c689ca
|
start making '&' (address-of) return a typed pointer, fixes some errors
|
2025-05-08 23:40:41 +02:00 |
|
Irmen de Jong
|
134352ed7c
|
Merge branch 'master' into structs
# Conflicts:
# compiler/test/TestTypecasts.kt
# docs/source/todo.rst
# examples/test.p8
# virtualmachine/src/prog8/vm/VmProgramLoader.kt
|
2025-05-07 22:32:41 +02:00 |
|
Irmen de Jong
|
b28ee0819f
|
revert behavior change of @dirty variables, instead document the initialization behavior correctly in the docs
they get zeroed at program startup (like other uninitialized BSS variables), just not on entry in the subroutine.
|
2025-05-07 21:07:12 +02:00 |
|
Irmen de Jong
|
701f155951
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/ProgramAndVarsGen.kt
# compiler/test/TestSymbolTable.kt
# docs/source/todo.rst
# examples/test.p8
# intermediate/src/prog8/intermediate/IRFileReader.kt
# intermediate/src/prog8/intermediate/IRFileWriter.kt
# intermediate/src/prog8/intermediate/IRSymbolTable.kt
# simpleAst/src/prog8/code/SymbolTable.kt
# simpleAst/src/prog8/code/SymbolTableMaker.kt
# virtualmachine/src/prog8/vm/VmProgramLoader.kt
|
2025-05-06 17:59:36 +02:00 |
|
Irmen de Jong
|
522958e0e9
|
@dirty variables now actually end up in the uninitialized BSS_NOCLEAR section
|
2025-05-06 01:41:34 +02:00 |
|
Irmen de Jong
|
0e0377d1f0
|
IR/VM implemented struct allocations and initialization
|
2025-05-04 14:04:44 +02:00 |
|
Irmen de Jong
|
55e0dbab27
|
preparing for statically allocating struct instances
|
2025-05-03 23:44:29 +02:00 |
|
Irmen de Jong
|
40952a788a
|
PtSub: params and returns now as children (in PtSignature node) for easier Ast walking
PtPointerDeref: same but for its start identifier
|
2025-05-02 00:41:42 +02:00 |
|
Irmen de Jong
|
0162e7a0c1
|
fix the scoping problems on subtypes
|
2025-05-02 00:41:42 +02:00 |
|
Irmen de Jong
|
b920d553a0
|
make address-of dereference work
|
2025-05-02 00:41:42 +02:00 |
|
Irmen de Jong
|
e328520588
|
initial struct and typed pointer support
|
2025-05-02 00:41:40 +02:00 |
|
Irmen de Jong
|
99ae8ea52e
|
code cleanup
|
2025-04-24 18:51:03 +02:00 |
|
Irmen de Jong
|
b40860aca4
|
get rid of RTS after JMP
|
2025-04-23 17:08:16 +02:00 |
|
Irmen de Jong
|
2cbe6b5f7f
|
info message when more optimal goto array[idx] is possible
|
2025-04-23 16:59:18 +02:00 |
|
Irmen de Jong
|
d2cc7ccdfa
|
remove redundant variable=0 initializations (BSS clear takes care of them)
|
2025-04-23 14:45:38 +02:00 |
|
Irmen de Jong
|
2cb183c6d8
|
fix regression for goto array[idx] on 6502 cpu which doesn't have jmp (ptr,x)
|
2025-04-23 02:56:10 +02:00 |
|
Irmen de Jong
|
84026b105f
|
smaller code for goto nosplitptrarray[index]
|
2025-04-22 20:01:16 +02:00 |
|