Commit Graph

  • 522958e0e9 @dirty variables now actually end up in the uninitialized BSS_NOCLEAR section master Irmen de Jong 2025-05-06 00:47:54 +02:00
  • af920d1427 pointer arithmetic for '-', fixed '+' structs Irmen de Jong 2025-05-05 21:06:49 +02:00
  • 779ebc0537 pointer arithmetic for '+' Irmen de Jong 2025-05-05 18:09:19 +02:00
  • 38949b82c3 type check tuning Irmen de Jong 2025-05-05 00:11:37 +02:00
  • d11386ef26 type check tuning Irmen de Jong 2025-05-04 18:35:49 +02:00
  • 0e0377d1f0 IR/VM implemented struct allocations and initialization Irmen de Jong 2025-05-04 11:53:06 +02:00
  • 55e0dbab27 preparing for statically allocating struct instances Irmen de Jong 2025-05-03 23:44:29 +02:00
  • 4dc82f2c83 preparing for statically allocating struct instances Irmen de Jong 2025-05-03 18:46:21 +02:00
  • 1ba5587404 allow syntax for declaring variables with struct instance type Irmen de Jong 2025-05-03 15:22:50 +02:00
  • 835c4b6da3 allow multi-field declarations in structs, get rid of . -> ^^ rewrite Irmen de Jong 2025-05-03 12:09:35 +02:00
  • dbd955b61e tweak typecheck and better code for constant indexes in pointer derefs Irmen de Jong 2025-05-02 23:18:00 +02:00
  • d20e2fd88c structs will be a new major version of the compiler Irmen de Jong 2025-05-02 22:25:26 +02:00
  • e0dea89477 added support for ptr[x].field Irmen de Jong 2025-04-29 23:53:45 +02:00
  • ccc6b56e35 added link to prog8reu library Irmen de Jong 2025-05-02 19:38:59 +02:00
  • 6fc2902895 fixing ptr traversal typecheck issues Irmen de Jong 2025-04-28 20:57:03 +02:00
  • c96e4b40d4 building syntax support for ptr[x].field Irmen de Jong 2025-04-28 03:56:08 +02:00
  • 37da3e2170 parser Irmen de Jong 2025-04-27 23:07:41 +02:00
  • 2661d3c489 allow array syntax on pointers Irmen de Jong 2025-04-27 22:00:54 +02:00
  • b89bbb9281 allow pointers in subroutines params and return values Irmen de Jong 2025-04-27 20:41:14 +02:00
  • 696bf636ed better parsing of directive names results in better error messages when an invalid one is found Irmen de Jong 2025-04-27 19:41:30 +02:00
  • 40952a788a PtSub: params and returns now as children (in PtSignature node) for easier Ast walking PtPointerDeref: same but for its start identifier Irmen de Jong 2025-04-27 18:00:53 +02:00
  • 0162e7a0c1 fix the scoping problems on subtypes Irmen de Jong 2025-04-27 16:23:02 +02:00
  • 6ce099f176 IR: fix ptr type checks and struct field assignment errors Irmen de Jong 2025-04-27 02:25:13 +02:00
  • 476a4bac8e IR: LOADI allows r1 and r2 to be the same for pointer chain dereference optimalization Irmen de Jong 2025-04-27 00:15:57 +02:00
  • 63a410a6df implicit cast to bool for numeric or pointers as condition arguments (to if, while, until) Irmen de Jong 2025-04-27 00:04:10 +02:00
  • cca27faa3b fix pointer value assignment (not dereferencing the actual pointer) Irmen de Jong 2025-04-26 21:09:42 +02:00
  • 803e6bd81a fix uword vs pointer type errors and casts Irmen de Jong 2025-04-26 20:23:44 +02:00
  • 88269628a2 had to turn ^type syntax into ^^type to avoid confusion with the eor operator once again Irmen de Jong 2025-04-26 18:23:13 +02:00
  • b920d553a0 make address-of dereference work Irmen de Jong 2025-04-26 17:35:04 +02:00
  • 5e2d0d0dfc fix param order of AssignTarget Irmen de Jong 2025-04-26 16:31:27 +02:00
  • 2ae3bd68eb more pointer dereferencing for chains Irmen de Jong 2025-04-26 15:11:57 +02:00
  • 9c183f27eb pointer dereferencing for chains Irmen de Jong 2025-04-26 06:51:01 +02:00
  • 8046023e82 pointer dereferencing for simple types (read and write) Irmen de Jong 2025-04-26 01:32:07 +02:00
  • e328520588 initial struct and typed pointer support Irmen de Jong 2025-04-25 22:55:07 +02:00
  • 7eb079050c fix strings.hash() on 6502 CPU's. NOTE: now takes string pointer in AY instead of R0 on all platforms v11.3.1 Irmen de Jong 2025-04-30 23:41:05 +02:00
  • c60b038e09 trying to make all constants long type long-consts Irmen de Jong 2025-02-27 22:27:18 +01:00
  • 4d8d907d15 first setup of LSP languageserver languageServer Irmen de Jong 2025-04-30 22:54:57 +02:00
  • 2fdd5543b2 release 11.3.1 Irmen de Jong 2025-04-30 22:40:54 +02:00
  • d04164c0a6 fix const evaluation of bitwise logical expressions (&, |, ^, <<, >>) of signed operands Irmen de Jong 2025-04-30 22:27:31 +02:00
  • b047731f82 removed some redundant arguments Irmen de Jong 2025-04-25 22:55:07 +02:00
  • 4d91f92a2e clearer error message Irmen de Jong 2025-04-25 01:16:45 +02:00
  • 98505d27b1 IR: fix invalid removal of label chunks and include asmsubs when looking for labels Irmen de Jong 2025-04-24 22:51:55 +02:00
  • cd63a58ad9 IR: get rid of problematic PREPARECALL pseudo instruction Irmen de Jong 2025-04-24 21:38:44 +02:00
  • 170f8dd092 IR: new CALLFAR instructions to support callfar into another bank Irmen de Jong 2025-04-24 21:16:13 +02:00
  • 619dcb6a84 fix error in IR register typing Irmen de Jong 2025-04-24 19:46:29 +02:00
  • 99ae8ea52e code cleanup Irmen de Jong 2025-04-24 18:42:14 +02:00
  • dc031c30eb add -version option to just print the compiler version and then exit Irmen de Jong 2025-04-24 18:13:35 +02:00
  • 1e702439b7 avoid JDK 21+/Kotlin method conflict of removeLast()/removeFirst() Irmen de Jong 2025-04-24 17:48:09 +02:00
  • 8debc42381 slightly stricter assignment type compatibility checking Irmen de Jong 2025-04-24 13:28:53 +02:00
  • 532d719089 more optimal math.randrange() routines Irmen de Jong 2025-04-24 03:57:23 +02:00
  • b40860aca4 get rid of RTS after JMP Irmen de Jong 2025-04-23 17:08:16 +02:00
  • 2cbe6b5f7f info message when more optimal goto array[idx] is possible Irmen de Jong 2025-04-23 16:59:18 +02:00
  • d2cc7ccdfa remove redundant variable=0 initializations (BSS clear takes care of them) Irmen de Jong 2025-04-23 14:28:43 +02:00
  • 2cb183c6d8 fix regression for goto array[idx] on 6502 cpu which doesn't have jmp (ptr,x) Irmen de Jong 2025-04-23 02:56:10 +02:00
  • 84026b105f smaller code for goto nosplitptrarray[index] v11.3 Irmen de Jong 2025-04-22 20:01:16 +02:00
  • a4d0589f10 fix errors like parse error still printed in color when -plaintext is set Irmen de Jong 2025-04-22 19:26:11 +02:00
  • e375f6afce fix diskio.f_read() returning 1 less than the actual size read. fix diskio.f_read_all() more robust error status end of loop checking. Irmen de Jong 2025-04-21 04:40:46 +02:00
  • 5a7bc04816 update docs about library jump table Irmen de Jong 2025-04-18 23:16:08 +02:00
  • bd1894580e allow floating point value as part of a multi-value return Irmen de Jong 2025-04-18 22:33:42 +02:00
  • 9e694c0337 doc Irmen de Jong 2025-04-18 21:09:49 +02:00
  • c82586db28 print copyright message better Irmen de Jong 2025-04-17 23:09:28 +02:00
  • dd2d466350 code cleanups Irmen de Jong 2025-04-17 22:41:21 +02:00
  • 830da8de0a memorymapped vars in ZP are now treated as ZP-variables by prog8 itself too Irmen de Jong 2025-04-17 22:19:01 +02:00
  • 4e5ee333c8 preparing release 11.3 Irmen de Jong 2025-04-17 21:16:52 +02:00
  • 9df899eb63 document romable option and that strings+initialized arrays become read-only Irmen de Jong 2025-04-17 21:04:37 +02:00
  • ca7491a702 cx16: sys.enable_irq_handlers() and associated functions are now romable Irmen de Jong 2025-04-17 00:25:25 +02:00
  • 1a07129865 c64: graphics.horizontal_line() is romable Irmen de Jong 2025-04-17 00:02:17 +02:00
  • 4fbd67ff99 txt.setcc() is romable Irmen de Jong 2025-04-16 23:44:50 +02:00
  • 5bc6c50f42 txt.setclr() and getclr() are romable Irmen de Jong 2025-04-16 23:38:16 +02:00
  • 063de3801d txt.getchr() is romable Irmen de Jong 2025-04-16 23:32:18 +02:00
  • ae65266a4a txt.setchr() is romable Irmen de Jong 2025-04-16 23:27:23 +02:00
  • 8ed2401e0b cx16: txt.scroll_left(), right, up and down are now romable Irmen de Jong 2025-04-16 23:11:27 +02:00
  • d2e8ee8269 cx16: txt.fill_screen, txt.clear_screenchars, clear_screencolors are now romable Irmen de Jong 2025-04-16 22:59:36 +02:00
  • 1f996e3b8b sorting.gnomesort_ub(), compression.decode_rle() and decode_rle_srcfunc() are now romable Irmen de Jong 2025-04-16 22:07:32 +02:00
  • 7108b74105 string.rfind() is now romable and now works correctly on empty strings. added some comments to strings.pattern_match Irmen de Jong 2025-04-16 21:41:41 +02:00
  • 801fe1b604 c64: callfar() is now romable Irmen de Jong 2025-04-16 21:13:59 +02:00
  • fb44c87597 make diskio.f_read() ROM-compatible Irmen de Jong 2025-04-15 00:23:23 +02:00
  • 6b9cdbd482 remove unused arraycopy routines Irmen de Jong 2025-04-14 22:10:54 +02:00
  • 0ab98033b5 add rom-compatible random number routines Irmen de Jong 2025-04-14 22:04:11 +02:00
  • 14a2b96609 scanned libraries for self-modifying code/inline vars (romable problem) Irmen de Jong 2025-04-14 21:15:32 +02:00
  • f829b689db update zsmkit example to zsmkit release 2.6 Irmen de Jong 2025-04-14 19:28:12 +02:00
  • dfda8b7ed5 remove problematic rewriting of X=value-X Irmen de Jong 2025-04-14 02:35:37 +02:00
  • 4388466451 romable comments Irmen de Jong 2025-04-10 22:21:27 +02:00
  • 5c2f509a52 also hide emulator process output when using -quiet Irmen de Jong 2025-04-10 21:26:48 +02:00
  • 59582f5210 added -quiet flag to suppres all compiler and assembler messages Irmen de Jong 2025-04-10 21:16:26 +02:00
  • e2a8bdbdfb romable comments Irmen de Jong 2025-04-09 22:33:08 +02:00
  • 0916b943da sys.exit(), exit2(), exit3() now romable Irmen de Jong 2025-04-09 22:13:52 +02:00
  • 9c7ebc883c fixed: memsetw() invalid asm, c128: sys.restore_irq() Irmen de Jong 2025-04-09 21:03:47 +02:00
  • 0ee42b9aa0 output_type is now part of custom target config and atari again defaults to .xex Irmen de Jong 2025-04-09 20:43:44 +02:00
  • 37b3868ca3 symboldump now also includes aliased symbols (like palette.set_default) Irmen de Jong 2025-04-08 21:39:22 +02:00
  • a6835ce3f0 fix signed word value range check error, fix rol2() on array element Irmen de Jong 2025-04-08 19:56:20 +02:00
  • 69c96ad99b cx16: added cx16.push_rambank/rombank and cx16.pop_rambank/rombank for easy temporary bank switching Irmen de Jong 2025-04-06 15:33:35 +02:00
  • b72877d59d cx16: added routines to get and set the default palette (new rom 49+ extapi) Irmen de Jong 2025-04-06 15:14:04 +02:00
  • 05eb15d4f7 add cx16.memory_decompress_from_func() Irmen de Jong 2025-04-05 23:15:59 +02:00
  • f1fec37c79 rename examples/vm to examples/virtual Irmen de Jong 2025-04-04 19:55:48 +02:00
  • 73f6880ff8 fix irq related crash by no longer zeroing out stored vector Irmen de Jong 2025-04-02 22:22:21 +02:00
  • 8a53742f31 fix notreached error Irmen de Jong 2025-04-01 23:12:08 +02:00
  • 9be40e85ff
    Improve romability of low-level libs (#160) adiee5 2025-04-01 23:00:14 +02:00
  • 61079c1eb7 errormessage for assignment to str/arrays in ROM Irmen de Jong 2025-03-31 23:57:04 +02:00
  • 1075ee8fc3 errormessage for non romable extsub bank declaration Irmen de Jong 2025-03-31 22:30:34 +02:00