Irmen de Jong
|
dca31b2ca3
|
added gfx_lores module for cx16 for optimized graphics routines for lores 256c screen mode
currently contains a new line() routine
|
2024-09-14 15:30:39 +02:00 |
|
Irmen de Jong
|
cf551d2cc7
|
tweak containment check even more
|
2024-09-13 00:02:26 +02:00 |
|
Irmen de Jong
|
255c5bfaca
|
improve containment check for few values
|
2024-09-11 03:24:30 +02:00 |
|
Irmen de Jong
|
01c6754928
|
get rid of problematic common-subexpression optimization
|
2024-09-11 01:10:42 +02:00 |
|
Irmen de Jong
|
8eaf884f69
|
improve codegen for for loops downto 0,1 when start value is not const
|
2024-09-10 23:54:44 +02:00 |
|
Irmen de Jong
|
699a2bb7ab
|
improved codegen for for loops downto 0
|
2024-09-10 21:33:57 +02:00 |
|
Irmen de Jong
|
4e98fb75d6
|
support assigning multiple return flags from asmsub in 6502 codegen
|
2024-09-09 22:56:40 +02:00 |
|
Irmen de Jong
|
7aec627f6b
|
add optimization if x==0 or x==1 -> if x<2
|
2024-09-08 22:39:48 +02:00 |
|
Irmen de Jong
|
59a2fec176
|
fix IR containment check
|
2024-09-08 21:49:13 +02:00 |
|
Irmen de Jong
|
f7feaf158d
|
added cx16.mouse_present() routine to check for presence of mouse
|
2024-09-06 18:21:13 +02:00 |
|
Irmen de Jong
|
2396f707c6
|
fix bug in codegen for certain array lookups using word typed index value (i.e. via a pointer variable)
|
2024-09-06 18:11:41 +02:00 |
|
Irmen de Jong
|
d4d8e1b1ba
|
comment about implementation in life example
|
2024-09-06 16:39:44 +02:00 |
|
Irmen de Jong
|
0eac04c220
|
added cx16/life.p8 example (Conway's game of life)
|
2024-09-06 15:21:29 +02:00 |
|
Irmen de Jong
|
29dd758302
|
Fix compiler crash in for loops with just 1 iteration
|
2024-09-05 21:26:46 +02:00 |
|
Irmen de Jong
|
e2fcac322f
|
optimizing gfx2.fill()
|
2024-08-25 13:51:01 +02:00 |
|
Irmen de Jong
|
e439720c9d
|
optimized string compares
|
2024-08-24 14:53:18 +02:00 |
|
Irmen de Jong
|
b566ea5c3f
|
added string.rfind()
|
2024-08-22 23:22:31 +02:00 |
|
Irmen de Jong
|
b70ce0015c
|
fix missing opportunities to use TSB instruction
|
2024-07-24 22:51:49 +02:00 |
|
Irmen de Jong
|
c67f877857
|
Codegen: use BIT instruction for memory location bit 7 and 6 tests (use N and V flags)
|
2024-07-24 19:26:54 +02:00 |
|
Irmen de Jong
|
4c98070b3c
|
optimize shifts by 1 by inlining it better
|
2024-07-21 22:08:41 +02:00 |
|
Irmen de Jong
|
3681d6ee1c
|
optimize division by powers of 2 better (into bit shifts)
|
2024-07-21 21:34:38 +02:00 |
|
Irmen de Jong
|
0af17cdc33
|
todo's for division optimizations
|
2024-07-21 20:32:03 +02:00 |
|
Irmen de Jong
|
2aae1f5e30
|
stricter checks for negative array indexing
|
2024-07-20 22:37:03 +02:00 |
|
Irmen de Jong
|
d18f2a7bfd
|
improved codegen for some pointer+index expressions
|
2024-07-18 23:41:34 +02:00 |
|
Irmen de Jong
|
9046fe8d3a
|
ringbuffer and pointer optimization todo
|
2024-07-16 22:59:31 +02:00 |
|
Irmen de Jong
|
78c7ee247a
|
generate 65c02 TSB/TRB instructions in certain cases
|
2024-07-16 00:36:00 +02:00 |
|
Irmen de Jong
|
484677b4b1
|
Get rid of any() and all() builtin functions.
Replaced by regular subroutines in the anyall module.
|
2024-07-06 18:49:03 +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
|
0c053e4a2c
|
IR: don't confuse symbol names starting with 'r', with register names
Added start of buffer.p8 (experimental)
|
2024-07-04 01:39:25 +02:00 |
|
Irmen de Jong
|
7a9dd1ac9b
|
optimize trivial 65c02 stack instructions
|
2024-06-29 15:42:40 +02:00 |
|
Irmen de Jong
|
1c97c22eff
|
optimize simple word and byte addition/subtraction better
|
2024-06-29 14:33:42 +02:00 |
|
Irmen de Jong
|
3d799ae7fe
|
todo
|
2024-06-01 15:03:01 +02:00 |
|
Irmen de Jong
|
d2e010c439
|
added cx16.scnsiz (extapi call), describe profiler.py script
|
2024-05-31 21:48:29 +02:00 |
|
Irmen de Jong
|
fd1e6796ef
|
correct branch instruction, fixes #137
|
2024-05-24 20:54:40 +02:00 |
|
Irmen de Jong
|
3ea0f0cbaa
|
remove 16 bit f_tell variant.
|
2024-05-22 21:47:02 +02:00 |
|
Irmen de Jong
|
f3e3311598
|
added diskio.f_tell() and f_tell32() on the cx16 target
|
2024-05-21 23:14:25 +02:00 |
|
Irmen de Jong
|
0dc50a93a4
|
added @nozp variable flag
|
2024-05-21 21:53:58 +02:00 |
|
Irmen de Jong
|
fda8e61be4
|
give better error when using @split wrong
|
2024-05-20 21:51:07 +02:00 |
|
Irmen de Jong
|
c719e274d5
|
java version tweaks
|
2024-05-18 20:25:44 +02:00 |
|
Irmen de Jong
|
62afd3342e
|
void syntax check, fixes #135
|
2024-05-18 17:15:31 +02:00 |
|
Irmen de Jong
|
7915dda35f
|
update libraries
|
2024-05-12 03:02:54 +02:00 |
|
Irmen de Jong
|
a7247f5b8b
|
fix boolean expression optimization bug
|
2024-04-12 21:56:25 +02:00 |
|
Irmen de Jong
|
5d7ddebcad
|
fix bool to uword cast in 6502 codegen
|
2024-04-11 00:34:53 +02:00 |
|
Irmen de Jong
|
53df0eb707
|
cleanups
|
2024-04-10 22:04:03 +02:00 |
|
Irmen de Jong
|
f4b50368ba
|
fix grammar: if_xx with else part
|
2024-04-09 22:35:30 +02:00 |
|
Irmen de Jong
|
db80417bd7
|
fix a problem with const fold optimization in if expressions, and IR compilation of that
|
2024-04-09 22:09:29 +02:00 |
|
Irmen de Jong
|
2aae46d632
|
added -dumpsymbols option to print a dump of all the variables and subroutine signatures
|
2024-04-09 19:19:13 +02:00 |
|
Irmen de Jong
|
19ebc6d6b3
|
better error message for ambiguous multi-var initialization in vardecl
|
2024-04-08 22:36:00 +02:00 |
|
Irmen de Jong
|
6ed9899dc7
|
smarter desugaring of ubyte x,y
|
2024-04-07 23:36:46 +02:00 |
|
Irmen de Jong
|
9de7698a5c
|
verafx.mult() and muls() now return both words of the 32 bits result.
|
2024-04-07 22:41:21 +02:00 |
|