Commit Graph

151 Commits

Author SHA1 Message Date
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
ae45ce517e cleanups 2022-04-03 17:33:50 +02:00
Irmen de Jong
ed30108961 removed '**' power-operator. Use floats.pow() instead. 2022-03-27 13:16:34 +02:00
Irmen de Jong
fc1c3c6808 working on altered pipe syntax 2022-03-02 20:58:38 +01:00
Irmen de Jong
eeb3c968d6 streamline handling of launcher type and program load address. %address is now required if not using a basic-launcher. 2022-02-22 22:43:14 +01:00
Irmen de Jong
21e9723bb2 allow the last term in a pipe statement to be a variable, rewrites this as var = <rest of pipe> 2022-02-21 02:33:19 +01:00
Irmen de Jong
c8cd6e9460 removed old @"screencodes" string encoding syntax (use sc:"hello" instead) 2022-02-11 22:07:14 +01:00
Irmen de Jong
ebf1f12e97 inferred type for len() is now more precise 2022-01-23 17:24:39 +01:00
Irmen de Jong
9219ec539d allow "goto pointervar" for indirect jumps 2022-01-21 22:55:59 +01:00
Irmen de Jong
9ed7587e3e document new string encoding syntax 2022-01-19 21:21:33 +01:00
Irmen de Jong
87220c6697 docs for @requirezp 2022-01-16 17:20:36 +01:00
Irmen de Jong
641477d6f6 add @requirezp and allow str/array to be on zp (with warning) 2022-01-16 17:20:32 +01:00
Irmen de Jong
c8f4ab4f06 doc 2022-01-12 22:21:01 +01:00
Irmen de Jong
7dd7e562bc pipes also as expressions, cleanup codegen, fix various typecasting issues 2022-01-08 13:45:19 +01:00
Irmen de Jong
8f3df3039a added pipe operator `|>` 2022-01-06 22:54:18 +01:00
Irmen de Jong
c57ef7725e preparing v7.6 2022-01-04 20:40:35 +01:00
Irmen de Jong
de6ce4a46e add "X in [1,2,3]" expression (efficient containment check) 2021-12-29 17:26:00 +01:00
Irmen de Jong
33061aaa0d fix: allow scoped variables such as cx16.rX as loop variable in forloops 2021-12-10 14:59:04 +01:00
Irmen de Jong
c812b5ee09 elaborate pointervar indexing a bit more in the docs 2021-12-07 22:25:14 +01:00
Irmen de Jong
64a411628d doc fixes 2021-11-27 19:58:08 +01:00
Irmen de Jong
2177ba0ed2 added signed versions of the cx16 virtual registers 2021-11-13 02:42:21 +01:00
Irmen de Jong
bc0a133bb1 doc 2021-11-02 20:24:45 +01:00
Irmen de Jong
07132a2c42 removed unreliable inlining of non-asmsub subroutines. Fixes #60 2021-10-08 23:09:38 +02:00
Irmen de Jong
af99173cd7 range expressions are on integers only 2021-09-06 22:15:27 +02:00
Irmen de Jong
fd1f30f92b removed %target directive (didn't add much, too confusing, only supported single target) 2021-09-04 15:01:16 +02:00
Irmen de Jong
c5bfef4264 slight improvement on scope doc, added doc example for %asminclude/%asmbinary 2021-06-09 23:46:07 +02:00
Irmen de Jong
0e614ad6fc added @shared flag to vardecl to mark variable as shared with assembly code elsewhere, to not have it optimized away 2021-05-19 01:19:25 +02:00
Irmen de Jong
68d7b4649e label and directive location docs 2021-05-16 12:32:08 +02:00
Irmen de Jong
0416aacbbd fix %asminclude by removing scopelabel argument and improving docs to remove false promise about labels 2021-05-16 00:14:57 +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
dd379430d9 added docs on flexible string character mapping to petscii 2021-04-20 01:22:49 +02:00
Irmen de Jong
374e2b311d refactoring unused code removal and noModification 2021-04-04 16:36:33 +02:00
Irmen de Jong
6b4896b8f5 doc 2021-04-02 21:28:23 +02:00
Irmen de Jong
7e3e18a5c7 deal with 'bra' better on 65c02 2021-02-28 16:20:03 +01:00
Irmen de Jong
edf9a500d3 kernel -> kernal 2021-02-21 22:48:06 +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
92ee0aefee docs: replaced old invalid c64scr names with txt 2021-02-16 23:28:35 +01:00
Irmen de Jong
bf69219f98 allow uwordpointer[index] syntax as equivalent to @(uwordpointer+index) index can be >255 here! 2021-01-23 22:39:30 +01:00
Irmen de Jong
4c03950c28 changed 'c64colors' module to 'palette' and added more general Cx16 palette manipulation routines in there. 2020-12-27 00:35:25 +01:00
Irmen de Jong
44b8291540 update docs 2020-12-22 13:29:16 +01:00
Irmen de Jong
928611eb20 Got rid of problematic attempts to save status register after function calls. If you really need it (for instance for if_XX instructions) it's probably better to use a short asmsub wrapper.
For function calls, register saves go via stack (to allow nested saves) for simpler cases, registers are saved in a local variable.
Fixed too agressive removal of sta-lda sequence if the lda is followed by a branching instruction.
Insert missing cmp #0 after functioncall if the value of the A register is needed in a comparison expression (could otherwise test wrong status flag)
2020-12-22 03:35:00 +01:00
Irmen de Jong
8a6ef17fbf option 2020-10-30 21:51:15 +01:00
Irmen de Jong
1c8e4dba73 added \' escape character 2020-10-10 01:28:57 +02:00
Irmen de Jong
71fd98e39e allow asmsub routines with multiple return values to be called (special case for return values in status register) 2020-10-07 00:33:42 +02:00
Irmen de Jong
956b0c3fa7 added \xHH escape character to strings, allow strings of length zero. 2020-10-04 13:05:43 +02:00
Irmen de Jong
a6427e0949 added \$HH escape character to strings 2020-10-03 15:11:09 +02:00
Irmen de Jong
4372de1e7e allow creating arrays of pointers to other arrays. Usefullness is very limited though... 2020-09-29 00:03:47 +02:00
Irmen de Jong
af0fb88adf allow creating string arrays. Fixed array index scaling for word arrays. 2020-09-28 02:23:36 +02:00
Irmen de Jong
d7ceda4d82 removed the automatic system reset at program exit, this did't work with the new init code 2020-09-25 22:12:14 +02:00
Irmen de Jong
1d1fe364d0 added %option no_sysinit to avoid having the system re-initialization code executed at the start of the program 2020-09-23 23:01:47 +02:00