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
|
078bfefe41
|
clarify scoped names a bit more
|
2023-12-28 16:36:29 +01:00 |
|
Irmen de Jong
|
9c1b11d605
|
some WARN messages are now INFO
|
2023-12-28 14:20:47 +01:00 |
|
Irmen de Jong
|
44d82f9190
|
add unit tests
|
2023-12-28 13:30:07 +01:00 |
|
Irmen de Jong
|
37fcde30d6
|
constants have p8c_ prefix instead of p8v_ in the asm
|
2023-12-28 05:28:32 +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
|
dfce292294
|
allow chained comparisons i<x<j (desugared into: i<x and x<j)
|
2023-12-28 01:18:59 +01:00 |
|
Irmen de Jong
|
2b8f613a00
|
added %option ignore_unused to suppress warnings about unused vars and subs in that module/block.
Also improved error for invalid directive.
|
2023-12-26 23:37:59 +01:00 |
|
Irmen de Jong
|
0a4de45453
|
get rid of vardecl.declareddatatype
|
2023-12-26 19:33:58 +01:00 |
|
Irmen de Jong
|
ffdc658dc8
|
type error tweaks
|
2023-12-26 18:49:01 +01:00 |
|
Irmen de Jong
|
7530f4407b
|
ir tag change INLINEASM->ASM
|
2023-12-26 16:15:19 +01:00 |
|
Irmen de Jong
|
73864c8101
|
added -check command line option
|
2023-12-26 15:45:55 +01:00 |
|
Irmen de Jong
|
0d44492086
|
push,pushw,pop and popw are no longer built-in functions but regular routines in sys
|
2023-12-26 14:47:31 +01:00 |
|
Irmen de Jong
|
38a22fbc99
|
allow %option no_symbol_prefixing also on module scope
|
2023-12-26 12:31:18 +01:00 |
|
Irmen de Jong
|
8ae435549d
|
added -slabshigh N and -slabsgolden for memory() slabs
|
2023-12-23 20:45:30 +01:00 |
|
Irmen de Jong
|
9b113c0cbb
|
added -varsgolden to put BSS into Golden Ram at $0400
|
2023-12-23 20:11:50 +01:00 |
|
Irmen de Jong
|
0e0fac8c4b
|
BSSHIGHRAM_END more clearly defined (to be inclusive)
|
2023-12-23 19:05:06 +01:00 |
|
Irmen de Jong
|
4cd9bb8f99
|
allow Python-style negative array indexing to count from the end
|
2023-12-23 16:37:28 +01:00 |
|
Irmen de Jong
|
ad9eaeafeb
|
call now returns a word value
|
2023-12-22 22:24:11 +01:00 |
|
Irmen de Jong
|
6cd392909c
|
added verafx.copy() routine for fast vram-to-vram copying ('blitting')
|
2023-12-22 17:52:43 +01:00 |
|
OODLER
|
09f3fbeb38
|
doc tweak, adding qualified name example for goto (#116)
|
2023-12-20 23:51:46 +01:00 |
|
Irmen de Jong
|
66d939df0d
|
docs about new asm symbol prefixes
|
2023-12-20 22:37:46 +01:00 |
|
Irmen de Jong
|
299419917e
|
added symbol ambiguity error (variable vs block name for scoped symbols)
fixes #114
|
2023-12-20 00:28:15 +01:00 |
|
Irmen de Jong
|
69f6afe420
|
block names in asm now prefixed with p8b_ (instead of p8_)
as part of fixing var versus block symbol conflict handling
|
2023-12-19 23:00:20 +01:00 |
|
Irmen de Jong
|
b7279a3d9e
|
fix 'not in' parsing error
fixes #115
|
2023-12-19 19:49:25 +01:00 |
|
Irmen de Jong
|
8bd7c601c0
|
cx16: added all remaining audio kernal routines. added the three x16edit kernal entry points.
|
2023-12-18 22:16:44 +01:00 |
|
Irmen de Jong
|
0f26b39997
|
improve diskio error handling and device not found errors
for instance if you set drivenumber to 9 without having a second drive connected, it used to hang in various routines
|
2023-12-17 22:39:08 +01:00 |
|
Irmen de Jong
|
ae66fcac1e
|
added call builtin function for indirect JSR
|
2023-12-17 15:45:28 +01:00 |
|
Irmen de Jong
|
43944a94eb
|
doc tweaks
|
2023-12-17 14:47:20 +01:00 |
|
Irmen de Jong
|
4544af441b
|
doc tweaks, explain str a bit more
|
2023-12-17 02:02: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
|
b24df31c2b
|
IR: fix codegen for routines returning in CPU Status register flag
|
2023-12-14 21:16:14 +01:00 |
|
Irmen de Jong
|
332ba8ed7e
|
don't give error when returning uword value in subroutine that returns STR
|
2023-12-14 02:48:21 +01:00 |
|
Irmen de Jong
|
58400f53bc
|
optimize: flip if true/else blocks if the else block only contains a jump (inverting the condition)
|
2023-12-13 22:06:53 +01:00 |
|
Irmen de Jong
|
01c2112881
|
remove PtJump label, just use identifier with dummy
|
2023-12-13 04:16:49 +01:00 |
|
Irmen de Jong
|
a546c2247d
|
optimize if-else handling of asmsub boolean result in status flags
|
2023-12-13 04:03:21 +01:00 |
|
Irmen de Jong
|
0da9142009
|
asm: also work for asmsub that return N or Z flag (Carry already worked)
|
2023-12-13 02:11:15 +01:00 |
|
Irmen de Jong
|
796add0ee2
|
add string.isspace and string.isprint
|
2023-12-13 00:28:34 +01:00 |
|
Irmen de Jong
|
08a079a96e
|
concerns with in for strings
|
2023-12-11 21:15:48 +01:00 |
|
Irmen de Jong
|
2668bf8519
|
fix void optimization issue
|
2023-12-09 21:48:22 +01:00 |
|
Irmen de Jong
|
dd4c073e18
|
version 9.7
|
2023-12-09 18:54:54 +01:00 |
|
Irmen de Jong
|
c7c72f00c7
|
document underscores in numeric literals for grouping
|
2023-12-09 14:07:42 +01:00 |
|
Irmen de Jong
|
ef1c665b9a
|
allow underscores for numerical grouping
|
2023-12-09 13:13:34 +01:00 |
|
Irmen de Jong
|
e076b3aedc
|
fix multi-var decl in nested scopes
|
2023-12-09 12:07:09 +01:00 |
|
Irmen de Jong
|
ae3b2ddf5f
|
allow multi var declarations for floats too
|
2023-12-08 23:29:13 +01:00 |
|
Irmen de Jong
|
1bdc427d73
|
multi var declarations ubyte x,y,z
|
2023-12-08 22:18:21 +01:00 |
|
Irmen de Jong
|
6a639ce533
|
chained assignments x=y=z=42
|
2023-12-08 01:07:16 +01:00 |
|
Irmen de Jong
|
a01c0a283d
|
add check for memory() args to be const, added floats.str_f()
add check for memory() args to be const
|
2023-12-07 22:39:53 +01:00 |
|
Irmen de Jong
|
8e4319cd5a
|
module directive %encoding to set the text encoding for that whole file (iso, petscii, etc.)
|
2023-12-06 23:54:08 +01:00 |
|
Irmen de Jong
|
5a776dd690
|
improve KotlinJavaRuntime library ref
|
2023-12-06 22:52:39 +01:00 |
|