Irmen de Jong
fe011de934
fix the missing cases in certain expressions that need the address of a split word array
2024-12-25 16:55:07 +01:00
Irmen de Jong
2ca4aed566
IR: prefix immediate values with '#' for human readability reasons (no technical reason)
2024-12-24 09:35:10 +01:00
Irmen de Jong
5071da6784
retain constants in IR
...
some IR related cleanups
2024-12-24 00:30:08 +01:00
Irmen de Jong
2727a4dcb3
tweak DataType class and memsizer related to subtypes/elementtypes
2024-12-23 17:28:25 +01:00
Irmen de Jong
580e786952
change math.crc32 to the same algorithm as pkzip/zlib uses (ISO-HDLC). Add math.crc32_end_result(). Fix a parse error in profiler.py script.
2024-12-22 09:19:54 +01:00
Irmen de Jong
c0ae35b3a3
tweaks, bump version 11.0
2024-12-22 06:34:17 +01:00
Irmen de Jong
d70cfbb661
added sorting module and sortingbench example
2024-12-21 06:18:35 +01:00
Irmen de Jong
5482ac0302
simplify grammar of @tags, also improving their error message
2024-12-21 01:44:58 +01:00
Irmen de Jong
512ddd1694
cleanups
2024-12-20 22:59:20 +01:00
Irmen de Jong
d586846bc5
use simpler set_screen_mode()
2024-12-19 22:17:09 +01:00
Irmen de Jong
b01555d75e
cx16.set_screen_mode() no longer returns anything.
...
tweak when codegen slightly.
allow trailing comma in array literals.
set_screen_mode failure status is really uncommon and still returned by the real kernal routine screen_mode().
2024-12-19 20:56:07 +01:00
Irmen de Jong
f93b7e3303
changed IR JUMPI instruction to support more indirect jump cases
2024-12-19 04:29:16 +01:00
Irmen de Jong
73baaeff1f
avoid compiler crash when using char literal in str initialization
...
fix compiler crash when using str var in an expression without &
2024-12-18 15:08:45 +01:00
Irmen de Jong
7c79cdbd2f
fix symbol prefixing on goto with expression
...
added coroutines example
2024-12-17 16:16:38 +01:00
Irmen de Jong
8ea032ed66
fix compiler crash on certain split array values
2024-12-17 12:31:47 +01:00
Irmen de Jong
e7a0cb636c
add $< and $> operators to get the lsb and msb addresses of a @split array respectively.
...
document the new split array things.
2024-12-16 17:45:54 +01:00
Irmen de Jong
02f3f5d0f5
@split is back to force splitting of word arrays
2024-12-16 14:51:32 +01:00
Irmen de Jong
1e9bbd662b
add palette.set_rgb_nosplit() and set_rbg_be_nosplit()
...
fix stream-wav missing rts which corrupted playback
fix showbmx example palette and image centering
2024-12-16 02:00:51 +01:00
Irmen de Jong
8644a4ae91
more split array fixes
2024-12-15 22:54:06 +01:00
Irmen de Jong
1e85f7812f
removed anyall library module altogether. The routines weren't very optimized and didn't work on split word arrays.
2024-12-15 17:45:31 +01:00
Irmen de Jong
80d88b3c61
fix many split array issues
2024-12-15 17:08:07 +01:00
Irmen de Jong
28c721fa7d
add a split-array version for word containment check
2024-12-15 13:45:47 +01:00
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
124ec77b58
update zsmkit to version 2.4, including the new on_deck routines
2024-12-13 20:15:36 +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
ba8c3d14f7
diskio docs, remove super harmless warning message
2024-12-05 20:51:44 +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
310e8f15cd
update to latest zsmkit lib v2.2
2024-11-29 18:37:06 +01:00
Irmen de Jong
da03941582
fix build
2024-11-29 01:01:59 +01:00
Irmen de Jong
53558f5c1d
add zmskit example for zsmkit v2
2024-11-29 00:04:57 +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
2e35f3c3a3
code check cleanups
2024-11-24 16:14:22 +01:00