1
0
mirror of https://github.com/irmen/prog8.git synced 2025-02-27 18:29:00 +00:00

Commit Graph

  • 72c16d0d32 avoid doing useless jsr for reboot/poweroff calls master Irmen de Jong 2025-02-26 20:24:24 +01:00
  • 1d0eb9ee81
    Merge 49a4128d700f9980a7c47d6cb382c524070cfe61 into 94653e5c8ccf9b70e913cc00c114e2cffe623fe0 adiee5 2025-02-25 00:22:49 +01:00
  • 94653e5c8c possible workaround for SMC issue that could make sys.reset_system() and sys.poweroff_system() not work properly Irmen de Jong 2025-02-24 23:07:51 +01:00
  • 3e2b2a698d Separate simple Ast and Symboltable from codeCore into new simpleAst module. VirtualMachine and Intermediate do not need them, just codeCore. Irmen de Jong 2025-02-24 22:06:52 +01:00
  • ae04f5aee8 %option romable now disables floating point support Irmen de Jong 2025-02-23 10:21:55 +01:00
  • 49a4128d70 Improve ROMability of targeted syslibs adiee5 2025-02-22 00:39:48 +01:00
  • 5c56267662 Also romable warning for inline variables. Added TODO: Romable in library files where applicable Irmen de Jong 2025-02-21 21:00:26 +01:00
  • e55ce5504e added %option romable to enable romable mode, but only generate a bunch of warnings for problematic codegeneration atm Irmen de Jong 2025-02-20 23:39:29 +01:00
  • fb1e89d9ef update docs about call convention for multi-value results (first is in A or AY, then R15...R0) added sprites+coroutines+defer part to benchmark program Irmen de Jong 2025-02-19 21:05:33 +01:00
  • bc550a4549 fix optimized multi-value call result assignment Irmen de Jong 2025-02-18 22:04:36 +01:00
  • ebdea9cf76 optimized call convention for multi-value return and assign on regular asmsubs (6502) Irmen de Jong 2025-02-17 22:53:53 +01:00
  • 09ec508f82 avoid unnecessary word extension when assigning a register byte to a byte target Irmen de Jong 2025-02-17 22:03:54 +01:00
  • d06e9ea7f6 allow comparisons against constant values with different type Irmen de Jong 2025-02-17 21:04:24 +01:00
  • a36bdc54fd
    Add Notepad++ syntax highlighting file for dark mode () Mia McMahill 2025-02-19 11:33:31 -06:00
  • 635ed8c6ca Add Notepad++ syntax highlighting file for dark mode Mia McMahill 2025-02-19 02:00:59 -06:00
  • 1b56e1993f first setup of LSP server languageServer Irmen de Jong 2024-11-02 04:40:55 +01:00
  • 0814ea9711 symboldumps v11.1 Irmen de Jong 2025-02-13 13:10:07 +01:00
  • daefe839d8 version 11.1 Irmen de Jong 2025-02-13 12:31:12 +01:00
  • e6088dd315 optimize byte comparisons against small word constants Irmen de Jong 2025-02-13 05:33:42 +01:00
  • fc03d6f332 changed -sourcelines option to -nosourcelines (default is now to include them) Irmen de Jong 2025-02-12 20:55:09 +01:00
  • 2aeb7a838e finalize extracting neo and atari compiler targets into configuration files instead Irmen de Jong 2025-02-12 12:07:25 +01:00
  • 99ff5dd078 extracting neo and atari compiler targets into configuration files instead Irmen de Jong 2025-02-12 00:34:51 +01:00
  • 49982b49b6 extracting neo and atari compiler targets into configuration files instead Irmen de Jong 2025-02-12 00:05:47 +01:00
  • fd39c22616
    Update FUNDING.yml Irmen de Jong 2025-02-12 13:48:49 +01:00
  • 9e79722a7f fix rangeexpression value type casting Irmen de Jong 2025-02-11 22:19:33 +01:00
  • 17334a1c58 fix 6502 codegen error for mixed case register params and normal params Irmen de Jong 2025-02-10 22:06:11 +01:00
  • c7f0ff11ac fix crash when initializing string variable with a non-string value Irmen de Jong 2025-02-10 02:48:50 +01:00
  • cd2cc89e6a fix type errors in Range containment check Irmen de Jong 2025-02-10 02:27:34 +01:00
  • 069143092d fix Golden ram issues Irmen de Jong 2025-02-09 15:41:13 +01:00
  • efd41260f2 added %jmptable Irmen de Jong 2025-02-09 15:02:59 +01:00
  • 8d2410622c make 64tass less strict about implied register addressing modes on instructions like "asl" Irmen de Jong 2025-02-04 23:57:56 +01:00
  • 60554389b3 for fileselector library save/restore the prog8 temporary ZP locations Irmen de Jong 2025-02-04 00:17:55 +01:00
  • a940dc7d43 improve dumpvars output for zeropage variables Irmen de Jong 2025-02-03 22:36:58 +01:00
  • 06ca68a625 add drivenumber to fileselector config Irmen de Jong 2025-02-02 23:09:27 +01:00
  • 5b58e5b158 fix unit tests Irmen de Jong 2025-02-02 21:52:33 +01:00
  • 94860eff23 Improve romability of low-level libs adiee5 2025-02-02 21:46:45 +01:00
  • 74dd8fe80b %output library header generation depends on compiler target fileselector example tweaks Irmen de Jong 2025-02-02 20:46:49 +01:00
  • 75ddcda5f3 simplify DirectiveArg Irmen de Jong 2025-02-02 04:35:20 +01:00
  • 216825b98a cx16: made fileselector example into a loadable library Irmen de Jong 2025-02-02 04:13:03 +01:00
  • a96defab86 diskio: added several diskio routines to list only the files or dir entries on the disk Irmen de Jong 2025-02-02 02:44:23 +01:00
  • 0864b0a1b7 cx16: added several diskio routines to list only the files or dir entries on the disk Irmen de Jong 2025-02-01 22:41:17 +01:00
  • 8b158d9240 fix 64tass ascii encoding option for atari and neo6502 Irmen de Jong 2025-02-01 21:47:01 +01:00
  • f335251c2b added ability to specify additional assembler options in custom target configurations Irmen de Jong 2025-02-01 16:09:43 +01:00
  • 67bc0b6931
    Added txt.cls() to prog8_builtins.vim () Tymoteusz Moryto 2025-02-01 14:21:40 +01:00
  • 5b2b81cd94 Added txt.cls() to prog8_builtins.vim Tymoteusz Moryto 2025-02-01 02:25:36 +01:00
  • e646dd1ed1
    Add an encoding for the C64 OS custom character set. Use c64os: () gillham 2025-01-31 16:41:55 -06:00
  • 2b7947f9b0 fix address check issue when using custom launcher Irmen de Jong 2025-01-31 00:17:31 +01:00
  • b4f0d78f07
    Merge branch 'irmen:master' into c64os gillham 2025-01-30 17:26:17 -06:00
  • 84653be4a8 Add an encoding for the C64 OS custom character set. Use c64os: gillham 2025-01-30 17:24:56 -06:00
  • ec0cfb4b3f doc fix Irmen de Jong 2025-01-30 23:55:14 +01:00
  • 9cdf53019c some tweaks to the configurable targets Irmen de Jong 2025-01-30 23:52:44 +01:00
  • 1a04a3eb3a added ability to configure custom ASM launcher code in target configuration file Irmen de Jong 2025-01-30 22:10:42 +01:00
  • 105d3995e0 some docs about the configurable targets, update kotlin to 2.1.10 Irmen de Jong 2025-01-29 03:02:55 +01:00
  • 8ce3204f93 program start label is back for library outputs Irmen de Jong 2025-01-28 18:55:47 +01:00
  • d0f15f1285 missing pic Irmen de Jong 2025-01-27 23:40:32 +01:00
  • 66d6f67120 usage Irmen de Jong 2025-01-27 23:36:39 +01:00
  • a106c88054 unit test for %output library, and docs. Irmen de Jong 2025-01-27 22:24:57 +01:00
  • ee784e1ccc fix indication for when imported modules are library modules or not. This fixes a bug where syslib and such gets optimized away when it is loaded from an alternative library location using the configurable target library path property setting. Irmen de Jong 2025-01-26 21:19:29 +01:00
  • bb75be0b44 library now includes the 2 byte PRG header fixed some assorted things Irmen de Jong 2025-01-26 19:48:44 +01:00
  • 2478aea316 add %output library Irmen de Jong 2025-01-24 23:25:57 +01:00
  • 1e17df5296 optimize word+byte*2 expression to word+byte+byte (more efficient in 6502 codegen) Irmen de Jong 2025-01-24 21:00:00 +01:00
  • 8583a96519 optimized gnomesorts Irmen de Jong 2025-01-23 23:47:37 +01:00
  • d0c184c7de remove needless 0 initializations of multi decl's fix outdated text Irmen de Jong 2025-01-23 01:10:47 +01:00
  • 0191acb2b3 fix IR codegen for the RETURN 4,5,6,7 added cx16.EXTAPI_memory_decompress_from_func for cx16 Irmen de Jong 2025-01-22 02:31:21 +01:00
  • 277a1a32b2 fix crash when declaring a string array with wrong variable type str vs str[] Irmen de Jong 2025-01-21 03:12:12 +01:00
  • 7a13f57ab0 enforce variable init values are only strings or arrays Irmen de Jong 2025-01-20 01:25:17 +01:00
  • 0c882836d9 support multi-value variable initialization: ubyte a,b,c = multi() Irmen de Jong 2025-01-18 21:50:39 +01:00
  • 228be5cd04 callgraph no longer forgets some identifier occurrences Irmen de Jong 2025-01-18 21:18:08 +01:00
  • 08cd2fd6e8 fix check for assigning to a constant, for multi-value assigns. Irmen de Jong 2025-01-18 17:24:00 +01:00
  • bc7b086f0f fix a configurable compilation target, add working example Irmen de Jong 2025-01-17 22:58:51 +01:00
  • e8f3af6981 adding a configurable compilation target Irmen de Jong 2025-01-15 22:18:23 +01:00
  • f9c7c7dab7 fix subroutine calling convention for @Rx parameters: don't pass them via cpu registers Irmen de Jong 2025-01-14 23:02:17 +01:00
  • 09a17743ad merge IMachineDefinition into ICompilationTarget Irmen de Jong 2025-01-13 21:12:18 +01:00
  • 4f096a7511 added sprites.getxy() fix compiler crash on return xxx,yyy when symbol is not defined Irmen de Jong 2025-01-10 22:26:38 +01:00
  • 2ab2130000 renamed "intermediate AST" to "simplified AST" Irmen de Jong 2025-01-10 20:33:44 +01:00
  • 66558f7638 IR support for multi-value returns in normal subroutines, documentation. Irmen de Jong 2025-01-09 02:07:09 +01:00
  • a6f9ed07e7 6502 codegen for multi-assigns Irmen de Jong 2025-01-09 00:37:39 +01:00
  • 7268a8736f working on 6502 codegen for multi-assigns Irmen de Jong 2025-01-07 22:13:13 +01:00
  • 8f6b5676d7 working on codegen for multi-value returns Irmen de Jong 2025-01-07 02:08:30 +01:00
  • ca9422bbe9 be able to parse multiple return values (sub + return) Irmen de Jong 2025-01-07 00:20:41 +01:00
  • 35d9412559 better error message Irmen de Jong 2025-01-07 00:53:48 +01:00
  • 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) Irmen de Jong 2025-01-06 02:50:54 +01:00
  • e5ff3c1ff3 fix compiler crash when using strings in if-expression. Remove harmless info message. Irmen de Jong 2025-01-06 01:34:42 +01:00
  • f0e8ff0326 get rid of some empty lines in the generated asm Irmen de Jong 2025-01-05 19:28:39 +01:00
  • 3b5cda85ff fix register clobber on @() Irmen de Jong 2025-01-05 14:32:39 +01:00
  • 420793f9e2 mkword() avoids unneeded push/pop for simple arguments Irmen de Jong 2025-01-05 13:14:27 +01:00
  • 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 +01:00
  • d187cef6b7 optimize x=min(x,100) and some other simple min() and max() cases Irmen de Jong 2025-01-05 07:17:06 +01:00
  • 3b3616afda optimized pointer access @(pointer - constantoffset) Irmen de Jong 2025-01-05 06:07:33 +01:00
  • 0ffebc25d0 tweak pointer access, fix and optimize reading memory from a label as pointer Irmen de Jong 2025-01-05 03:53:28 +01:00
  • 478e2b4ebd abs() return type changed to ubyte/uword Irmen de Jong 2025-01-04 23:16:51 +01:00
  • a56ae7539a optimized codegen for word*128 (word << 7): no longer do 7 shifts Irmen de Jong 2025-01-04 23:05:22 +01:00
  • 407773bda2 IR: don't lose inline asm chunks, fix carry behavior for multi-shifts Irmen de Jong 2025-01-04 21:19:52 +01:00
  • 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 +01:00
  • 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 +01:00
  • a76b8d66ff cx16: added syslib.get_charset() updated fileselector Irmen de Jong 2025-01-04 01:02:43 +01:00
  • b7f47d354f IR: implemented << and >> for split word arrays Irmen de Jong 2025-01-03 20:41:06 +01:00
  • 5d33c93af9 IR: implemented rol(), rol2(), ror(), ror2() for split word arrays Irmen de Jong 2025-01-03 04:50:08 +01:00
  • 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 +01:00
  • 45fe1bb16e reduce error clutter for undefined symbols Irmen de Jong 2025-01-03 01:55:44 +01:00