Commit Graph

  • b9dc53f629 check for X16 problematic cpu instructions rmb, smb, bbr, bbs. Irmen de Jong 2024-01-20 21:34:17 +0100
  • da221ec2c6 check boolean array size mismatch. check for weird string assignment. check for X16 problematic cpu instructions rmb, smb, bbr, bbs. tweak number node equality wrt bool type Irmen de Jong 2024-01-20 21:34:17 +0100
  • a8fcffc82a changed -breakinstr option so that you now specify the exact instruction to use for a %breakpoint Irmen de Jong 2024-01-22 21:07:51 +0100
  • 84a7e86fe3 clarify progend() Irmen de Jong 2024-01-22 18:57:25 +0100
  • a8c09d6144 removed a problematic bitshift replacement in the const evaluator Irmen de Jong 2024-01-21 23:05:51 +0100
  • 87c46ba730 check boolean array size mismatch. check for weird string assignment. check for X16 problematic cpu instructions rmb, smb, bbr, bbs. tweak number node equality wrt bool type Irmen de Jong 2024-01-20 21:34:17 +0100
  • 0f83dc6491 sponsorship link. error sorting. version. v10.0 Irmen de Jong 2024-01-19 20:04:29 +0100
  • cc22861719
    Create FUNDING.yml Irmen de Jong 2024-01-19 19:26:41 +0100
  • a14c192ea3 also other targets Irmen de Jong 2024-01-18 22:31:34 +0100
  • b3d98be862 oops, removed a bit too much when getting rid of the noshortcircuit code Irmen de Jong 2024-01-18 22:00:57 +0100
  • 43027a4728 IR: optimize rol ror Irmen de Jong 2024-01-18 21:44:49 +0100
  • 03831a7394 added cx16.cpu_is_65816() Irmen de Jong 2024-01-18 19:30:18 +0100
  • fdbbd181ea fixes for address-of uword pointer array expressions Irmen de Jong 2024-01-17 22:51:11 +0100
  • 69075376dc get rid of the noshortcircuit fallback Irmen de Jong 2024-01-17 21:24:41 +0100
  • 504d1440cc fixed rol(),rol2(),ror(),ror2() Irmen de Jong 2024-01-16 20:41:53 +0100
  • 9e33b8b8da
    Added a couple of for examples using descending ranges. (#119) OODLER 2024-01-16 13:19:05 -0600
  • dc656f2d7d Added a couple of for examples using descending ranges. Oodler 577 2024-01-16 13:01:52 -0600
  • 0cfcc5cd29 fix VM sgn() function for floats Irmen de Jong 2024-01-16 01:23:41 +0100
  • e0de662f8e fix signed word bitshift right (>8 shifts) Irmen de Jong 2024-01-16 01:08:16 +0100
  • 66a836d094 added support for reverse() on split word arrays Irmen de Jong 2024-01-16 00:24:51 +0100
  • 80095f4962 added support for any() on split word arrays Irmen de Jong 2024-01-15 23:51:19 +0100
  • 828d83dbef loadScaledArrayIndexIntoRegister(): useless type arg removed Irmen de Jong 2024-01-15 03:25:50 +0100
  • 7de665d1e4 support for split wordarrays rol/ror and rol2/ror2 optimized rol and ror codegen Irmen de Jong 2024-01-14 19:03:49 +0100
  • 0a356ba73a added containment check of float arrays Irmen de Jong 2024-01-14 13:20:12 +0100
  • 41de8caa13 added sprites.set_mousepointer_image(), sprites.set_mousepointer_hand() and sprites.get_data_ptr() Irmen de Jong 2024-01-14 00:00:15 +0100
  • 968609d06d IR: fix problems with symbol offsets and unused subroutines/chunks Irmen de Jong 2024-01-13 13:55:16 +0100
  • 3b199a2a87 added cx16 example: automatons. added debug mode and RTC to cx16 emulator launchers. dt error details. Irmen de Jong 2024-01-12 20:18:41 +0100
  • 0c1018ec61 dt error details Irmen de Jong 2024-01-12 00:27:39 +0100
  • bc3f2db3de Fix call graph to no longer mark subroutines unused, that still get their variables referenced somewhere. Revert palette.default_colors_16[] back to palette.set_default16.colors. Irmen de Jong 2024-01-11 22:12:01 +0100
  • 06bedb7adb added palette.get_color() and palette.default_colors[] Irmen de Jong 2024-01-11 21:27:18 +0100
  • 45a9751217 fix type of optimized lsb() / mkword() arguments when signed. printast1 command line option now also works in case of compilation errors. Irmen de Jong 2024-01-10 23:57:44 +0100
  • e8da62aa29 update Kotlin version and libs Irmen de Jong 2024-01-10 20:31:30 +0100
  • ddb2ff4216 IR: use SCS opcode to set carry status flag into register Irmen de Jong 2024-01-09 23:46:27 +0100
  • f27e3478b9 fix const value of AddressOf for certain types Irmen de Jong 2024-01-09 22:10:25 +0100
  • 38dc7fb7bd IR: added SCC and SCS instructions Irmen de Jong 2024-01-09 00:57:02 +0100
  • aa4cd13c31 where to place vscode syntax files. Irmen de Jong 2024-01-08 00:09:21 +0100
  • 4a4b6c04a1 tweak common subexpression optimization for array lookups Irmen de Jong 2024-01-07 22:37:15 +0100
  • 37fa3b34a2 tweak IR Irmen de Jong 2024-01-07 22:10:43 +0100
  • f8084e7955 fix const replacement optimization error on memory mapped variable Irmen de Jong 2024-01-07 18:48:18 +0100
  • 4d5119ce3e VM: also set N+Z flags on AND/OR/XOR instructions Irmen de Jong 2024-01-07 15:25:43 +0100
  • d85c347a6c optimize /256 more, and fixed a unsigned byte word cast error Irmen de Jong 2024-01-07 00:01:00 +0100
  • 7dd758a753 better optimize WORD & $xx00 , WORD & $00xx Irmen de Jong 2024-01-06 21:47:59 +0100
  • 806654fc44 fix invalid const optimization with multiplication Irmen de Jong 2024-01-06 13:59:13 +0100
  • 8e6b91cb9e some optimizations Irmen de Jong 2024-01-06 00:04:15 +0100
  • 334e6dca28 added string.contains(). fixed string and array containment check for length 1. Irmen de Jong 2024-01-05 20:46:26 +0100
  • f2daa17b92 tweak some not optimizations cleanup IR typestring Irmen de Jong 2024-01-05 15:31:45 +0100
  • 6d9fccacb1 boolean not expression tweaks and optimizations Irmen de Jong 2024-01-05 13:32:16 +0100
  • 37638e7ed0 added Absorption laws optimization Irmen de Jong 2024-01-05 00:26:56 +0100
  • 8a0e650511 apply De Morgan's laws for logical not, results in smaller code Irmen de Jong 2024-01-04 23:45:46 +0100
  • 8ba5a0d90c tweak planet name display in starmap Irmen de Jong 2024-01-04 21:52:52 +0100
  • bfd3edb617 fix expression evaluation bug where intermediate values were overwritten, yielding the wrong result Irmen de Jong 2024-01-04 20:44:46 +0100
  • 56ba24962c fixed 'not not x' optimization to just 'x' Irmen de Jong 2024-01-04 15:02:21 +0100
  • 19a2110ba2 fix exit() now actually correctly setting the return code in A Irmen de Jong 2024-01-04 00:30:20 +0100
  • 242a3eec63 fix data type difference error on range from and to values Irmen de Jong 2024-01-03 21:46:22 +0100
  • fee46f2e54 todo Irmen de Jong 2024-01-03 15:06:27 +0100
  • 6aed7e429a allow containment check in a range expression ("run time" range expression) Irmen de Jong 2024-01-03 01:17:09 +0100
  • 517ea82b99 fixed todos in Ast printer Irmen de Jong 2024-01-01 23:21:05 +0100
  • 99c29343de added -printast1 and -printast2 command line options Irmen de Jong 2024-01-01 22:48:19 +0100
  • 892fa76883 remove debug output Irmen de Jong 2024-01-01 20:48:41 +0100
  • d446b57d05 fix unittest Irmen de Jong 2024-01-01 16:11:35 +0100
  • 0e086d788b removed chained comparisons again, because they caused invalid expression evaluations due to changed semantics. Irmen de Jong 2024-01-01 16:00:11 +0100
  • 498841d45d remove binexpr operand rotation that didn't help much at all Irmen de Jong 2024-01-01 15:11:22 +0100
  • d1f8ee1e56 replace most common subexpressions by a single temp variable Irmen de Jong 2024-01-01 14:55:29 +0100
  • 07feb5c925 extra check Irmen de Jong 2023-12-31 17:04:28 +0100
  • 75fd263e85 fix expericodegen crash related to shortcircuiting Irmen de Jong 2023-12-31 01:02:33 +0100
  • 1e1f444cab cleanups. Irmen de Jong 2023-12-30 04:34:07 +0100
  • 89cc7e5fa9 finalize short-circuit eval in IR codegen Irmen de Jong 2023-12-30 04:26:29 +0100
  • 265e7aefbf clean up unused codegen for logical ops on words, also fix no-shortcircuit exception Irmen de Jong 2023-12-30 04:01:22 +0100
  • 1c55a6c6dc shortcutting part one Irmen de Jong 2023-12-30 02:18:56 +0100
  • 8f18b5b8a7 keep distinction between logical and bitwise boolean operators Irmen de Jong 2023-11-15 23:10:20 +0100
  • f790182f0b adding short-circuit boolean expression evaluation (in IR codegen) also -noshortcircuit cli option Irmen de Jong 2023-10-30 00:09:18 +0100
  • 813007a5d8 adjusted options of library modules Irmen de Jong 2023-12-29 22:21:44 +0100
  • d03ff1e4d0 improved var -> const replacement, now done in constfolding already (fixes some obscure problems later on) Also fixed some directive parenting errors Irmen de Jong 2023-12-29 19:48:40 +0100
  • 932bbd0381 allow casting of byte<->ubyte and word<->uword Irmen de Jong 2023-12-29 16:23:24 +0100
  • 01bd648cb2 added math.crc16() and math.crc32() Irmen de Jong 2023-12-29 07:00:14 +0100
  • 779a5606a7 add unittest for aa%bb (without space) to be parsed correctly as modulo, not directive Irmen de Jong 2023-12-29 05:11:50 +0100
  • ccc11e49d2 fix asmgen for uword shift right 8 or more bits Irmen de Jong 2023-12-29 05:04:38 +0100
  • d28c994ecd directive really needs to be listed out in the parser otherwise it confuses it with % modulo :-( Also fix missing const fold pass in optimizer Irmen de Jong 2023-12-29 03:39:12 +0100
  • 5d88717f32 fix non-existing instructions txy/tyx, oops Irmen de Jong 2023-12-29 03:27:35 +0100
  • e35cfd4971 get rid of the redundant 'f' suffix of several funtions in floats module (breaking change!) Irmen de Jong 2023-12-29 03:12:44 +0100
  • bcc4bf5c2b almost forgot Irmen de Jong 2023-12-28 20:39:27 +0100
  • a0594cbce3 const optimizer now knows about a bunch of library functions, such as math.* Irmen de Jong 2023-12-28 19:58:45 +0100
  • 078bfefe41 clarify scoped names a bit more Irmen de Jong 2023-12-28 16:36:29 +0100
  • 9c1b11d605 some WARN messages are now INFO Irmen de Jong 2023-12-28 13:48:01 +0100
  • 44d82f9190 add unit tests Irmen de Jong 2023-12-28 13:30:07 +0100
  • 37fcde30d6 constants have p8c_ prefix instead of p8v_ in the asm Irmen de Jong 2023-12-28 05:28:32 +0100
  • 09c6cb4d6b replace unwritten vars by consts. Improved const eval. Fixed some slight bugs in library code Irmen de Jong 2023-12-28 05:17:15 +0100
  • b428343c2a tweak chained comparisons Irmen de Jong 2023-12-28 02:31:39 +0100
  • dfce292294 allow chained comparisons i<x<j (desugared into: i<x and x<j) Irmen de Jong 2023-12-28 01:18:59 +0100
  • 2b8f613a00 added %option ignore_unused to suppress warnings about unused vars and subs in that module/block. Also improved error for invalid directive. Irmen de Jong 2023-12-26 23:37:59 +0100
  • 2eb137618e refactor block options Irmen de Jong 2023-12-26 22:01:49 +0100
  • 4bb2b8ca9b make isArray a computed property by simply checking the datatype Irmen de Jong 2023-12-26 19:58:08 +0100
  • 5179562fb2 can be val Irmen de Jong 2023-12-26 19:39:02 +0100
  • 0a4de45453 get rid of vardecl.declareddatatype Irmen de Jong 2023-12-26 19:27:50 +0100
  • ffdc658dc8 type error tweaks Irmen de Jong 2023-12-26 18:49:01 +0100
  • 7530f4407b ir tag change INLINEASM->ASM Irmen de Jong 2023-12-26 16:15:19 +0100
  • 73864c8101 added -check command line option Irmen de Jong 2023-12-26 15:30:18 +0100
  • f948917124 added floats.push() and floats.pop() fixed vm pop.f Irmen de Jong 2023-12-26 15:19:49 +0100
  • 0d44492086 push,pushw,pop and popw are no longer built-in functions but regular routines in sys Irmen de Jong 2023-12-26 14:47:31 +0100
  • 38a22fbc99 allow %option no_symbol_prefixing also on module scope Irmen de Jong 2023-12-26 12:31:18 +0100