Irmen de Jong
a064ade1e0
better codegen for call() function
2024-09-29 23:18:51 +02:00
Irmen de Jong
4c843571ea
fix syntax error check for missing return statement
2024-09-26 01:52:33 +02:00
Irmen de Jong
b7ebd8c4a6
update cx16/audioroutines example to use the new audio module
2024-09-26 00:08:25 +02:00
Irmen de Jong
e29ff1c848
fix name redefinition check for multi-declarations
2024-09-20 19:55:32 +02:00
Irmen de Jong
5cda750e5e
improve error message for undefined symbol in when choices
2024-09-18 23:00:03 +02:00
Irmen de Jong
255c5bfaca
improve containment check for few values
2024-09-11 03:24:30 +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
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
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
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
8f6eaeac2c
half width katakana conversion
2024-08-21 18:51:34 +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
0ec719e429
cx16: added a polling pcm streaming example
2024-07-23 21:37:11 +02:00
Irmen de Jong
17f7b11148
tweaks cx16 sample streaming example, also added a new one
2024-07-23 02:10:05 +02:00
Irmen de Jong
966b017670
tweaks
2024-07-22 18:20:01 +02:00
Irmen de Jong
2aae1f5e30
stricter checks for negative array indexing
2024-07-20 22:37:03 +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
ddf990296b
fix subroutine inlining symbol scope error
2024-06-29 18:53:54 +02:00
Irmen de Jong
4f8aaf9244
some tweaks and todos
2024-06-26 21:22:40 +02:00
Irmen de Jong
54bffc91ae
properly generate PUSH and POP instructions for push() and pop() calls in IR.
...
Also switch to a fork of shadowJar to avoid Gradle deprecation errors.
2024-06-25 22:39:20 +02:00
Irmen de Jong
034f27a8dd
added queens example, update kotest lib
2024-06-19 23:57:43 +02:00
Irmen de Jong
c9a4235669
update to kotlin 2.0, fix several code style issues
2024-06-04 01:00:46 +02:00
Irmen de Jong
8973763866
Fix line endings conversion errors on windows builds
2024-06-04 00:12:12 +02:00
Irmen de Jong
af64af2397
explain integer math sin/cos routines better
2024-05-29 19:48:27 +02:00
Irmen de Jong
1feead2260
tweaks
2024-05-29 02:30:06 +02:00
Irmen de Jong
62afd3342e
void syntax check, fixes #135
2024-05-18 17:15:31 +02:00
Irmen de Jong
2675623aea
fix optimization ast parent linkage problem
2024-04-16 23:27:22 +02:00
Irmen de Jong
94263c43d0
added cx16/vumeter example
2024-04-16 22:48:36 +02:00
Irmen de Jong
5d7ddebcad
fix bool to uword cast in 6502 codegen
2024-04-11 00:34:53 +02:00
Irmen de Jong
2aae46d632
added -dumpsymbols option to print a dump of all the variables and subroutine signatures
2024-04-09 19:19:13 +02:00
Irmen de Jong
6ed9899dc7
smarter desugaring of ubyte x,y
2024-04-07 23:36:46 +02:00
Irmen de Jong
ddb8346711
added txt.cls() as a shorter alternative to clear_screen().
...
cx16: added new character encodings, and routines in textio to enable the character sets for them.
cx16: added txt.chrout_lit() and txt.print_lit() to always print the literal characters and never as control codes
2024-04-07 19:32:44 +02:00
Irmen de Jong
cfe3fcc9e7
fix symbol table issue
2024-04-06 12:53:33 +02:00
Irmen de Jong
66a6659a6e
cbm.STOP2() and cbm.GETIN2() convenience routines
2024-04-06 02:16:21 +02:00
Irmen de Jong
641f6c05d8
allow 'void' as dummy assign target in multi-assignment statements
2024-03-31 23:43:26 +02:00
Irmen de Jong
3e34a3ef72
allow multi-assign to skip any status register result
2024-03-29 23:10:08 +01:00
Irmen de Jong
4700a239b9
Merge branch 'master' into multi-assign
...
# Conflicts:
# docs/source/todo.rst
# examples/test.p8
2024-03-28 01:06:43 +01:00
Irmen de Jong
b93fa75377
consolidate cbm textio routines
2024-03-28 00:39:58 +01:00
Irmen de Jong
56c1035581
Merge branch 'master' into multi-assign
...
# Conflicts:
# docs/source/todo.rst
# examples/test.p8
2024-03-26 22:09:16 +01:00
Irmen de Jong
ba1e907c79
fix divmod; out args are written to and should be potential constants
2024-03-26 22:04:44 +01:00
Irmen de Jong
993be6394e
unit tests multi-assigns
2024-03-25 23:20:03 +01:00
Irmen de Jong
edc83305a4
allow multiple targets in AssignTarget
2024-03-22 21:51:08 +01:00
Irmen de Jong
ad4880997a
no operand swap on logical expressions with shortcircuit evaluation (and,or are no longer associative!)
2024-03-20 22:34:48 +01:00
Irmen de Jong
04df3c9f7f
vm: implemented in-place array multiplication better
2024-03-17 13:39:05 +01:00
Irmen de Jong
de3d0b40dc
fixed vm problem with branching instructions in global init chunk
2024-03-17 13:22:17 +01:00