Irmen de Jong
|
25d80f4df1
|
added compiler option to choose string literal deduplication yes/no -- default changed to NO
|
2021-05-13 00:35:22 +02:00 |
|
meisl
|
ee23ac0537
|
* docs: fix typo
|
2021-05-07 15:28:22 +02:00 |
|
Irmen de Jong
|
dae59238cd
|
fix array type checking crash when attempting to use str literal to initialize a byte array.
Fixes #34
|
2021-05-07 00:04:29 +02:00 |
|
Irmen de Jong
|
8736da1a21
|
strings of 1 and 2 length no longer optimized into one call to CHROUT - also upgrade to kotlin 1.5.0
|
2021-05-06 23:46:18 +02:00 |
|
meisl
|
63d67bc6cb
|
+ docs: add missing word
|
2021-05-06 15:49:58 +02:00 |
|
Irmen de Jong
|
d906fcea0e
|
refactor some type checks
|
2021-04-30 00:09:15 +02:00 |
|
Irmen de Jong
|
29c8e8b740
|
doc
|
2021-04-29 19:57:14 +02:00 |
|
Irmen de Jong
|
71fec4c555
|
added a few more simple special codegen segements for the logic operators on a memmory-read
|
2021-04-29 19:38:42 +02:00 |
|
Irmen de Jong
|
5ee36c897d
|
todo
|
2021-04-29 00:57:32 +02:00 |
|
Irmen de Jong
|
4aba0c7405
|
unused variables are removed more aggressively (no longer checking asm blocks for their names)
|
2021-04-29 00:48:16 +02:00 |
|
Irmen de Jong
|
8d3d5f726a
|
removed Datatype.STRUCT
|
2021-04-29 00:13:17 +02:00 |
|
Irmen de Jong
|
a9a7068818
|
removed support for structs. It was too much hassle and complexity and subtle bugs.
|
2021-04-29 00:01:20 +02:00 |
|
Irmen de Jong
|
17068130bb
|
removed PROG8_LIBDIR env variables and replaced with -libdirs command line option
|
2021-04-28 20:04:23 +02:00 |
|
Irmen de Jong
|
8b84f87217
|
removed fastrnd8() because it was hilariously bad, just use rnd()
|
2021-04-28 01:53:12 +02:00 |
|
Irmen de Jong
|
3bf335e0a0
|
todo
|
2021-04-27 23:13:46 +02:00 |
|
Irmen de Jong
|
68f696d165
|
added 'callrom' builtin function (for cx16 target) that calls a routine in banked ROM
|
2021-04-25 18:04:56 +02:00 |
|
Irmen de Jong
|
1170aed026
|
added 'callfar' builtin function (for cx16 target) that uses jsrfar to call a routine in banked RAM
|
2021-04-25 17:47:13 +02:00 |
|
Irmen de Jong
|
dd379430d9
|
added docs on flexible string character mapping to petscii
|
2021-04-20 01:22:49 +02:00 |
|
Irmen de Jong
|
a086d6e009
|
allow labels also in blocks instead of only in subroutines
|
2021-04-18 23:03:18 +02:00 |
|
Irmen de Jong
|
e93701f50e
|
fix compiler error when initializing var with memory(...) in block scope instead of subroutine
|
2021-04-17 15:49:41 +02:00 |
|
Irmen de Jong
|
56fec674c5
|
actually not simplifying if-code generation, leads to larger code at the moment
|
2021-04-13 00:03:22 +02:00 |
|
Irmen de Jong
|
54d92a027a
|
fix problems with moving vardecls from inner scope to subroutine scope
|
2021-04-12 22:53:25 +02:00 |
|
Irmen de Jong
|
319ac3a641
|
preparing optimizations for if statements
|
2021-04-12 03:34:58 +02:00 |
|
Irmen de Jong
|
0a03c46351
|
preparing optimization plan for if statements
|
2021-04-12 02:37:15 +02:00 |
|
Irmen de Jong
|
e0454e95db
|
warn about for-loop wrapped iteration if loop range is inverted from normal
|
2021-04-08 22:54:47 +02:00 |
|
Irmen de Jong
|
91e421d961
|
optimize x % p where p=power-of-2, into just x & (p-1)
|
2021-04-08 22:21:16 +02:00 |
|
Irmen de Jong
|
1a64cb38d5
|
fix compiler crash with assigning certain array values as vardecl initializer
|
2021-04-08 19:21:17 +02:00 |
|
Irmen de Jong
|
e5ff61f201
|
allow inlining of subroutines with parameters, and fix inlining of subroutines with variables
|
2021-04-07 23:38:25 +02:00 |
|
Irmen de Jong
|
123473dfc8
|
cleanup
|
2021-04-06 00:16:29 +02:00 |
|
Irmen de Jong
|
d9eccd4fba
|
set correct rom banks when using floats
|
2021-04-05 23:21:07 +02:00 |
|
Irmen de Jong
|
64c85b9617
|
fix cx16 rom v39 float changes
|
2021-04-05 22:54:40 +02:00 |
|
Irmen de Jong
|
3e3b0bcd8b
|
callgraph improved unused node checking
|
2021-04-05 20:45:18 +02:00 |
|
Irmen de Jong
|
75d5117a2d
|
fix struct flattening parent node mismatch
|
2021-04-05 00:30:42 +02:00 |
|
Irmen de Jong
|
374e2b311d
|
refactoring unused code removal and noModification
|
2021-04-04 16:36:33 +02:00 |
|
Irmen de Jong
|
49036abbaf
|
docs
|
2021-04-04 12:55:29 +02:00 |
|
Irmen de Jong
|
6b4896b8f5
|
doc
|
2021-04-02 21:28:23 +02:00 |
|
Irmen de Jong
|
d582d1cc42
|
fix inlining subroutines multiple times
|
2021-04-02 21:23:40 +02:00 |
|
Irmen de Jong
|
6fdc733941
|
inlining subroutines that contain variable declarations is now possible (gives a warning though)
|
2021-04-02 18:30:32 +02:00 |
|
Irmen de Jong
|
422b390c48
|
fix ast node duplication/reference bug in certain optimizers
|
2021-04-02 16:56:52 +02:00 |
|
Irmen de Jong
|
67a9d1285c
|
some words about how the X register can't or can be used
|
2021-04-02 00:19:46 +02:00 |
|
Irmen de Jong
|
8e26e38ecc
|
fix RTS-issue with inlined return statement
|
2021-04-01 23:30:19 +02:00 |
|
Irmen de Jong
|
02e12d8575
|
improvements for inlined subroutines: fix identifier scoping
|
2021-04-01 23:16:04 +02:00 |
|
Irmen de Jong
|
fe2954ce08
|
todo
|
2021-04-01 22:10:04 +02:00 |
|
Irmen de Jong
|
3f30d3aa89
|
added sys.waitrastborder() for c64
|
2021-04-01 18:53:16 +02:00 |
|
Irmen de Jong
|
129e17b33a
|
added sys.waitvsync() + missing documentation
|
2021-04-01 18:31:33 +02:00 |
|
Irmen de Jong
|
0991131fa8
|
don't stript unused asmsub definitions
|
2021-03-21 19:55:21 +01:00 |
|
Irmen de Jong
|
ca868ae19e
|
added cx16.vload() (like the VLOAD basic instruction)
|
2021-03-20 02:39:53 +01:00 |
|
Irmen de Jong
|
3e286dd14c
|
move test
|
2021-03-18 19:34:54 +01:00 |
|
Irmen de Jong
|
11247d52b1
|
fix bugs in word <= and >= comparisons
|
2021-03-18 19:20:48 +01:00 |
|
Irmen de Jong
|
b30b8b7368
|
fix bug in float < and > comparisons
|
2021-03-18 01:41:54 +01:00 |
|
Irmen de Jong
|
7f21d89fea
|
moved test programs to test folder in compiler module
|
2021-03-17 20:15:16 +01:00 |
|
Irmen de Jong
|
6381d2b6ac
|
improve word '<', word (u)word '<=' , uword '>=' codegen
|
2021-03-16 18:15:47 +01:00 |
|
Irmen de Jong
|
496a3b0d2c
|
todo
|
2021-03-15 18:56:25 +01:00 |
|
Irmen de Jong
|
6922333755
|
add a cmp(x,y) function that returns no value but only sets the status bits based off the comparison (can be used with a conditional jump afterwards)
|
2021-03-13 15:11:22 +01:00 |
|
Irmen de Jong
|
1c1da8e38e
|
additional optimization to the bresenham line routines
|
2021-03-10 18:49:40 +01:00 |
|
Irmen de Jong
|
50a306f492
|
line drawing fixes
|
2021-03-09 22:11:30 +01:00 |
|
Irmen de Jong
|
60e169bd87
|
added optimized integer square (x*x) routine
|
2021-03-08 23:08:47 +01:00 |
|
Irmen de Jong
|
e4bca5fe47
|
version
|
2021-03-06 23:07:30 +01:00 |
|
Irmen de Jong
|
2950d26c8e
|
array and struct value assignments now via memcopy instead of assignment per element
|
2021-03-06 22:10:03 +01:00 |
|
Irmen de Jong
|
4f8d4a9585
|
use memcopy to assign arrays
|
2021-03-06 19:01:16 +01:00 |
|
Irmen de Jong
|
2770254fd9
|
removed inline assembly from bobs demo
|
2021-03-06 14:31:26 +01:00 |
|
Irmen de Jong
|
de04bd8cfa
|
added more convenient number-to-string functions to conv library
|
2021-03-06 13:47:27 +01:00 |
|
Irmen de Jong
|
076a547f91
|
added more convenient number-to-string functions to conv library
|
2021-03-06 13:34:57 +01:00 |
|
Irmen de Jong
|
dffd0a2706
|
added fastrnd8() with the old rnd() generator code in it, new code for rnd() uses the much better rndw() generator now.
|
2021-03-05 22:49:14 +01:00 |
|
Irmen de Jong
|
6c66f86103
|
todo
|
2021-03-05 21:07:35 +01:00 |
|
Irmen de Jong
|
26502c949a
|
add unlimited bobs example
|
2021-03-05 19:05:13 +01:00 |
|
Irmen de Jong
|
9fe32c1c34
|
codegen uses 'bra' on 65c02 instead of 'jmp'
|
2021-02-28 16:46:08 +01:00 |
|
Irmen de Jong
|
7e3e18a5c7
|
deal with 'bra' better on 65c02
|
2021-02-28 16:20:03 +01:00 |
|
Irmen de Jong
|
8e3ebc84f0
|
readme
|
2021-02-28 15:40:04 +01:00 |
|
Irmen de Jong
|
2b435fe6a5
|
vtui example updated to vtui 0.6
|
2021-02-27 03:30:21 +01:00 |
|
Irmen de Jong
|
8b1e1e68fa
|
switch to Kotlin's new JVM IR compilation
|
2021-02-26 01:10:00 +01:00 |
|
Irmen de Jong
|
cd500fee8c
|
wording
|
2021-02-25 00:52:27 +01:00 |
|
Irmen de Jong
|
1bd32c0f19
|
added animal guessing game example
|
2021-02-24 22:58:16 +01:00 |
|
Irmen de Jong
|
d14dac3872
|
got rid of final traces of heapid, fixed compiler warnings
|
2021-02-24 00:01:04 +01:00 |
|
Irmen de Jong
|
6e65cb2c0a
|
added sounds to cx16 tehtriz
|
2021-02-23 01:29:45 +01:00 |
|
Irmen de Jong
|
334f86480a
|
added irq routines for cx16
|
2021-02-22 00:48:41 +01:00 |
|
Irmen de Jong
|
edf9a500d3
|
kernel -> kernal
|
2021-02-21 22:48:06 +01:00 |
|
Irmen de Jong
|
001d01fdaf
|
slight tweak to 64tass .cpu to enable wdc65c02 variant on cx16 with its extra opcodes
|
2021-02-21 22:45:23 +01:00 |
|
Irmen de Jong
|
a95677564e
|
changed system irq/rasterirq setting routines
|
2021-02-21 22:23:50 +01:00 |
|
Irmen de Jong
|
5540482888
|
compiler error for duplicate when choice labels
|
2021-02-21 21:26:15 +01:00 |
|
Irmen de Jong
|
b5289511ba
|
don't remove empty when choice from the list of choices!
|
2021-02-21 15:11:19 +01:00 |
|
Irmen de Jong
|
b6ded8501f
|
added 'align_word' and 'align_page' block options to control block start address alignment in the assembler
|
2021-02-21 01:24:44 +01:00 |
|
Irmen de Jong
|
781915d2cf
|
reducing dependencies
|
2021-02-20 17:54:33 +01:00 |
|
Irmen de Jong
|
d23c2eed86
|
test
|
2021-02-20 16:58:24 +01:00 |
|
Irmen de Jong
|
15695a304e
|
start address of blocks without explicit memory address, is now word-aligned in memory
|
2021-02-20 03:06:00 +01:00 |
|
Irmen de Jong
|
0ed3d951a7
|
don't require carry parameter Pc to asmsubs to be last
|
2021-02-20 02:27:57 +01:00 |
|
Irmen de Jong
|
b543cc34cd
|
no longer warn about removing unused asmsubs
|
2021-02-18 01:52:56 +01:00 |
|
Irmen de Jong
|
791dbbab9b
|
fixed block label itself not getting the correct memory address in the assembly
fixed %asmbinary relative path issues
|
2021-02-18 01:28:33 +01:00 |
|
Irmen de Jong
|
2f97aedc3c
|
fixed invalid removal of string tag from memory()
|
2021-02-16 23:58:31 +01:00 |
|
Irmen de Jong
|
ab544ee965
|
improved string constant interning; no longer output duplicate strings in the Ast
|
2021-02-16 23:43:38 +01:00 |
|
Irmen de Jong
|
92ee0aefee
|
docs: replaced old invalid c64scr names with txt
|
2021-02-16 23:28:35 +01:00 |
|
Irmen de Jong
|
194fbcdd91
|
todos
|
2021-02-15 04:41:33 +01:00 |
|
Irmen de Jong
|
1e3930aae2
|
fix bug in evaluating logical expressions if one of the operands was not boolean 1 or 0
|
2021-02-14 18:29:05 +01:00 |
|
Irmen de Jong
|
53f0318187
|
version 6.1
|
2021-02-14 00:07:45 +01:00 |
|
Irmen de Jong
|
02cb237623
|
added poke() and pokew() builtin functions
|
2021-02-13 23:16:50 +01:00 |
|
Irmen de Jong
|
cc0f19653e
|
added peek() and peekw() builtin functions
|
2021-02-13 22:38:39 +01:00 |
|
Irmen de Jong
|
f6136891cc
|
optimized for loop over const bytes, fixed downto 1
|
2021-02-13 13:46:02 +01:00 |
|
Irmen de Jong
|
1e22170302
|
added graphical starmaps to textelite
|
2021-02-11 00:23:36 +01:00 |
|
Irmen de Jong
|
321fdd10d1
|
ported tehtriz to Cx16
|
2021-02-10 21:55:14 +01:00 |
|
Irmen de Jong
|
7c09ac632c
|
got rid of the --longOptionNames in the cli argparser
|
2021-02-10 21:26:46 +01:00 |
|