Irmen de Jong
189399d5f8
update to kotlin 2.1.0
2024-11-28 03:49:07 +01:00
Irmen de Jong
5406a992f5
improved buffers library, added to docs
2024-11-28 03:30:32 +01:00
Irmen de Jong
bc9683cc54
add compression.decode_rle_vram() to decompress RLE data directly to X16's VRAM.
...
Document the compression library.
2024-11-26 02:06:35 +01:00
Irmen de Jong
2eed75f602
call convention for @Rx parameters, also use cpu registers if possible, like normal parameters
2024-11-25 22:22:24 +01:00
Irmen de Jong
d58f9f56c4
tests for register args for normal subs
...
some warnings demoted into infos
2024-11-24 19:21:45 +01:00
Irmen de Jong
2e35f3c3a3
code check cleanups
2024-11-24 16:14:22 +01:00
Irmen de Jong
5c6bd9c091
register params support for normal subroutines
2024-11-24 15:56:54 +01:00
Irmen de Jong
857d2eefca
added floats.interpolate(), math.interpolate(), and LERP example
2024-11-24 10:00:21 +01:00
Irmen de Jong
90f1e7fd6a
ast printing fixes, added alias to syntax files
2024-11-24 07:28:33 +01:00
Irmen de Jong
18e37accf9
improve detection of register re-use in parameters
2024-11-24 05:27:43 +01:00
Irmen de Jong
cc53d698bf
added msw() and lsw() builtin functions (experimental)
2024-11-24 03:53:37 +01:00
Irmen de Jong
cb86206698
added unary ^ and << operators (experimental) (gets bank and address of a long integer)
2024-11-24 03:07:18 +01:00
Irmen de Jong
d77b1944fb
rename bnk()
to bankof()
2024-11-24 00:53:09 +01:00
Irmen de Jong
a58cb43c4a
fixed weird error messages when attempting to create variable with type long
2024-11-23 21:35:57 +01:00
Irmen de Jong
88574c87c4
convert vtui and zsmkit to new extsub address expression capability
2024-11-23 21:21:52 +01:00
Irmen de Jong
3a7a7091c0
update some docs
2024-11-23 21:01:18 +01:00
Irmen de Jong
906b137a7c
renamed 'string' module to 'strings' for consistency
2024-11-23 15:51:38 +01:00
Irmen de Jong
42e2c5f605
fix some deprecated code in tests
...
silence redundant error about unused txt block
2024-11-23 15:48:18 +01:00
Irmen de Jong
cc13a51493
fix import order problem related to %option merge
2024-11-23 12:15:15 +01:00
Irmen de Jong
f569ce6141
setting a byte >=128 or word >=32768 now results in an out-of-range error, instead of an invalid casted value
2024-11-22 21:24:04 +01:00
Irmen de Jong
4958463e75
moved floats.MIN/MAX to sys.MIN_FLOAT/MAX_FLOAT
...
added txt.print_f as alias to floats.print
2024-11-22 00:46:23 +01:00
Irmen de Jong
2360625927
added min/max values for the various integer types as sys.MAX_XXX and sys.MIN_XXX
...
renamed sys.sizeof_xxx into sys.SIZEOF_XXX to be consistent with the uppercasing of the other constants
2024-11-21 23:25:02 +01:00
Irmen de Jong
8badc40883
added several float limits contants such as floats.EPSILON, E, MIN, MAX
...
fix VM float min max limits
2024-11-21 23:25:02 +01:00
Irmen de Jong
844c97930f
fix Antlr grammar build and convert final build.gradle to build.gradle.kts (kotlin DSL)
2024-11-20 23:23:26 +01:00
Irmen de Jong
5c09dc10ae
convert build.gradle to build.gradle.kts (kotlin DSL)
2024-11-20 23:23:26 +01:00
Irmen de Jong
9fd9e9ab5f
change block sort order so that blocks with address are now sorted last
2024-11-20 23:23:26 +01:00
Irmen de Jong
35c477b5a6
Make extsub address a (constant) expression instead of a numeric literal
...
this makes it easier to define API jump tables
2024-11-20 23:23:26 +01:00
Irmen de Jong
ae0cadb383
added bnk() builtin function
2024-11-20 23:23:21 +01:00
Irmen de Jong
984230e8fa
removed txt.VERA_TEXTMATRIX_BANK/VERA_TEXTMATRIX_ADDR it's now just txt.VERA_TEXTMATRIX (long const)
2024-11-20 23:22:56 +01:00
Irmen de Jong
a874aec6a1
implementing const long
2024-11-20 23:22:56 +01:00
Irmen de Jong
ea1daa97d3
remove the 'addmissingrts' compiler option
2024-11-20 23:22:56 +01:00
Irmen de Jong
fb0d9b46b0
remove 'romsub' as a recognised alternative for 'extsub'
2024-11-20 23:22:56 +01:00
Irmen de Jong
9da70bdf05
simplify ReturnConvention a little
2024-11-20 23:22:56 +01:00
Irmen de Jong
d640cfbe13
removed BuiltinFunctionCallStatement redundant ast node type
2024-11-20 23:22:56 +01:00
Irmen de Jong
51a05ec4b7
removed BuiltinFunctionCall redundant ast node type
2024-11-20 23:22:56 +01:00
Irmen de Jong
1f5706bbeb
version 10.5.1
2024-11-20 22:54:26 +01:00
Irmen de Jong
25c9b2fea4
remove an archaic machine code monitor bank setting at program exit
...
what did it even do? in any case, $2d is just a user zero page location it should no longer be associated with the monitor nowadays.
2024-11-20 19:28:31 +01:00
Irmen de Jong
154f9b300f
fix crash: byte c = if a < b -1 else 1 "both values should be the same type"
2024-11-19 23:46:25 +01:00
Irmen de Jong
d78ce77536
improve vm error message when referencing a block name
2024-11-19 20:57:58 +01:00
Irmen de Jong
b4fb43bc80
fix the if not check in ir codegen
2024-11-18 22:33:47 +01:00
Irmen de Jong
e0e01f794e
fix dt compiler crash
2024-11-17 17:39:36 +01:00
Irmen de Jong
08865dbb4e
todo
2024-11-16 02:10:57 +01:00
Irmen de Jong
b9ad7e0e55
forgot to mention floats
2024-11-15 23:37:08 +01:00
Irmen de Jong
07158a6f1a
improve manual about subroutine call convention
2024-11-15 22:59:47 +01:00
Irmen de Jong
957c42bc1d
tweak
2024-11-15 02:52:21 +01:00
Irmen de Jong
f784da2da6
fix asm optimization regression caused by wrong label prefix comparison
2024-11-14 21:24:46 +01:00
Irmen de Jong
c080fbe59a
target machine config tweak and fix possible compiler crash on wrong type name
2024-11-13 21:04:46 +01:00
Irmen de Jong
d70b8303b1
added sprites.reset() to remove sprites from the screen
2024-11-13 20:26:04 +01:00
Irmen de Jong
1d38c3582a
progstart() added to complement progend()
2024-11-13 19:29:50 +01:00
Irmen de Jong
9438e996d7
Fixed math.mul16_last_upper().
...
Added math.lerpw() a LERP routine for words (to complement the existing math.lerp() for bytes)
Described the LERP routines in the library chapter in the docs.
2024-11-12 18:31:24 +01:00