Irmen de Jong
c2a75aa4d2
Merge branch 'master' into next_compositetypes
...
# Conflicts:
# codeOptimizers/src/prog8/optimizer/ConstExprEvaluator.kt
# codeOptimizers/src/prog8/optimizer/ConstantFoldingOptimizer.kt
# compiler/src/prog8/compiler/astprocessing/StatementReorderer.kt
# compiler/src/prog8/compiler/astprocessing/TypecastsAdder.kt
# compilerAst/src/prog8/ast/antlr/Antlr2Kotlin.kt
# compilerAst/src/prog8/ast/statements/AstStatements.kt
# examples/test.p8
2024-09-14 21:28:00 +02:00
Irmen de Jong
0d3ad80659
retain type of consts better to avoid precision loss
...
this also fixed a difference in const calculation where the result could differ if you were using optimzations or not.
2024-09-14 21:06:21 +02:00
Irmen de Jong
aba1a73e28
actually use any @zp etc tags on subroutine parameters
2024-09-14 17:42:13 +02:00
Irmen de Jong
dca31b2ca3
added gfx_lores module for cx16 for optimized graphics routines for lores 256c screen mode
...
currently contains a new line() routine
2024-09-14 15:30:39 +02:00
Irmen de Jong
0cb378ca31
added emudbg.cpu_cycles() and emudbg.reset_cpu_cycles()
2024-09-13 23:03:14 +02:00
Irmen de Jong
cf551d2cc7
tweak containment check even more
2024-09-13 00:02: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
6be6eb2227
tweak diskio to not always include unused subroutine internal_f_tell() in resulting program
2024-09-11 19:51:53 +02:00
Irmen de Jong
d34015eec5
fix gfx2.fill() vera CTRL corruption
2024-09-11 19:10:45 +02:00
Irmen de Jong
255c5bfaca
improve containment check for few values
2024-09-11 03:24:30 +02:00
Irmen de Jong
01c6754928
get rid of problematic common-subexpression optimization
2024-09-11 01:10:42 +02:00
Irmen de Jong
4a2dcd20d1
fix the "x<2" optimization made a few commits ago to only work on unsigned
2024-09-09 23:06:36 +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
7aec627f6b
add optimization if x==0 or x==1 -> if x<2
2024-09-08 22:39:48 +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
c5b7edad82
added memsizer unit tests
2024-09-08 15:24:47 +02:00
Irmen de Jong
6d2a36fb2b
testcase improvement
2024-09-06 22:51:26 +02:00
Irmen de Jong
28b43b3e1d
added cx16.EXTAPI_kbd_leds definition (new in kernal R48)
2024-09-06 20:47:49 +02:00
Irmen de Jong
f7feaf158d
added cx16.mouse_present() routine to check for presence of mouse
2024-09-06 18:21:13 +02:00
Irmen de Jong
0eac04c220
added cx16/life.p8 example (Conway's game of life)
2024-09-06 15:21:29 +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
5c45adc7f0
graphics module on x16 now uses kernal (R48 or newer) support for drawing circles and ovals
2024-09-05 20:27:12 +02:00
Irmen de Jong
2c2ae64194
replace java Stack by kotlin ArrayDeque
2024-09-02 00:15:28 +02:00
Irmen de Jong
b36e1e3baf
change sprite.hide() : now disables sprite instead of moving it offscreen.
...
added sprite.show() to re-enable it (with z-order 3, as all sprites have by default in this module)
added sprite.zdepth() to set a custom z-depth.
2024-09-01 20:55:43 +02:00
Irmen de Jong
2da35fec17
remove requirement to end subroutine with an EOL, so oneliners are now possible
...
main { sub start() { cx16.r0++ cx16.r1++ } }
2024-09-01 20:55:43 +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
31cf76042d
scope
2024-08-25 15:28:45 +02:00
Irmen de Jong
c4c4dcf2b3
optimizing gfx2.fill() 4 color mode
2024-08-25 15:05:24 +02:00
Irmen de Jong
03145630f8
optimizing gfx2.fill()
2024-08-25 14:26:49 +02:00
Irmen de Jong
e2fcac322f
optimizing gfx2.fill()
2024-08-25 13:51:01 +02:00
Irmen de Jong
beaff4d650
moved non X16 specific variables and vector definitions from cx16 to cbm namespace.
...
This makes the naming consistent with the other cbm-like targets (c64, pet, c128). Only the x16 specific ones remain in the cx16 namespace, such as cx16.KEYHDL
Probably the most impactful is the move of cx16.CINV to cbm.CINV
2024-08-24 20:06:50 +02:00
Irmen de Jong
e439720c9d
optimized string compares
2024-08-24 14:53:18 +02:00
Irmen de Jong
48d0185ea4
increase flood fill stack size a bit
2024-08-23 20:55:30 +02:00
Irmen de Jong
e2592b4e0b
fix possible gfx2 color problem in 2bpp mode
2024-08-23 19:48:23 +02:00
Irmen de Jong
2967866e3d
avoid self-modifying code to be compatible with IRQ handlers
2024-08-23 17:46:23 +02:00
Irmen de Jong
b566ea5c3f
added string.rfind()
2024-08-22 23:22:31 +02:00
Irmen de Jong
8f6eaeac2c
half width katakana conversion
2024-08-21 18:51:34 +02:00
Irmen de Jong
b4facaeb3c
add "kata" string encoding (Katakana)
2024-08-20 21:40:43 +02:00
Irmen de Jong
d12b7ccc6b
fix syslib importing for raw outputs. fixes #144
2024-08-19 13:33:02 +02:00
Irmen de Jong
453e8bd0a0
update kotlin and antlr libs
2024-08-19 12:47:18 +02:00
Irmen de Jong
9204d390ae
correct fetch() signature. fixes #148
2024-08-18 20:04:23 +02:00
Irmen de Jong
0ec719e429
cx16: added a polling pcm streaming example
2024-07-23 21:37:11 +02:00