Irmen de Jong
099fe280ba
improved diskio.diskname() error detection
2024-12-29 10:29:31 +01:00
Irmen de Jong
f786f60e9c
cmb.PLOT: fixed order of return registers (Y then X, column then row) - same as argument order
2024-12-29 07:42:13 +01:00
Irmen de Jong
8b9da65357
Added supervisor to coroutines.run(). update symboldumps for 11.0.1.
2024-12-28 04:44:45 +01:00
Irmen de Jong
bdccffbb8e
stricter type checking in multivalue assigns, avoids possible invalid output due to missing type cast
2024-12-26 22:20:08 +01:00
Irmen de Jong
5a85474712
pet32: fixed txt.plot() mixing up row and column
2024-12-26 19:37:39 +01:00
Irmen de Jong
f50899c6fa
coroutines: make yield() return a configured uword so that a task subroutine can get reused for multiple different things
2024-12-26 18:55:32 +01:00
Irmen de Jong
4daa909f32
fix path normalization problems,
...
allow ~ in srcdirs compiler flag
2024-12-26 17:42:20 +01:00
Irmen de Jong
529ea5bf58
added coroutines library and multitasking example. Added sys.push_returnaddress().
2024-12-26 00:57:39 +01:00
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
0653d430a7
fix compiler crash related to uword array parameters type checking
2024-12-25 12:12:20 +01:00
Irmen de Jong
3850e1dbb5
Merge branch 'better-ir'
2024-12-24 21:23:57 +01:00
Irmen de Jong
91cde072e0
added txt.t256c() on the cx16 to turn 256 color tile mode on or off
2024-12-24 12:10:02 +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
4c1e2f3110
refactor package nesting of ast exception classes
2024-12-23 18:14:46 +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
c3dc74788a
added diskio.get_loadaddress()
...
added compression.decode_tscrunch_inplace()
2024-12-22 03:17:16 +01:00
Irmen de Jong
379d241a0d
various library modules now also use regular asm symbol prefixing rules: buffers, compression, cx16logo, test_stack.
2024-12-21 06:34:55 +01:00
Irmen de Jong
1f49e8fe75
in diskio.f_readline make sure AY result isn't clobbered
2024-12-21 06:25:56 +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
131d5ceb4f
avoid re-reading all source files when sourcelines are requested in the asm
2024-12-21 00:06:18 +01:00
Irmen de Jong
512ddd1694
cleanups
2024-12-20 22:59:20 +01:00
Irmen de Jong
14a213bff9
compression module: added decode_zx0 and decode_tscrunch
...
two very fast decompressors while still having pretty good compression ratio
2024-12-20 20:44:57 +01:00
Irmen de Jong
d586846bc5
use simpler set_screen_mode()
2024-12-19 22:17:09 +01:00
Irmen de Jong
ef4efcb112
cleanup
2024-12-19 21:06:51 +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
3804fba0f1
moved jdk version config back to main gradle build file, version consistency
2024-12-19 13:39:27 +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
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
697d54e10a
fix asmgen for call $3000
2024-12-13 22:33:26 +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
3675d7961b
boolean variables can now also be memory-mapped (including boolean arrays)
2024-12-11 18:25:27 +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
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