Irmen de Jong
6a9a82ff9d
doc
2025-06-27 18:14:36 +02:00
markjreed
aa36e6b19f
flesh out C128-specific KERNAL calls ( #170 )
...
* flesh out C128-specific KERNAL calls
* fix: typo in comment
* fix: typo in comment
* fix: include return values of INDCMP
* fix: rearrange return values of INDCMP
2025-06-27 18:13:26 +02:00
Irmen de Jong
51cb6aad50
add c128.PRIMM()
2025-06-27 17:39:31 +02:00
Irmen de Jong
b5d1575823
added boolean typed versions of the cx16.r0-r15 virtual registers
2025-06-18 00:05:10 +02:00
Irmen de Jong
e3e395836d
fix splitting of array decl and initializer for non numeric types
2025-06-13 23:31:56 +02:00
Irmen de Jong
8dc2e47507
fix partial unused code removal in vm target
2025-06-11 23:31:29 +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
e8795859c5
added sorting library for target virtual
...
added sorting routines that sort a values array together with the keys array
optimized gnomesort a little
2025-06-07 19:42:40 +02:00
Irmen de Jong
bebe60b687
fix compiler crash on for x in wordvar, add sys.get_as_returnaddress()
2025-06-05 16:10:40 +02:00
Irmen de Jong
ddceec364e
optimized coroutines library
2025-06-04 21:34:32 +02:00
Irmen de Jong
d067fa4b73
added strings.find_eol()
2025-06-03 21:09:44 +02:00
Irmen de Jong
b5e51ab937
cleaner timings output
2025-06-02 19:30:25 +02:00
Irmen de Jong
15fc3b6c04
replace old antlr2kotlin code with the new visitor-based translator
2025-06-02 01:56:07 +02:00
Irmen de Jong
0456badd02
creating on a new visitor-based antlr to kotlin translator
2025-06-02 01:18:07 +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
341778ba67
added -timings flag
2025-05-30 12:38: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
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
368387e1a7
allow floats to be (explicitly) cast to integers
2025-05-26 21:39:48 +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
3b37b89951
added cx16.joysticks_detect() and cx16.joysticks_getall()
2025-05-23 02:26:21 +02:00
Irmen de Jong
caf1d4a22a
fix monogfx INVERT draw mode
2025-05-22 21:29:23 +02:00
Irmen de Jong
548e421e27
added doublebuffering to monogfx (in both lores and hires mode)
2025-05-22 00:10:03 +02:00
Irmen de Jong
322fa7ea69
slightly optimize monogfx plot()
2025-05-21 01:16:43 +02:00
Irmen de Jong
cf7bea0985
cleanup RTS insertion and ast postprocessing before assembly generation
2025-05-21 00:19:50 +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
435dfbb932
optimize: rewrite suitable when into on..goto
2025-05-13 01:12:58 +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
ea8d17cdb2
optimized the cx16 multi-irq dispatcher used in cx16.enable_irq_handlers()
2025-05-12 23:26:54 +02:00
Irmen de Jong
31c1bf8bc5
added on..goto/call statement
2025-05-11 21:37:44 +02:00
Irmen de Jong
37d4055036
translate newline '\n' to char code 13 in various encodings such as ISO (used to be 10)
...
This means that when printed, such newlines will now properly go to the next line in these encodings too (ISO variants, KATAKANA).
2025-05-11 19:45:24 +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
53e442d509
fix regression in 11.3.1: allow bitwise operation between different types as long as they're the same size.
2025-05-07 23:06:45 +02:00
Irmen de Jong
f7cbfdff06
skip this test for now
2025-05-07 21:14:52 +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
522958e0e9
@dirty variables now actually end up in the uninitialized BSS_NOCLEAR section
2025-05-06 01:41:34 +02:00
Irmen de Jong
7eb079050c
fix strings.hash() on 6502 CPU's. NOTE: now takes string pointer in AY instead of R0 on all platforms
2025-05-01 22:47:43 +02:00
Irmen de Jong
d04164c0a6
fix const evaluation of bitwise logical expressions (&, |, ^, <<, >>) of signed operands
2025-04-30 22:27:31 +02:00
Irmen de Jong
b047731f82
removed some redundant arguments
2025-04-25 23:27:06 +02:00
Irmen de Jong
619dcb6a84
fix error in IR register typing
2025-04-24 20:50:19 +02:00
Irmen de Jong
99ae8ea52e
code cleanup
2025-04-24 18:51:03 +02:00
Irmen de Jong
dc031c30eb
add -version option to just print the compiler version and then exit
2025-04-24 18:13:35 +02:00
Irmen de Jong
8debc42381
slightly stricter assignment type compatibility checking
2025-04-24 15:05:35 +02:00
Irmen de Jong
532d719089
more optimal math.randrange() routines
2025-04-24 04:04:14 +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
a4d0589f10
fix errors like parse error still printed in color when -plaintext is set
2025-04-22 19:26:11 +02:00
Irmen de Jong
e375f6afce
fix diskio.f_read() returning 1 less than the actual size read.
...
fix diskio.f_read_all() more robust error status end of loop checking.
2025-04-21 05:02:16 +02:00
Irmen de Jong
5a7bc04816
update docs about library jump table
2025-04-19 13:49:03 +02:00
Irmen de Jong
bd1894580e
allow floating point value as part of a multi-value return
2025-04-18 22:45:05 +02:00