Irmen de Jong 
							
						 
					 
					
						
						
							
						
						cf7bea0985 
					 
					
						
						
							
							cleanup RTS insertion and ast postprocessing before assembly generation  
						
						
						
						
					 
					
						2025-05-21 00:19:50 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						7668a3c660 
					 
					
						
						
							
							use kotest tempdir instead of hardcoded output directory  
						
						
						
						
					 
					
						2025-03-14 01:18:33 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						125b66c929 
					 
					
						
						
							
							fix crash in asmgen for boolean comparison with false, when not using optimizations  
						
						
						
						
					 
					
						2025-03-01 23:57:55 +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 
							
						 
					 
					
						
						
							
						
						1a1ab0dac6 
					 
					
						
						
							
							changed the data type system to composite types  
						
						
						
						
					 
					
						2024-12-05 21:48:51 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						617ea15c3a 
					 
					
						
						
							
							fix failing optimization of 'not' in if statements  
						
						
						
						
					 
					
						2024-12-04 19:03:24 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						9864abd393 
					 
					
						
						
							
							romsub keyword is now extsub  
						
						
						
						
					 
					
						2024-11-06 22:14:53 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						491e5dbcfb 
					 
					
						
						
							
							move the program startup and cleanup machinery to the front of the program to keep it in system ram  
						
						
						
						
					 
					
						2024-11-05 22:12:25 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						4b4af9b527 
					 
					
						
						
							
							no longer silently add RTS to asmsubs that don't have one  
						
						
						
						
					 
					
						2024-10-27 13:49:00 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						a0cf1889a3 
					 
					
						
						
							
							omit more redundant 0-initializations ("stz's")  
						
						
						
						
					 
					
						2024-10-17 22:51:39 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						7c69d38588 
					 
					
						
						
							
							scan all asmsubs to see if another subroutine is referenced.  Fixes   #153  
						
						
						
						
					 
					
						2024-10-07 20:39:49 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						255c5bfaca 
					 
					
						
						
							
							improve containment check for few values  
						
						
						
						
					 
					
						2024-09-11 03:24:30 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						edc5a5a94f 
					 
					
						
						
							
							improve data driven unit tests to use kotest withData()  
						
						
						
						
					 
					
						2024-09-08 16:55:08 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						25f25a8767 
					 
					
						
						
							
							Get rid of sort() and reverse() builtin functions.  
						
						... 
						
						
						
						Sort() had too many gotchas and reverse() is kinda redundant you can loop in decreasing order through an array too. 
						
						
					 
					
						2024-07-06 17:07:58 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						ddf990296b 
					 
					
						
						
							
							fix subroutine inlining symbol scope error  
						
						
						
						
					 
					
						2024-06-29 18:53:54 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						4f8aaf9244 
					 
					
						
						
							
							some tweaks and todos  
						
						
						
						
					 
					
						2024-06-26 21:22:40 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						2675623aea 
					 
					
						
						
							
							fix optimization ast parent linkage problem  
						
						
						
						
					 
					
						2024-04-16 23:27:22 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						cfe3fcc9e7 
					 
					
						
						
							
							fix symbol table issue  
						
						
						
						
					 
					
						2024-04-06 12:53:33 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						66a6659a6e 
					 
					
						
						
							
							cbm.STOP2() and cbm.GETIN2() convenience routines  
						
						
						
						
					 
					
						2024-04-06 02:16:21 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						ad4880997a 
					 
					
						
						
							
							no operand swap on logical expressions with shortcircuit evaluation (and,or are no longer associative!)  
						
						
						
						
					 
					
						2024-03-20 22:34:48 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						de3d0b40dc 
					 
					
						
						
							
							fixed vm problem with branching instructions in global init chunk  
						
						
						
						
					 
					
						2024-03-17 13:22:17 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						a5110b1f96 
					 
					
						
						
							
							improved De Morgan rewrite rules  
						
						
						
						
					 
					
						2024-03-02 23:19:39 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						f40b7b62bb 
					 
					
						
						
							
							updated unit tests and some basic changes for them  
						
						
						
						
					 
					
						2024-03-02 23:19:20 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						01bbc2234e 
					 
					
						
						
							
							fix absorption law optimization, add 2 additional optimizations  
						
						
						
						
					 
					
						2024-02-14 23:12:54 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						4dc50cb551 
					 
					
						
						
							
							fix unused subroutine removal not removing all unused subs  
						
						
						
						
					 
					
						2024-02-10 21:26:53 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						358215e4dd 
					 
					
						
						
							
							removed postIncrDecr (still allow ++/-- to be parsed into +=1/-=1)  
						
						
						
						
					 
					
						2024-02-06 18:50:08 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						a8c09d6144 
					 
					
						
						
							
							removed a problematic bitshift replacement in the const evaluator  
						
						
						
						
					 
					
						2024-01-21 23:05:51 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						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. 
						
						
					 
					
						2024-01-11 22:12:01 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						f8084e7955 
					 
					
						
						
							
							fix const replacement optimization error on memory mapped variable  
						
						
						
						
					 
					
						2024-01-07 18:48:18 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						6d9fccacb1 
					 
					
						
						
							
							boolean not expression tweaks and optimizations  
						
						
						
						
					 
					
						2024-01-05 13:32:16 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						37638e7ed0 
					 
					
						
						
							
							added Absorption laws optimization  
						
						
						
						
					 
					
						2024-01-05 00:36:47 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						8a0e650511 
					 
					
						
						
							
							apply De Morgan's laws for logical not, results in smaller code  
						
						
						
						
					 
					
						2024-01-04 23:45:46 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						56ba24962c 
					 
					
						
						
							
							fixed 'not not x' optimization to just 'x'  
						
						
						
						
					 
					
						2024-01-04 15:02:21 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						8f18b5b8a7 
					 
					
						
						
							
							keep distinction between logical and bitwise boolean operators  
						
						
						
						
					 
					
						2023-12-30 01:08:42 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						d03ff1e4d0 
					 
					
						
						
							
							improved var -> const replacement, now done in constfolding already (fixes some obscure problems later on)  
						
						... 
						
						
						
						Also fixed some directive parenting errors 
						
						
					 
					
						2023-12-29 19:48:40 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						a0594cbce3 
					 
					
						
						
							
							const optimizer now knows about a bunch of library functions, such as math.*  
						
						
						
						
					 
					
						2023-12-28 20:14:13 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						44d82f9190 
					 
					
						
						
							
							add unit tests  
						
						
						
						
					 
					
						2023-12-28 13:30:07 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						09c6cb4d6b 
					 
					
						
						
							
							replace unwritten vars by consts. Improved const eval.  
						
						... 
						
						
						
						Fixed some slight bugs in library code 
						
						
					 
					
						2023-12-28 05:17:15 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						ffdc658dc8 
					 
					
						
						
							
							type error tweaks  
						
						
						
						
					 
					
						2023-12-26 18:49:01 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						6bc079c7b7 
					 
					
						
						
							
							more asm symbol prefixing: variables with p8v_, subroutines with p8s_ etc  
						
						... 
						
						
						
						labels with p8l_ . All this to avoid symbol clashes in the generated assembly code.
Everything got its own distinguishing prefix so we're done with it once and for all and have only 1 breaking change moment. 
						
						
					 
					
						2023-12-20 22:20:59 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						a8be94de6b 
					 
					
						
						
							
							better error message when attempting to cast a float to integer  
						
						
						
						
					 
					
						2023-12-15 22:28:06 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						6ebd4e821f 
					 
					
						
						
							
							improved docs about subroutine scoping, fix possible optimizer crash for inlined sub  
						
						
						
						
					 
					
						2023-12-04 23:23:52 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						88a1aa4f3d 
					 
					
						
						
							
							fix invalid optimization for integers (X/C1)*C2 , only ok for floats because of int rounding  
						
						
						
						
					 
					
						2023-12-01 23:17:49 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						62d3f01948 
					 
					
						
						
							
							fix name check in inline asm  
						
						... 
						
						
						
						this no longer removes a subroutine that is otherwise only called from inlined asm. 
						
						
					 
					
						2023-11-21 01:26:50 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						f21adaa3ef 
					 
					
						
						
							
							fix compiler error caused by removal of string symbol in txt.print() optimization  
						
						
						
						
					 
					
						2023-11-17 19:51:48 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						70a78e74f6 
					 
					
						
						
							
							get rid of binexpr splitter  
						
						
						
						
					 
					
						2023-07-20 01:36:43 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						38efe25c68 
					 
					
						
						
							
							abs() now works on multiple data types including float.  
						
						... 
						
						
						
						no need to use floats.fabs() anymore 
						
						
					 
					
						2023-05-02 01:19:53 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						dc32318cec 
					 
					
						
						
							
							fix possible string error on inlined subroutines  
						
						
						
						
					 
					
						2023-03-12 18:16:48 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						fc253237c9 
					 
					
						
						
							
							fix issues with reporting inlined subroutines as unused  
						
						
						
						
					 
					
						2023-03-07 23:47:14 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						540b3ae2f4 
					 
					
						
						
							
							tweak BinaryExpression splitting  
						
						
						
						
					 
					
						2023-02-28 21:45:38 +01:00