| 
							
							
								 Irmen de Jong | 71ffbe2ba7 | document the long type | 2025-10-04 22:33:43 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | e63921009c | added math.mul32(), verafx.muls now returns long | 2025-10-04 21:54:53 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | db1aa3f257 | math.crc32() now returns the crc value as a long | 2025-10-04 17:40:49 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | efff74c0f1 | added sys.pushl() and sys.popl() | 2025-10-04 03:05:50 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 0e177cb531 | added cbm.RDTIML and cbm.SETTIML wrappers | 2025-10-04 02:00:24 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 35b921b062 | added bcdmodule for decimal addition and subtraction using BCD mode | 2025-10-03 23:36:17 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | a7d98e43b8 | cmp(long, long) | 2025-10-03 22:41:59 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 845ee2dd83 | smaller code for several long operations | 2025-10-03 21:25:13 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | f9b0bfe31b | implement rol() and ror() on longs  (also rol2 and ror2 and abs) | 2025-10-03 01:22:24 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | f303d15628 | fix long equality checks | 2025-10-03 01:22:24 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 67f7ffa52d | multi value returns with longs | 2025-10-03 01:22:24 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 88c5d9783a | long params and return values | 2025-10-03 01:22:24 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | e7fc0360ad | long bitwise operator expressions | 2025-10-03 01:22:24 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | cd1862dd9f | fix signed long shift right | 2025-10-03 01:22:24 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 045c4909a8 | long equality comparisons | 2025-10-03 01:22:24 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | e0107bacbd | implement long << >> expressions | 2025-10-03 01:22:24 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | b3bd2a6a09 | fixed a bunch of long type handling | 2025-10-03 01:22:24 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | ff1f58e022 | implement simple + / - long expressions | 2025-10-03 01:22:24 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 44f70da113 | upgrade to JDK 17 for the build process (required by Gradle 9) | 2025-10-03 00:18:55 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | c09b1395f6 | IR: add a unit test for the SSA basic block change | 2025-10-01 22:49:51 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | d6a8201291 | IR: fix SQRT reg1 type | 2025-10-01 20:28:38 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 4187f97f7a | IR: rename <CODE> to <CHUNK> , put the code lines in a new sub node <CODE> for improved xml structure | 2025-10-01 19:32:05 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 9d3b2f12fd | IR code blocks now better SSA basic blocks (ending with single branch instruction) | 2025-10-01 19:08:44 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 75da38224d | IR: make LSIG,MSIG,CONCAT instruction set flags to skip cmp #0 afterwards   (if msb(x)>0) | 2025-09-30 21:48:57 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 2c8b1c2022 | moved cx16.cpu_is_65816() to sys.cpu_is_65816().  It know also does proper detection on the C64 and C128 like on the X16, because those two computers can also have this CPU via a SuperCPU expansion. | 2025-09-29 21:37:26 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 2c7256a443 | support assignment to indexed pointer targets | 2025-09-27 14:52:04 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 65d6c1c438 | fix IR instruction R/W usage counter | 2025-09-25 01:50:27 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | abeefb5655 | improved pointer[0] | 2025-09-24 22:26:09 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 50fecbcebe | c64 sprite multiplexer WIP | 2025-09-24 21:11:08 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 4fe8b72d42 | fix broken uword comparison and asm peephole optimization | 2025-09-24 02:42:26 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | f3b060df51 | no longer save Y register when loading value through ZP pointer LDA (zp),Y | 2025-09-23 22:59:01 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 09d1cb6925 | fix crash when indexing on a label or subroutine name working on multiplexer | 2025-09-23 20:07:52 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 54fa72fa98 | added sys.waitrasterline() routine   like sys.waitvsync() but wait for a given raster line optimize uword <= $xx00 into msb(uword)<$xx | 2025-09-23 01:09:54 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | fd62fe7511 | fix crash on invalid type cast added to ptr deref expression ('.' operator) | 2025-09-22 23:54:01 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | bfb34dff62 | fix recursive var decl error in case of some pointer derefs | 2025-09-22 23:45:59 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 817b623596 | optimize uword >= $xx00  into  msb(uword)>=$xx | 2025-09-22 22:59:56 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | f6dbeb1f63 | working on a more complex c64 sprite multiplexer | 2025-09-22 21:58:12 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | c4b9bdd33f | proper pointer array initializer size checking, nicer sprite movement in simplemultiplexer | 2025-09-22 20:07:38 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 68e0d5f1b5 | add sys.set_rasterline on c64 and c128 targets as well (cx16 already had it) | 2025-09-21 01:36:43 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 4939e3df55 | add sys.update_rasterirq, more robust sei/cli handling, added simple c64 sprite multiplexer example | 2025-09-21 00:28:33 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 19f19f3880 | doc and opening borders | 2025-09-20 21:44:48 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | ad0c767ea8 | %breakpoint! introduced to place after an assignment to make it parse correctly | 2025-09-20 00:46:15 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | c2f5d37486 | new cx16/charfade.p8 example | 2025-09-19 04:44:08 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 231b50dacb | optimize certain word multiplication with bit shifting if it's a power of 2 | 2025-09-18 20:57:26 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | a71895cbe8 | optimize pointer.field += 1 into pointer.field INC/DEC | 2025-09-18 19:27:36 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | a8bede17b2 | fix defer() with the arena allocator ("return values are evaluated before the defer is executed") | 2025-09-17 23:59:32 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | f6c8e693a5 | add offsetof() | 2025-09-17 23:30:15 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 9461e4088c | fixed the hashtable example and workarounds for misbehaving defer in allocators | 2025-09-17 22:53:01 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | efd73fd10d | implement some more in place pointer operators | 2025-09-17 18:19:03 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | ddf6e84a1a | fix type checks for wrong pointer types in pointer array initalizer and assignment | 2025-09-16 21:18:29 +02:00 |  |