Irmen de Jong
|
5731b79554
|
don't allow problematic string and array assignments anymore, improve error messages.
In certain cases you will need to use string.copy() explicitly to overwrite strings with new strings.
|
2024-10-09 00:51:05 +02:00 |
|
Irmen de Jong
|
eaa22a9d13
|
added callfar2() builtin function that allows to set A,X,Y and Carry arguments.
|
2024-10-08 21:36:04 +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
|
a088ee56b0
|
function inlining can no longer get into an infinite loop. Fixes #154
|
2024-10-07 19:58:04 +02:00 |
|
Irmen de Jong
|
ae669af904
|
add sys.sizeof_byte, _word, _float constants
because Antlr doesn't allow the grammar to contain a sizeof(typename) rule to override the sizeof(identifier) rule
|
2024-10-07 19:17:37 +02:00 |
|
Irmen de Jong
|
d1ddf05e38
|
check that block address leaves room for program startup logic
|
2024-10-03 22:30:06 +02:00 |
|
Irmen de Jong
|
51279a98b3
|
attempt to fix forloop range datatype issues
|
2024-10-03 21:12:31 +02:00 |
|
Irmen de Jong
|
bf33a4f82d
|
small refactor to prepare for better range dt adjustment
|
2024-10-02 23:28:33 +02:00 |
|
Irmen de Jong
|
fff0d741c3
|
improved parsing of "not in" operator, and [] array signature (allow space)
|
2024-10-02 19:06:20 +02:00 |
|
Irmen de Jong
|
e83d0ee820
|
fix crash in msb() when assigning to word again. Fix wrong register in lsb() and msb() in certain situations.
|
2024-10-02 02:40:16 +02:00 |
|
Irmen de Jong
|
09f3eecf56
|
changed cx16/rotating-stars example to starszoom instead.
|
2024-10-02 01:36:54 +02:00 |
|
Irmen de Jong
|
ea3871d0c4
|
comment about builtin function call ast node type
|
2024-10-01 02:14:31 +02:00 |
|
Irmen de Jong
|
3cf39e072e
|
fix C64 floating point sign issue
|
2024-09-30 21:56:34 +02:00 |
|
Irmen de Jong
|
413b86cc4a
|
more helpful error messages
|
2024-09-30 00:27:29 +02:00 |
|
Irmen de Jong
|
a6107fcfdf
|
taking the address of a romsub is now the constant value of said romsub's declared address
|
2024-09-29 23:53:39 +02:00 |
|
Irmen de Jong
|
a064ade1e0
|
better codegen for call() function
|
2024-09-29 23:18:51 +02:00 |
|
Irmen de Jong
|
df35aa7942
|
added (experimental) compression library
|
2024-09-29 18:59:53 +02:00 |
|
Irmen de Jong
|
cd49c5f88d
|
cx16: set rom bank to 0 at startup (for faster kernal API calls)
cx16: callfar() with constant address generates shorter asm
|
2024-09-28 20:58:29 +02:00 |
|
Irmen de Jong
|
1541ad2160
|
fix variable init order mistake in program startup
reset multiply bit at end of verafx.muls
|
2024-09-28 19:17:45 +02:00 |
|
Irmen de Jong
|
c78b7b1a24
|
added verafx.mult16()
|
2024-09-28 01:00:28 +02:00 |
|
Irmen de Jong
|
3f630ab1b0
|
RAW output now also properly initializes variables
|
2024-09-27 18:46:03 +02:00 |
|
Irmen de Jong
|
04cb684fd4
|
tweak program start initialization and fix cleanup at exit for atari and pet compiler targets
|
2024-09-27 02:14:54 +02:00 |
|
Irmen de Jong
|
d3e4481112
|
fix asm optimizer bug where it erroneously discarded rts with a label
|
2024-09-22 21:41:41 +02:00 |
|
Irmen de Jong
|
e29ff1c848
|
fix name redefinition check for multi-declarations
|
2024-09-20 19:55:32 +02:00 |
|
Irmen de Jong
|
46b94c17d6
|
comment
|
2024-09-20 17:33:00 +02:00 |
|
Irmen de Jong
|
2954f5f04d
|
Add clear_screen and set_screen_mode to gfx_lores. Fix boolean draw vs color param in some monogfx routines. Elaborate some docs.
|
2024-09-17 22:19:47 +02:00 |
|
Irmen de Jong
|
cac4c1eb1e
|
improve callgraph unused subroutine check for routines called from inline asm
|
2024-09-16 21:49:30 +02:00 |
|
Irmen de Jong
|
0b1f30d98c
|
no more span overdraws in graphics disc routines
|
2024-09-15 15:38:33 +02:00 |
|
Irmen de Jong
|
c7b1e8d772
|
fixed a variable scopedname issue where it took the fully scoped name instead of just the local name
this made 64tass not strip out that code if it was unused
|
2024-09-14 23:17:26 +02:00 |
|
Irmen de Jong
|
0d3ad80659
|
retain type of consts better to avoid precision loss
this also fixed a difference in const calculation where the result could differ if you were using optimzations or not.
|
2024-09-14 21:06:21 +02:00 |
|
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 |
|