Commit Graph

  • f62029f8ba first setup of LSP server languageServer Irmen de Jong 2024-11-02 04:40:55 +0100
  • f071c07dd9 IR: only put align on lsb array of split word array. tag split word arrays with split. (but this isn't actually used yet) master Irmen de Jong 2025-01-06 02:50:54 +0100
  • e5ff3c1ff3 fix compiler crash when using strings in if-expression. Remove harmless info message. Irmen de Jong 2025-01-06 01:34:42 +0100
  • f0e8ff0326 get rid of some empty lines in the generated asm Irmen de Jong 2025-01-05 19:28:39 +0100
  • 3b5cda85ff fix register clobber on @() Irmen de Jong 2025-01-05 14:32:39 +0100
  • 420793f9e2 mkword() avoids unneeded push/pop for simple arguments Irmen de Jong 2025-01-05 13:14:27 +0100
  • cf1dbaf0d8 no longer clear msb on asmsub argument byte @R0 avoid unneeded push/pop for 2 byte arguments to a functioncall Irmen de Jong 2025-01-05 12:15:13 +0100
  • d187cef6b7 optimize x=min(x,100) and some other simple min() and max() cases Irmen de Jong 2025-01-05 07:17:06 +0100
  • 3b3616afda optimized pointer access @(pointer - constantoffset) Irmen de Jong 2025-01-05 06:07:33 +0100
  • 0ffebc25d0 tweak pointer access, fix and optimize reading memory from a label as pointer Irmen de Jong 2025-01-05 03:53:28 +0100
  • 478e2b4ebd abs() return type changed to ubyte/uword Irmen de Jong 2025-01-04 23:16:51 +0100
  • a56ae7539a optimized codegen for word*128 (word << 7): no longer do 7 shifts Irmen de Jong 2025-01-04 23:05:22 +0100
  • 407773bda2 IR: don't lose inline asm chunks, fix carry behavior for multi-shifts Irmen de Jong 2025-01-04 21:19:52 +0100
  • 823eaa8918 when using @requirezp in a subroutine that is unused (and is pruned), don't give an error there when using %zeropage dontuse give warning when a pointer var is declared as @nozp (very inefficient) Irmen de Jong 2025-01-04 16:06:46 +0100
  • a2be42c5ca txt.get_cursor() now returns the column and row as 2 values, no longer requires 2 pointer arguments Irmen de Jong 2025-01-04 01:36:47 +0100
  • a76b8d66ff cx16: added syslib.get_charset() updated fileselector Irmen de Jong 2025-01-04 01:02:43 +0100
  • b7f47d354f IR: implemented << and >> for split word arrays Irmen de Jong 2025-01-03 20:41:06 +0100
  • 5d33c93af9 IR: implemented rol(), rol2(), ror(), ror2() for split word arrays Irmen de Jong 2025-01-03 04:50:08 +0100
  • 4db6859f3f IR: strict register pool type assignment, 1 unique type per register + verification during IR writing Irmen de Jong 2025-01-03 04:14:11 +0100
  • 45fe1bb16e reduce error clutter for undefined symbols Irmen de Jong 2025-01-03 01:55:44 +0100
  • b014facbd3 cx16 fileselector improvements Irmen de Jong 2025-01-02 22:17:56 +0100
  • 3b4b37f16b optimize codegen for x += array[index] (and others) Irmen de Jong 2025-01-01 23:49:05 +0100
  • 68d5983a14 optimize monogfx.plot() to use a *40 lookup table in lores mode. Speeds up a lot of other routines too (line etc) Irmen de Jong 2025-01-01 19:06:11 +0100
  • f2cfcfdf31 cx16: monogfx can fill with stipple mode again. cx16: charset switching enabled again on program exit. cx16: fileselector example: can now also show directories Irmen de Jong 2025-01-01 05:19:10 +0100
  • 10b9162dc5 improving fileselector Irmen de Jong 2024-12-29 23:19:34 +0100
  • c84cc8f8c9 word arrays for sorting should be @nosplit Irmen de Jong 2024-12-29 23:14:25 +0100
  • 78c71bbf0e adding file selector example Irmen de Jong 2024-12-29 19:07:22 +0100
  • 37c2c1bf0b support &, &< and &> on array elements from split word arrays, not just on the array as a whole Irmen de Jong 2024-12-29 02:33:29 +0100
  • c8996418da ir: tweak register pool, prepare to register the types there uniquely Irmen de Jong 2024-12-28 02:17:04 +0100
  • 76b29aa629 fixed register reuse and types on syscall interface Irmen de Jong 2024-12-28 00:39:28 +0100
  • ee521793f8 ir: enforce single reg type Irmen de Jong 2024-12-27 22:32:16 +0100
  • f42e12bc13 ir: fix more register typing errors Irmen de Jong 2024-12-27 21:26:30 +0100
  • 427451a23f ir: remove remaining SL* opcodes Irmen de Jong 2024-12-27 21:00:06 +0100
  • af7930d494 ir: remove SL* opcodes Irmen de Jong 2024-12-27 19:14:52 +0100
  • e2882d37bf ir: remove a bunch of strange in-place assignment operators, and problematic opcodes Irmen de Jong 2024-12-27 18:22:15 +0100
  • 942d3ee640 ir: improve register type detection Irmen de Jong 2024-12-26 21:11:32 +0100
  • 7b4a82b91a IR: report register usage and types in code blocks Irmen de Jong 2024-12-26 14:57:07 +0100
  • 056c0a24d9 better way of doing BIT instructions Irmen de Jong 2024-12-26 02:02:30 +0100
  • 827df04b32 IR: BIT instruction added Irmen de Jong 2024-12-24 22:26:20 +0100
  • e174b31344 IR: fix up missing indirect goto codegen Irmen de Jong 2024-12-24 18:54:26 +0100
  • 49959af752 IR: support %align in code chunks, and load/store FAC0/FAC1 Irmen de Jong 2024-12-24 16:46:31 +0100
  • c86c0912f8 latest symboldumps v11.0.1 Irmen de Jong 2024-12-29 20:07:45 +0100
  • 268b0c9365 fix memory top boundary address on c64 and c128 Irmen de Jong 2024-12-29 17:01:22 +0100
  • 099fe280ba improved diskio.diskname() error detection Irmen de Jong 2024-12-29 10:29:31 +0100
  • f786f60e9c cmb.PLOT: fixed order of return registers (Y then X, column then row) - same as argument order Irmen de Jong 2024-12-29 03:57:55 +0100
  • f40e1eb1f2 fixed clipping sample Irmen de Jong 2024-12-28 05:21:38 +0100
  • 8b9da65357 Added supervisor to coroutines.run(). update symboldumps for 11.0.1. Irmen de Jong 2024-12-28 02:19:37 +0100
  • 2cbbe0d48a remove syscall from docs, it doesn't exist anymore Irmen de Jong 2024-12-27 22:34:24 +0100
  • b6e1fb3ba8 emphasize that str[] is also split by default Irmen de Jong 2024-12-27 17:00:39 +0100
  • bdccffbb8e stricter type checking in multivalue assigns, avoids possible invalid output due to missing type cast Irmen de Jong 2024-12-26 22:20:08 +0100
  • 5a85474712 pet32: fixed txt.plot() mixing up row and column Irmen de Jong 2024-12-26 19:07:04 +0100
  • f50899c6fa coroutines: make yield() return a configured uword so that a task subroutine can get reused for multiple different things Irmen de Jong 2024-12-26 18:55:32 +0100
  • 4daa909f32 fix path normalization problems, allow ~ in srcdirs compiler flag Irmen de Jong 2024-12-26 17:42:20 +0100
  • 4555edf369 update zsmkit to fix zsm_clearisr routine Irmen de Jong 2024-12-26 13:06:41 +0100
  • 529ea5bf58 added coroutines library and multitasking example. Added sys.push_returnaddress(). Irmen de Jong 2024-12-25 21:50:15 +0100
  • fe011de934 fix the missing cases in certain expressions that need the address of a split word array Irmen de Jong 2024-12-25 16:07:09 +0100
  • 0653d430a7 fix compiler crash related to uword array parameters type checking Irmen de Jong 2024-12-25 12:12:20 +0100
  • a587f6e9a0 make imported module cache case-insensitive Irmen de Jong 2024-12-25 11:51:24 +0100
  • 3850e1dbb5 Merge branch 'better-ir' Irmen de Jong 2024-12-24 12:12:08 +0100
  • 91cde072e0 added txt.t256c() on the cx16 to turn 256 color tile mode on or off Irmen de Jong 2024-12-24 12:10:02 +0100
  • 2ca4aed566 IR: prefix immediate values with '#' for human readability reasons (no technical reason) Irmen de Jong 2024-12-24 08:29:18 +0100
  • 5071da6784 retain constants in IR some IR related cleanups Irmen de Jong 2024-12-23 23:29:33 +0100
  • 4c1e2f3110 refactor package nesting of ast exception classes Irmen de Jong 2024-12-23 18:14:46 +0100
  • 2727a4dcb3 tweak DataType class and memsizer related to subtypes/elementtypes Irmen de Jong 2024-12-23 17:27:57 +0100
  • 126d4c69e6 fix cx16images.py script for new pillow library version Irmen de Jong 2024-12-23 16:31:15 +0100
  • 7657edcb7d latest symboldumps v11.0 Irmen de Jong 2024-12-22 09:24:45 +0100
  • 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. Irmen de Jong 2024-12-22 08:26:21 +0100
  • c0ae35b3a3 tweaks, bump version 11.0 Irmen de Jong 2024-12-22 03:47:35 +0100
  • c3dc74788a added diskio.get_loadaddress() added compression.decode_tscrunch_inplace() Irmen de Jong 2024-12-22 03:05:27 +0100
  • 379d241a0d various library modules now also use regular asm symbol prefixing rules: buffers, compression, cx16logo, test_stack. Irmen de Jong 2024-12-21 06:34:55 +0100
  • 1f49e8fe75 in diskio.f_readline make sure AY result isn't clobbered Irmen de Jong 2024-12-21 06:24:47 +0100
  • d70cfbb661 added sorting module and sortingbench example Irmen de Jong 2024-12-21 06:18:35 +0100
  • 5482ac0302 simplify grammar of @tags, also improving their error message Irmen de Jong 2024-12-21 01:05:08 +0100
  • 131d5ceb4f avoid re-reading all source files when sourcelines are requested in the asm Irmen de Jong 2024-12-21 00:06:18 +0100
  • 512ddd1694 cleanups Irmen de Jong 2024-12-20 22:47:05 +0100
  • 14a213bff9 compression module: added decode_zx0 and decode_tscrunch Irmen de Jong 2024-12-20 18:01:58 +0100
  • d586846bc5 use simpler set_screen_mode() Irmen de Jong 2024-12-19 22:17:09 +0100
  • ef4efcb112 cleanup Irmen de Jong 2024-12-19 21:05:49 +0100
  • b01555d75e cx16.set_screen_mode() no longer returns anything. tweak when codegen slightly. allow trailing comma in array literals. Irmen de Jong 2024-12-19 20:27:22 +0100
  • 3804fba0f1 moved jdk version config back to main gradle build file, version consistency Irmen de Jong 2024-12-19 13:35:24 +0100
  • f93b7e3303 changed IR JUMPI instruction to support more indirect jump cases Irmen de Jong 2024-12-19 03:30:42 +0100
  • 73baaeff1f avoid compiler crash when using char literal in str initialization fix compiler crash when using str var in an expression without & Irmen de Jong 2024-12-18 00:17:52 +0100
  • 7c79cdbd2f fix symbol prefixing on goto with expression added coroutines example Irmen de Jong 2024-12-17 12:52:01 +0100
  • 8ea032ed66 fix compiler crash on certain split array values Irmen de Jong 2024-12-17 09:56:18 +0100
  • e7a0cb636c add $< and $> operators to get the lsb and msb addresses of a @split array respectively. document the new split array things. Irmen de Jong 2024-12-16 16:36:36 +0100
  • 02f3f5d0f5 @split is back to force splitting of word arrays Irmen de Jong 2024-12-16 07:26:59 +0100
  • 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 Irmen de Jong 2024-12-15 23:32:50 +0100
  • 8644a4ae91 more split array fixes Irmen de Jong 2024-12-15 21:27:19 +0100
  • 1e85f7812f removed anyall library module altogether. The routines weren't very optimized and didn't work on split word arrays. Irmen de Jong 2024-12-15 17:45:31 +0100
  • 80d88b3c61 fix many split array issues Irmen de Jong 2024-12-15 15:55:48 +0100
  • d2827a7431 fix ast printer for arrays containing label addresses Irmen de Jong 2024-12-15 13:53:24 +0100
  • 28c721fa7d add a split-array version for word containment check Irmen de Jong 2024-12-15 13:35:22 +0100
  • 8f799567cf make word arrays split by default (w.i.p.) Irmen de Jong 2024-12-15 08:12:34 +0100
  • 9e8cc8b54d goto can now accept any expression as address (instead of just a constant), and ofcourse a label name still. Irmen de Jong 2024-12-15 03:35:09 +0100
  • cc59069876 allow goto to take any expression, not only an integer or an identifier (part 1) Irmen de Jong 2024-12-14 00:56:11 +0100
  • 697d54e10a fix asmgen for call $3000 Irmen de Jong 2024-12-13 22:33:26 +0100
  • 1679ca79b4 can now use boolean params mapped to Rx register Irmen de Jong 2024-12-13 20:47:03 +0100
  • 124ec77b58 update zsmkit to version 2.4, including the new on_deck routines Irmen de Jong 2024-12-13 20:11:19 +0100
  • 3675d7961b boolean variables can now also be memory-mapped (including boolean arrays) Irmen de Jong 2024-12-11 18:08:26 +0100
  • f8aaa2d13c explicit integer type check for @R0-R15 parameters Irmen de Jong 2024-12-10 23:19:41 +0100