Commit Graph

5166 Commits

Author SHA1 Message Date
Irmen de Jong f335251c2b added ability to specify additional assembler options in custom target configurations 2025-02-01 16:09:43 +01:00
Tymoteusz Moryto 67bc0b6931 Added txt.cls() to prog8_builtins.vim (#159) 2025-02-01 14:21:40 +01:00
gillham e646dd1ed1 Add an encoding for the C64 OS custom character set. Use c64os: (#158) 2025-01-31 23:41:55 +01:00
Irmen de Jong 2b7947f9b0 fix address check issue when using custom launcher 2025-01-31 23:34:12 +01:00
Irmen de Jong ec0cfb4b3f doc fix 2025-01-30 23:55:14 +01:00
Irmen de Jong 9cdf53019c some tweaks to the configurable targets 2025-01-30 23:52:44 +01:00
Irmen de Jong 1a04a3eb3a added ability to configure custom ASM launcher code in target configuration file 2025-01-30 22:10:42 +01:00
Irmen de Jong 105d3995e0 some docs about the configurable targets, update kotlin to 2.1.10 2025-01-29 21:14:40 +01:00
Irmen de Jong 8ce3204f93 program start label is back for library outputs 2025-01-28 19:28:34 +01:00
Irmen de Jong d0f15f1285 missing pic 2025-01-27 23:40:32 +01:00
Irmen de Jong 66d6f67120 usage 2025-01-27 23:36:39 +01:00
Irmen de Jong a106c88054 unit test for %output library, and docs. 2025-01-27 23:26:21 +01:00
Irmen de Jong 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.
2025-01-26 21:19:29 +01:00
Irmen de Jong bb75be0b44 library now includes the 2 byte PRG header
fixed some assorted things
2025-01-26 19:48:44 +01:00
Irmen de Jong 2478aea316 add %output library 2025-01-24 23:25:57 +01:00
Irmen de Jong 1e17df5296 optimize word+byte*2 expression to word+byte+byte (more efficient in 6502 codegen) 2025-01-24 21:30:02 +01:00
Irmen de Jong 8583a96519 optimized gnomesorts 2025-01-24 00:40:11 +01:00
Irmen de Jong d0c184c7de remove needless 0 initializations of multi decl's
fix outdated text
2025-01-23 22:42:58 +01:00
Irmen de Jong 0191acb2b3 fix IR codegen for the RETURN 4,5,6,7
added cx16.EXTAPI_memory_decompress_from_func for cx16
2025-01-22 23:31:51 +01:00
Irmen de Jong 277a1a32b2 fix crash when declaring a string array with wrong variable type str vs str[] 2025-01-21 03:12:12 +01:00
Irmen de Jong 7a13f57ab0 enforce variable init values are only strings or arrays 2025-01-20 01:25:17 +01:00
Irmen de Jong 0c882836d9 support multi-value variable initialization: ubyte a,b,c = multi() 2025-01-18 22:08:31 +01:00
Irmen de Jong 228be5cd04 callgraph no longer forgets some identifier occurrences 2025-01-18 21:18:08 +01:00
Irmen de Jong 08cd2fd6e8 fix check for assigning to a constant, for multi-value assigns. 2025-01-18 20:38:02 +01:00
Irmen de Jong bc7b086f0f fix a configurable compilation target, add working example 2025-01-17 22:58:51 +01:00
Irmen de Jong e8f3af6981 adding a configurable compilation target 2025-01-17 00:56:44 +01:00
Irmen de Jong f9c7c7dab7 fix subroutine calling convention for @Rx parameters: don't pass them via cpu registers 2025-01-14 23:02:17 +01:00
Irmen de Jong 09a17743ad merge IMachineDefinition into ICompilationTarget 2025-01-13 21:45:38 +01:00
Irmen de Jong 4f096a7511 added sprites.getxy()
fix compiler crash on return xxx,yyy  when symbol is not defined
2025-01-10 22:26:38 +01:00
Irmen de Jong 2ab2130000 renamed "intermediate AST" to "simplified AST" 2025-01-10 20:33:44 +01:00
Irmen de Jong 66558f7638 IR support for multi-value returns in normal subroutines, documentation. 2025-01-09 22:39:08 +01:00
Irmen de Jong a6f9ed07e7 6502 codegen for multi-assigns 2025-01-09 00:38:47 +01:00
Irmen de Jong 7268a8736f working on 6502 codegen for multi-assigns 2025-01-07 22:13:13 +01:00
Irmen de Jong 8f6b5676d7 working on codegen for multi-value returns 2025-01-07 20:35:49 +01:00
Irmen de Jong ca9422bbe9 be able to parse multiple return values (sub + return) 2025-01-07 01:51:54 +01:00
Irmen de Jong 35d9412559 better error message 2025-01-07 00:53:48 +01:00
Irmen de Jong 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) 2025-01-06 02:50:54 +01:00
Irmen de Jong e5ff3c1ff3 fix compiler crash when using strings in if-expression. Remove harmless info message. 2025-01-06 01:34:42 +01:00
Irmen de Jong f0e8ff0326 get rid of some empty lines in the generated asm 2025-01-05 19:34:05 +01:00
Irmen de Jong 3b5cda85ff fix register clobber on @() 2025-01-05 16:34:51 +01:00
Irmen de Jong 420793f9e2 mkword() avoids unneeded push/pop for simple arguments 2025-01-05 13:41:40 +01:00
Irmen de Jong cf1dbaf0d8 no longer clear msb on asmsub argument byte @R0
avoid unneeded push/pop for 2 byte arguments to a functioncall
2025-01-05 13:06:39 +01:00
Irmen de Jong d187cef6b7 optimize x=min(x,100) and some other simple min() and max() cases 2025-01-05 11:59:00 +01:00
Irmen de Jong 3b3616afda optimized pointer access @(pointer - constantoffset) 2025-01-05 06:31:34 +01:00
Irmen de Jong 0ffebc25d0 tweak pointer access, fix and optimize reading memory from a label as pointer 2025-01-05 05:44:51 +01:00
Irmen de Jong 478e2b4ebd abs() return type changed to ubyte/uword 2025-01-04 23:16:51 +01:00
Irmen de Jong a56ae7539a optimized codegen for word*128 (word << 7): no longer do 7 shifts 2025-01-04 23:08:21 +01:00
Irmen de Jong 407773bda2 IR: don't lose inline asm chunks, fix carry behavior for multi-shifts 2025-01-04 22:12:54 +01:00
Irmen de Jong 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)
2025-01-04 16:39:09 +01:00
Irmen de Jong a2be42c5ca txt.get_cursor() now returns the column and row as 2 values, no longer requires 2 pointer arguments 2025-01-04 04:06:27 +01:00