Irmen de Jong
|
73a3a61729
|
swap() checks for unsupported code gen
|
2022-06-03 23:41:24 +02:00 |
|
Irmen de Jong
|
c7eafd7c79
|
cx16: fix macptr() signature and use it in diskio.f_read() for big increase in load speed
|
2022-06-02 00:37:18 +02:00 |
|
Irmen de Jong
|
10b5fb5d72
|
fix for total size returnvalue of diskio.f_read_all()
|
2022-06-01 01:13:19 +02:00 |
|
Irmen de Jong
|
a735939d1e
|
removed confusing GPL software license reference and copyright header from library files. (because of exclusion in output files)
Reworded software license and exclusion clause somewhat again in attempt to make it even clearer.
|
2022-05-30 20:12:20 +02:00 |
|
Irmen de Jong
|
6ed5f04970
|
version 8.1
|
2022-05-25 20:00:26 +02:00 |
|
Irmen de Jong
|
b646f50265
|
vm: implemented in-memory bit shift instructions
|
2022-05-23 20:15:20 +02:00 |
|
Irmen de Jong
|
ba614801ee
|
cleanup
|
2022-05-22 23:11:22 +02:00 |
|
Irmen de Jong
|
fd6eb47e68
|
added inlining certain trivial non-asm subroutine calls
|
2022-05-22 20:22:09 +02:00 |
|
Irmen de Jong
|
e69aeb8b98
|
added warning about shadowing variables
|
2022-05-22 17:34:08 +02:00 |
|
Irmen de Jong
|
4e1184a400
|
vm: added some of the sin cos tables in math.p8
|
2022-05-17 22:56:00 +02:00 |
|
Irmen de Jong
|
52f9956e92
|
clarify use of direct-memory in functions that modify in place such as rol/swap
|
2022-05-16 22:41:31 +02:00 |
|
Irmen de Jong
|
0bf00d1ca4
|
c64/c128 targets: perform cleanup at program exit such as re-enabling run-stop key and character set switching.
|
2022-05-15 16:44:26 +02:00 |
|
Irmen de Jong
|
d1a707df57
|
fix assigning a pointer (uword) to string not copying the correct memory
|
2022-05-15 16:10:58 +02:00 |
|
Irmen de Jong
|
4dc9b45297
|
vm: fixed string comparisons, added missing vm string module
|
2022-05-13 23:10:13 +02:00 |
|
Irmen de Jong
|
4be7bc8323
|
vm: limit float instructions to just 2 register args
|
2022-05-11 22:09:46 +02:00 |
|
Irmen de Jong
|
627aa61184
|
clean up subroutine inlining, basis for new try
|
2022-05-09 15:42:58 +02:00 |
|
Irmen de Jong
|
dad5b17ac8
|
fix regression compiler crash in string comparison
|
2022-05-08 13:47:24 +02:00 |
|
Irmen de Jong
|
fef52c0112
|
automatically convert multi-compare expression (if X==1 or X==2..) to contaiment check if X in [1,2,..]
|
2022-05-08 13:21:34 +02:00 |
|
Irmen de Jong
|
8c4765b386
|
vm: support non-unary functions in pipe expressions
|
2022-05-07 20:42:05 +02:00 |
|
Irmen de Jong
|
7c121bfc01
|
first steps to support multiple args in pipe expressions
|
2022-05-07 19:00:47 +02:00 |
|
Irmen de Jong
|
942c5cc04b
|
fix crash when optimizing pipe expression too aggressively
|
2022-05-07 17:29:36 +02:00 |
|
Irmen de Jong
|
348b3036ff
|
now correctly accepts "xxx" * constexpr (where constexpr is not just a single const number)
|
2022-05-05 23:21:20 +02:00 |
|
Irmen de Jong
|
b1a49e5f29
|
vm: implement rest of float instructions
|
2022-05-04 22:31:45 +02:00 |
|
Irmen de Jong
|
da01a5b4dc
|
vm: implement float to integer cast, any, all, reverse
|
2022-05-04 22:08:21 +02:00 |
|
Irmen de Jong
|
0f9e87d7bb
|
fixed compiler crash when casting float to integer, fixed float to int cast value error on cx16
|
2022-05-03 23:43:38 +02:00 |
|
Irmen de Jong
|
30c2e3e8ff
|
vm: fix comparisons codegen
|
2022-05-02 21:32:45 +02:00 |
|
Irmen de Jong
|
86cc2f1075
|
vm: implementing more fp instructions
|
2022-05-02 21:06:14 +02:00 |
|
Irmen de Jong
|
b32641db87
|
remove syscall() builtin functions
vm code can do this via inline assembly
|
2022-05-01 00:41:30 +02:00 |
|
Irmen de Jong
|
0ee790969d
|
vm: allow inline "assembly"
|
2022-04-30 23:24:25 +02:00 |
|
Irmen de Jong
|
7844ace934
|
vm: implementing floating-point
|
2022-04-29 22:27:02 +02:00 |
|
Irmen de Jong
|
6471c0c536
|
upgrade antlr to 4.10.1
|
2022-04-24 23:29:15 +02:00 |
|
Irmen de Jong
|
cf50e4f6ec
|
vm: printing of numbers now via conv module.
assigning strings now converted to strcopy function call in the compiler ast.
|
2022-04-23 02:15:51 +02:00 |
|
Irmen de Jong
|
7eea97d741
|
- floats: remove all floating point builtin functions and move them to the floats module instead
|
2022-04-22 00:45:54 +02:00 |
|
Irmen de Jong
|
88b55ab93e
|
vm: add abs() and fix 6502 abs() code.
|
2022-04-18 21:20:17 +02:00 |
|
Irmen de Jong
|
ee36d47c27
|
vm: added cmp() and most of the status-branch instructions
|
2022-04-18 19:59:48 +02:00 |
|
Irmen de Jong
|
6f2fdbe447
|
added %option merge, also fixed problem with unit test building in newer IntelliJ version
|
2022-04-15 22:38:32 +02:00 |
|
Irmen de Jong
|
0f4a197e34
|
improve ast check on pipe expressions
|
2022-04-14 00:49:06 +02:00 |
|
Irmen de Jong
|
7dbff5b9e6
|
abs: remove support for floats. Use floats.fabs() instead.
this solves: can't use abs() etc in pipe expression because return type depends on argument type
|
2022-04-14 00:38:31 +02:00 |
|
Irmen de Jong
|
220246278a
|
removed sum(), max(), min(). abs() now always returns uword type.
This greatly simplifies internal handling of builtin functions by always having one fixed return type.
|
2022-04-14 00:21:16 +02:00 |
|
Irmen de Jong
|
349e5a15e9
|
min/max give proper error for string args
als implmented more vm builtin functions/syscalls
|
2022-04-13 23:09:25 +02:00 |
|
Irmen de Jong
|
ab1766a559
|
moved all *integer* builtin trig functions (sin8u, cos8u etc) as regular asmsubs in math module
|
2022-04-13 00:27:35 +02:00 |
|
Irmen de Jong
|
a2c7273801
|
vm: use memory load instruction better
|
2022-04-11 20:55:06 +02:00 |
|
Irmen de Jong
|
c25d07259a
|
add block directive options to PtBlock
|
2022-04-10 21:37:47 +02:00 |
|
Irmen de Jong
|
a01aee3111
|
add sideEffects boolean to PtBuiltinFunctionCall
|
2022-04-10 21:08:54 +02:00 |
|
Irmen de Jong
|
3f6393f732
|
PtNumber can now be compared
|
2022-04-10 17:48:03 +02:00 |
|
Irmen de Jong
|
b6eb343234
|
moving string escaping out of antlr project
|
2022-04-10 17:31:30 +02:00 |
|
Irmen de Jong
|
207a7e5160
|
move operator lists
|
2022-04-10 13:24:17 +02:00 |
|
Irmen de Jong
|
a0face4a28
|
vm: implementing rol/ror
|
2022-04-09 11:13:49 +02:00 |
|
Irmen de Jong
|
a8cf9f5cc4
|
vm: syscalls can now return value
|
2022-04-05 20:46:34 +02:00 |
|
Irmen de Jong
|
461b38e653
|
add -vm option to load an existing p8virt file directly in the virtual machine
|
2022-04-05 18:42:31 +02:00 |
|
Irmen de Jong
|
036d9dbe59
|
got rid of unnecessary cast of boolean expressions by making their type dynamically adjust to byte or word
|
2022-04-04 23:43:55 +02:00 |
|
Irmen de Jong
|
1d342cc6af
|
optimize cx16 textio.setcc()/setcc2()
|
2022-04-04 22:23:06 +02:00 |
|
Irmen de Jong
|
62b32b2211
|
todos
|
2022-04-03 22:56:13 +02:00 |
|
Irmen de Jong
|
ae45ce517e
|
cleanups
|
2022-04-03 17:33:50 +02:00 |
|
Irmen de Jong
|
95f16c38a9
|
removed 'aug' property in PtAssignment , it wasn't used for anything
|
2022-04-03 15:56:14 +02:00 |
|
Irmen de Jong
|
d616cb283b
|
vm: implemented Pipe expression
|
2022-04-03 15:25:32 +02:00 |
|
Irmen de Jong
|
9874fe2c23
|
fix superfluous printing of WARN/ERROR words
|
2022-04-02 22:16:47 +02:00 |
|
Irmen de Jong
|
520a142992
|
version 8.0
|
2022-04-02 19:10:18 +02:00 |
|
Irmen de Jong
|
1e63615592
|
tweaks
|
2022-04-02 18:04:41 +02:00 |
|
Irmen de Jong
|
3e62ffed0a
|
x16 r39: optimize diskio.load_raw() to use kernal's headerless load support
|
2022-04-02 03:26:48 +02:00 |
|
Irmen de Jong
|
b133d51a83
|
make the parser report '&&' as an error instead of treating it as bitwise and followed by address-of.
|
2022-04-02 02:08:01 +02:00 |
|
Irmen de Jong
|
037b89f018
|
x16 r39: tweak kbdbuf_peek() result value
|
2022-04-01 23:47:09 +02:00 |
|
Irmen de Jong
|
156cf7315c
|
x16 r39: add new keyboard apis and more vector location definitions
|
2022-04-01 21:41:38 +02:00 |
|
Irmen de Jong
|
6be3b62d78
|
fix new Ast gosub node translation
|
2022-04-01 18:07:06 +02:00 |
|
Irmen de Jong
|
fb6e9fa58f
|
x16 r39: fix textio routines for new vera memory layout
|
2022-03-31 23:47:11 +02:00 |
|
Irmen de Jong
|
b2ce1e8029
|
x16 r39: fix gfx2.text() charset rendering due to new Vera mem layout
|
2022-03-31 18:51:54 +02:00 |
|
Irmen de Jong
|
d90c51220f
|
x16 r39: additional FP routine changes
|
2022-03-31 18:43:32 +02:00 |
|
Irmen de Jong
|
d1b14b68fa
|
x16 r39: more free ZP registers possible by enabling floatsafe option
|
2022-03-31 18:30:26 +02:00 |
|
Irmen de Jong
|
d911728611
|
x16 r39: cx16.mouse_config() API changed, added mouse_config2() convenience wrapper
|
2022-03-31 18:24:23 +02:00 |
|
Irmen de Jong
|
86a7200012
|
x16 r39: cx16.screen_set_mode() -> cx16.screen_mode()
|
2022-03-31 18:17:28 +02:00 |
|
Irmen de Jong
|
582c498fe3
|
major version bump because upcoming breaking changes in cx16 r39 release target (kernal routines)
|
2022-03-31 00:12:26 +02:00 |
|
Irmen de Jong
|
0a0c58d450
|
added for loop over constant ranges
|
2022-03-30 23:42:15 +02:00 |
|
Irmen de Jong
|
3e1a7c6102
|
fix vm signed comparisons
|
2022-03-29 00:57:33 +02:00 |
|
Irmen de Jong
|
6d79903eb3
|
workin on vm issues
|
2022-03-28 01:49:43 +02:00 |
|
Irmen de Jong
|
e166329f34
|
fix error for certain typecasted expressions inside comparisons
|
2022-03-28 01:38:01 +02:00 |
|
Irmen de Jong
|
bb1bf6a88c
|
working on vm
|
2022-03-28 00:40:15 +02:00 |
|
Irmen de Jong
|
30cbb6c9a8
|
implementing more of the vm
|
2022-03-27 21:59:46 +02:00 |
|
Irmen de Jong
|
4e33ab1e89
|
cx16 target: update float routine addresses to new r39 kernal FP package
|
2022-03-27 19:34:49 +02:00 |
|
Irmen de Jong
|
5494f309c0
|
working on vm
|
2022-03-27 17:46:15 +02:00 |
|
Irmen de Jong
|
3b6e7eccdd
|
simplified containment check, only possible on string and arrays (as per the docs)
|
2022-03-27 16:59:55 +02:00 |
|
Irmen de Jong
|
e41d6787bb
|
working on vm
|
2022-03-27 14:23:01 +02:00 |
|
Irmen de Jong
|
ed30108961
|
removed '**' power-operator. Use floats.pow() instead.
|
2022-03-27 13:16:34 +02:00 |
|
Irmen de Jong
|
12712ef812
|
working on vm
|
2022-03-27 11:48:44 +02:00 |
|
Irmen de Jong
|
3e44620966
|
add unit test for the string encoders special handling of 0x0000 and 0x8000-0x80ff
|
2022-03-25 18:26:23 +01:00 |
|
Irmen de Jong
|
7424f1f768
|
remove kernal bug workaround for joystick_get() routine. Fixes #39
|
2022-03-25 18:03:33 +01:00 |
|
Irmen de Jong
|
b5331d821c
|
fix string encoding for escaped characters
|
2022-03-25 00:17:41 +01:00 |
|
Irmen de Jong
|
27f6d47efa
|
working on vm codegen
|
2022-03-24 23:26:57 +01:00 |
|
Irmen de Jong
|
dbc7ad2ec4
|
no more Gosub node in new Ast, back to Functioncalls there.
|
2022-03-22 22:48:19 +01:00 |
|
Irmen de Jong
|
7b27d270a2
|
gosub only uses an identifier
|
2022-03-22 20:53:06 +01:00 |
|
Irmen de Jong
|
97b3a0b093
|
don't use the temp-variables introducing optimizations for the vm target
|
2022-03-22 20:21:32 +01:00 |
|
Irmen de Jong
|
fd581ffc37
|
moved pattern_match() from prog8_lib to string module
|
2022-03-21 21:32:10 +01:00 |
|
Irmen de Jong
|
ff57c5e9d3
|
working on vm and new ast
|
2022-03-21 01:36:11 +01:00 |
|
Irmen de Jong
|
9b16d7c786
|
working on vm
|
2022-03-20 15:06:29 +01:00 |
|
Irmen de Jong
|
7d2bf892b1
|
added start of virtual machine compilation target
|
2022-03-19 00:57:35 +01:00 |
|
Irmen de Jong
|
92737bb695
|
better handling of loadAddress
|
2022-03-13 16:21:02 +01:00 |
|
Irmen de Jong
|
9b81955544
|
optimizing new Ast
|
2022-03-13 11:49:07 +01:00 |
|
Irmen de Jong
|
4a0031080a
|
getting rid of directives in new Ast
|
2022-03-13 00:30:20 +01:00 |
|
Irmen de Jong
|
40e9fba312
|
working on new Ast and XML export to test it
|
2022-03-12 22:38:16 +01:00 |
|
Irmen de Jong
|
e227cc92ff
|
new ast: regular subroutine has just 0 or 1 return type
|
2022-03-12 14:12:06 +01:00 |
|
Irmen de Jong
|
73dbdbcbe6
|
module rename
|
2022-03-11 21:24:16 +01:00 |
|