Irmen de Jong
8f799567cf
make word arrays split by default (w.i.p.)
2024-12-15 08:12:34 +01:00
Irmen de Jong
9e8cc8b54d
goto can now accept any expression as address (instead of just a constant), and ofcourse a label name still.
2024-12-15 05:22:37 +01:00
Irmen de Jong
cc59069876
allow goto to take any expression, not only an integer or an identifier (part 1)
2024-12-14 01:01:32 +01:00
Irmen de Jong
1679ca79b4
can now use boolean params mapped to Rx register
2024-12-13 20:47:23 +01:00
Irmen de Jong
f8aaa2d13c
explicit integer type check for @R0-R15 parameters
...
avoids weird type inconsistency for boolean parameters that would get aliased as unsigned byte instead invisibly
2024-12-10 23:19:41 +01:00
Irmen de Jong
b7afda781a
Optimize 6502 bitwise operations on word values where only the msb or lsb is touched
2024-12-10 21:42:42 +01:00
Irmen de Jong
535ec13072
improved codegen for testing for single bits: x & mask == mask
2024-12-09 04:05:00 +01:00
Irmen de Jong
26d0a174db
optimize codegen for while loops with empty body
2024-12-09 03:21:20 +01:00
Irmen de Jong
b2e821755c
optimized palette module
...
removed palette.set_monochrome(), added start color index to several color set functions
removed mcf example
update gradle wrapper
2024-12-08 15:30:42 +01:00
Irmen de Jong
617ea15c3a
fix failing optimization of 'not' in if statements
2024-12-04 19:03:24 +01:00
Irmen de Jong
28cac291de
diskio.f_open_w() now also resets io channels back to defaults, like f_open() already did
2024-12-02 22:25:32 +01:00
Irmen de Jong
8fa14a10e2
Optimize diskio.f_read for size=1, also improve ST check
2024-12-02 21:25:38 +01:00
Irmen de Jong
55dbd095ed
fix IR codegen missing a CMPI after if not condition
...
fix IR codegen for containmentcheck
2024-12-02 03:06:06 +01:00
Irmen de Jong
31ad8bdd8d
remove bankof(), documented msw() and lsw()
2024-12-01 21:24:26 +01:00
Irmen de Jong
181f3e9eb1
remove the unary/prefix operators ^ and << again
2024-12-01 20:50:33 +01:00
Irmen de Jong
50c3d809dc
fix type casting issues and unary ^ operator
...
signed numbers are no longer implicitly converted to unsigned
proper range check on bankof()
2024-12-01 17:43:53 +01:00
Irmen de Jong
58f696d00a
document the @R0 - @R15 register support for normal subroutine parameters
2024-11-30 20:46:31 +01:00
Irmen de Jong
6aaa0f928e
IR: fix invalid asm name matching that resulted in not removing subs with a name matching an IR asm instruction
2024-11-30 00:10:57 +01:00
Irmen de Jong
feb8aa435e
monogfx, gfx_lores, gfx_hires now all uses 8kb stack from buffers module; no more broken flood fills. fill() has an extra byte parameter now where you need to pass in the ram bank to use for the stack. (not on virtual target)
2024-11-29 21:28:34 +01:00
Irmen de Jong
5406a992f5
improved buffers library, added to docs
2024-11-28 03:30:32 +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
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
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
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
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
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
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
Irmen de Jong
54fccec7d7
now also support using defer inside if statements
2024-11-12 00:11:19 +01:00
Irmen de Jong
4f9693055e
fix compiler crash when extsub has both FAC1 and FAC2 float parameters
2024-11-11 20:48:25 +01:00
Irmen de Jong
bf98ceca2c
make repeat support 65536 iterations
2024-11-11 01:58:27 +01:00
Irmen de Jong
573cecb087
make memtop adjust automatically when you use %address larger than the default memtop setting.
2024-11-10 23:44:10 +01:00