Irmen de Jong
|
ba6db8f905
|
Merge branch 'master' into next_compositetypes
# Conflicts:
# compiler/src/prog8/compiler/astprocessing/AstChecker.kt
# compiler/src/prog8/compiler/astprocessing/StatementReorderer.kt
# compiler/src/prog8/compiler/astprocessing/VariousCleanups.kt
# compiler/test/TestSubroutines.kt
|
2024-10-12 13:40:39 +02:00 |
|
Irmen de Jong
|
8d9bc2f5ff
|
fixing all sorts of things about assigning arrays to arrays
|
2024-10-12 12:33:46 +02:00 |
|
Irmen de Jong
|
7afd716fab
|
Merge branch 'master' into next_compositetypes
# Conflicts:
# codeCore/src/prog8/code/core/BuiltinFunctions.kt
# compiler/src/prog8/compiler/astprocessing/AstChecker.kt
# examples/test.p8
|
2024-10-08 22:58:26 +02:00 |
|
Irmen de Jong
|
eaa22a9d13
|
added callfar2() builtin function that allows to set A,X,Y and Carry arguments.
|
2024-10-08 21:36:04 +02:00 |
|
Irmen de Jong
|
48268bee3e
|
Merge branch 'master' into next_compositetypes
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/BuiltinFunctionsAsmGen.kt
# compiler/src/prog8/compiler/astprocessing/TypecastsAdder.kt
# examples/test.p8
|
2024-10-02 23:49:45 +02:00 |
|
Irmen de Jong
|
e83d0ee820
|
fix crash in msb() when assigning to word again. Fix wrong register in lsb() and msb() in certain situations.
|
2024-10-02 02:40:16 +02:00 |
|
Irmen de Jong
|
3cf39e072e
|
fix C64 floating point sign issue
|
2024-09-30 21:56:34 +02:00 |
|
Irmen de Jong
|
7ca301e511
|
Merge branch 'master' into next_compositetypes
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/ProgramAndVarsGen.kt
# compilerAst/src/prog8/ast/SymbolDumper.kt
# compilerAst/src/prog8/ast/expressions/AstExpressions.kt
|
2024-09-30 01:53:25 +02:00 |
|
Irmen de Jong
|
a064ade1e0
|
better codegen for call() function
|
2024-09-29 23:18:51 +02:00 |
|
Irmen de Jong
|
df35aa7942
|
added (experimental) compression library
|
2024-09-29 18:59:53 +02:00 |
|
Irmen de Jong
|
cd49c5f88d
|
cx16: set rom bank to 0 at startup (for faster kernal API calls)
cx16: callfar() with constant address generates shorter asm
|
2024-09-28 20:58:29 +02:00 |
|
Irmen de Jong
|
1541ad2160
|
fix variable init order mistake in program startup
reset multiply bit at end of verafx.muls
|
2024-09-28 19:17:45 +02:00 |
|
Irmen de Jong
|
3f630ab1b0
|
RAW output now also properly initializes variables
|
2024-09-27 18:46:03 +02:00 |
|
Irmen de Jong
|
04cb684fd4
|
tweak program start initialization and fix cleanup at exit for atari and pet compiler targets
|
2024-09-27 02:14:54 +02:00 |
|
Irmen de Jong
|
983a202c82
|
Merge branch 'refs/heads/master' into next_compositetypes
# Conflicts:
# compiler/src/prog8/compiler/astprocessing/TypecastsAdder.kt
|
2024-09-24 23:18:32 +02:00 |
|
Irmen de Jong
|
d3e4481112
|
fix asm optimizer bug where it erroneously discarded rts with a label
|
2024-09-22 21:41:41 +02:00 |
|
Irmen de Jong
|
2954f5f04d
|
Add clear_screen and set_screen_mode to gfx_lores. Fix boolean draw vs color param in some monogfx routines. Elaborate some docs.
|
2024-09-17 22:19:47 +02:00 |
|
Irmen de Jong
|
5890a1ca1e
|
Merge branch 'master' into next_compositetypes
# Conflicts:
# examples/test.p8
|
2024-09-14 23:18:38 +02:00 |
|
Irmen de Jong
|
c7b1e8d772
|
fixed a variable scopedname issue where it took the fully scoped name instead of just the local name
this made 64tass not strip out that code if it was unused
|
2024-09-14 23:17:26 +02:00 |
|
Irmen de Jong
|
f45fd517ac
|
fix merge
|
2024-09-12 23:53:36 +02:00 |
|
Irmen de Jong
|
a737547fe9
|
Merge branch 'master' into next_compositetypes
# Conflicts:
# codeCore/src/prog8/code/ast/AstExpressions.kt
# codeCore/src/prog8/code/optimize/Optimizer.kt
# codeGenCpu6502/src/prog8/codegen/cpu6502/ForLoopsAsmGen.kt
# codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/ExpressionGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/IRCodeGen.kt
# codeOptimizers/src/prog8/optimizer/StatementOptimizer.kt
# compiler/src/prog8/compiler/astprocessing/LiteralsToAutoVars.kt
# compiler/src/prog8/compiler/astprocessing/VariousCleanups.kt
# docs/source/todo.rst
# examples/test.p8
|
2024-09-12 23:32:23 +02:00 |
|
Irmen de Jong
|
5986dcdd2f
|
add new containment check codegen for IR
|
2024-09-12 22:04:20 +02:00 |
|
Irmen de Jong
|
255c5bfaca
|
improve containment check for few values
|
2024-09-11 03:24:30 +02:00 |
|
Irmen de Jong
|
8eaf884f69
|
improve codegen for for loops downto 0,1 when start value is not const
|
2024-09-10 23:54:44 +02:00 |
|
Irmen de Jong
|
699a2bb7ab
|
improved codegen for for loops downto 0
|
2024-09-10 21:33:57 +02:00 |
|
Irmen de Jong
|
4e98fb75d6
|
support assigning multiple return flags from asmsub in 6502 codegen
|
2024-09-09 22:56:40 +02:00 |
|
Irmen de Jong
|
8f5d42dbc2
|
more tests and some cleanups/fixes
|
2024-09-08 23:01:49 +02:00 |
|
Irmen de Jong
|
759babb4c1
|
rename back to DataType
|
2024-09-08 22:59:08 +02:00 |
|
Irmen de Jong
|
a1dfcd07a8
|
fixing things
|
2024-09-08 22:58:40 +02:00 |
|
Irmen de Jong
|
5cbf1cd2b1
|
cleanup imports
|
2024-09-08 22:58:36 +02:00 |
|
Irmen de Jong
|
c41dc98936
|
making datatype more capable (subtypes)
|
2024-09-08 22:58:36 +02:00 |
|
Irmen de Jong
|
e80c22275d
|
making datatype more capable (subtypes)
|
2024-09-08 22:58:35 +02:00 |
|
Irmen de Jong
|
74e305b90c
|
making datatype more capable (subtypes)
|
2024-09-08 22:57:49 +02:00 |
|
Irmen de Jong
|
edc5a5a94f
|
improve data driven unit tests to use kotest withData()
|
2024-09-08 16:55:08 +02:00 |
|
Irmen de Jong
|
2396f707c6
|
fix bug in codegen for certain array lookups using word typed index value (i.e. via a pointer variable)
|
2024-09-06 18:11:41 +02:00 |
|
Irmen de Jong
|
29dd758302
|
Fix compiler crash in for loops with just 1 iteration
|
2024-09-05 21:26:46 +02:00 |
|
Irmen de Jong
|
2c2ae64194
|
replace java Stack by kotlin ArrayDeque
|
2024-09-02 00:15:28 +02:00 |
|
Irmen de Jong
|
bdeac74cfc
|
removed the -nostrictbool compiler option
boolean types and bytes are no longer implicitly interchangeable using this option
|
2024-09-01 20:53:39 +02:00 |
|
Irmen de Jong
|
b70ce0015c
|
fix missing opportunities to use TSB instruction
|
2024-07-24 22:51:49 +02:00 |
|
Irmen de Jong
|
c67f877857
|
Codegen: use BIT instruction for memory location bit 7 and 6 tests (use N and V flags)
|
2024-07-24 19:26:54 +02:00 |
|
Irmen de Jong
|
4c98070b3c
|
optimize shifts by 1 by inlining it better
|
2024-07-21 22:08:41 +02:00 |
|
Irmen de Jong
|
3681d6ee1c
|
optimize division by powers of 2 better (into bit shifts)
|
2024-07-21 21:34:38 +02:00 |
|
Irmen de Jong
|
0af17cdc33
|
todo's for division optimizations
|
2024-07-21 20:32:03 +02:00 |
|
Irmen de Jong
|
d18f2a7bfd
|
improved codegen for some pointer+index expressions
|
2024-07-18 23:41:34 +02:00 |
|
Irmen de Jong
|
9046fe8d3a
|
ringbuffer and pointer optimization todo
|
2024-07-16 22:59:31 +02:00 |
|
Irmen de Jong
|
78c7ee247a
|
generate 65c02 TSB/TRB instructions in certain cases
|
2024-07-16 00:36:00 +02:00 |
|
Irmen de Jong
|
484677b4b1
|
Get rid of any() and all() builtin functions.
Replaced by regular subroutines in the anyall module.
|
2024-07-06 18:49:03 +02:00 |
|
Irmen de Jong
|
25f25a8767
|
Get rid of sort() and reverse() builtin functions.
Sort() had too many gotchas and reverse() is kinda redundant you can loop in decreasing order through an array too.
|
2024-07-06 17:07:58 +02:00 |
|
Irmen de Jong
|
43c55b58d2
|
fix register overwriting for certain subroutine call parameter combinations. Fixes #136
|
2024-07-02 23:26:34 +02:00 |
|
Irmen de Jong
|
ead8aa7800
|
asm optimization: bxx+jmp -> opposite bxx
|
2024-06-29 17:22:57 +02:00 |
|