Irmen de Jong
353d6cfc55
doc about array index restriction
2020-10-17 20:35:36 +02:00
Irmen de Jong
2554bc7ef8
ordered the functions in the docs
2020-10-17 02:14:19 +02:00
Irmen de Jong
4d01a78731
introduced strcmp() builtin function
2020-10-16 19:00:06 +02:00
Irmen de Jong
bd237b2b95
it's now possible in more places to assign arrays and put array literals without the need to define explicit variable.
2020-10-10 04:30:28 +02:00
Irmen de Jong
71cd8b6d51
cx16 cross-compile teaser screenshot
2020-10-05 19:59:51 +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
ae2619602d
lib renames in docs
2020-09-21 18:21:24 +02:00
Irmen de Jong
dfa1d5e398
removed the ".w" word suffix (it confused the parser).
2020-09-19 23:27:40 +02:00
Irmen de Jong
f08fc18ab5
renamed c64scr. to txt.
2020-08-27 18:10:22 +02:00
Irmen de Jong
bd9ebf4603
flipped the order of the parameters of mkword() so it's now mkword(msb, lsb) for easier readability
2020-08-22 21:13:38 +02:00
Irmen de Jong
bfc8a26381
implemented bit shifting for non-const amounts
2020-08-22 16:13:52 +02:00
Irmen de Jong
edfd9d55ba
added sizeof() function
2020-08-20 13:50:28 +02:00
Irmen de Jong
77c1376d6d
proper error message for arrays that are declared too big
2020-08-18 14:47:52 +02:00
Irmen de Jong
c0887b5f08
removed 'continue' statement to be able to generate more optimized loop assembly code. started with for loop optimizations
2020-08-17 19:22:29 +02:00
Irmen de Jong
c38508c262
introduced repeat loop. repeat-until changed to do-util.
...
forever loop is gone (use repeat without iteration count).
struct literal is now same as array literal [...] to avoid parsing ambiguity with scope blocks.
2020-07-25 16:56:34 +02:00
Irmen de Jong
0c461ffe2e
removed Register expression (directly accessing cpu register)
2020-07-25 14:14:24 +02:00
Irmen de Jong
ceb2c9e4f8
added string value assignment, leftstr, rightstr, substr functions
2020-06-06 00:05:39 +02:00
Irmen de Jong
efef205fcf
doc
2020-03-23 01:24:54 +01:00
Irmen de Jong
3a99115070
Initial variable values semantics changed: now always sets value at program (re)start (except strings/arrays).
...
This may change later by introducing a compiler option to choose a strategy, perhaps.
2020-03-22 15:12:26 +01:00
Irmen de Jong
63c073c93f
got rid of the Simulator / AST VM
2020-03-22 02:50:34 +01:00
Irmen de Jong
21dbc6da97
doc
2020-03-21 12:51:32 +01:00
Irmen de Jong
1de328b2e8
added forever-loop and optimizer
2020-03-14 18:11:04 +01:00
Irmen de Jong
4fd14f1366
doc updates
2020-03-14 15:20:04 +01:00
Irmen de Jong
85c7f8314b
added exit(rc) builtin function to immediately exit the program with a return code in A register
2020-03-13 02:08:18 +01:00
Irmen de Jong
fbecedaf41
added error for unsupported sort(floatarray)
2020-03-11 23:33:06 +01:00
Irmen de Jong
ef6c731bb3
added '@' alternative string/char encoding
2020-03-11 00:32:50 +01:00
Irmen de Jong
e2cb031386
added 'void' keyword to explicitly ignore subroutine return values (and no longer get a warning)
2020-02-09 01:29:09 +01:00
Irmen de Jong
885b22df40
fixed while and repeat warning messages line number
...
fixed invalid while and repeat asm label names
fixed boolean checking of numbers
2020-02-08 19:45:30 +01:00
Irmen de Jong
b8816a0e2f
got rid of separate str_s datatype
2020-02-07 20:47:38 +01:00
Irmen de Jong
b79af624ae
added more asmgen for bitshift operations
2019-08-22 00:34:17 +02:00
Irmen de Jong
bb7b063757
revert inline var declaration in for loops
2019-08-18 03:16:23 +02:00
Irmen de Jong
1cc1f2d91d
reverse() added (byte+word)
2019-08-18 02:05:51 +02:00
Irmen de Jong
27f987f0ae
fixed bit shifts, added sgn() function
2019-08-17 16:44:28 +02:00
Irmen de Jong
b44e76db57
fix any/all assembly routine, added asm for min/max/sum/ etc aggregates
...
removed avg function because of hidden internal overflow issues
2019-08-11 16:13:09 +02:00
Irmen de Jong
a1cd202cd2
some more array asm
2019-08-04 15:33:00 +02:00
Irmen de Jong
fba149ee28
removed the ~ before block names
2019-07-29 23:11:13 +02:00
Irmen de Jong
07d8caf884
string literal concatenation and repeating added again
2019-07-16 23:34:43 +02:00
Irmen de Jong
17be722e2b
arrays without init value are once again cleared with zeros
2019-07-15 23:05:04 +02:00
Irmen de Jong
1f5420010d
prevent struct member vars from shuffling around, can take address of struct now
2019-07-13 01:16:34 +02:00
Irmen de Jong
3e5deda46c
struct finished
2019-07-12 20:07:41 +02:00
Irmen de Jong
a85743f241
docs about 'when' statement
2019-07-10 00:45:53 +02:00
Irmen de Jong
e8caf6d319
1.9
2019-07-09 08:42:38 +02:00
Irmen de Jong
f4f113da7b
parser for 'when' statement
2019-07-09 00:02:38 +02:00
Irmen de Jong
e384822b2c
array size in vardecl is optional when initializer array value is given
2019-04-16 01:19:51 +02:00
Irmen de Jong
a9bbe0bc40
removed the memory keyword instead use & now (reuse the address-of operator to reduce the number of different concepts in the grammar)
2019-04-12 22:00:32 +02:00
Irmen de Jong
0820716e7b
added sqrt16() integer square root
2019-03-16 19:25:47 +01:00
Irmen de Jong
d9d83248fe
implemented strlen() function
2019-03-15 23:10:26 +01:00
Irmen de Jong
06f0984fa1
docs about irq handlers
2019-03-07 01:02:11 +01:00
Irmen de Jong
77dc35dc6a
added read_flags() function, uword2bcd routine no longer enables irq again if it wasn't enabled before calling it.
2019-03-05 23:10:00 +01:00
Irmen de Jong
5ea2f2d4db
docs about @zp tag
2019-02-28 00:13:59 +01:00
Irmen de Jong
2f1249489b
datatype cleanups
2019-02-25 01:22:56 +01:00
Irmen de Jong
73b0cc4056
docs
2019-01-31 23:46:58 +01:00
Irmen de Jong
204cc03fc8
doc
2019-01-26 23:28:28 +01:00
Irmen de Jong
fa8a3c997a
Expressions can now be split over multiple lines. Fixed datatype of len().
2019-01-26 17:32:26 +01:00
Irmen de Jong
d37c9d1680
argument type casts for builtin functions, added memset, tweaked memcopy/memset assembly a bit
2019-01-23 00:19:29 +01:00
Irmen de Jong
75b38d7b84
added swap() slow version
2019-01-18 01:33:54 +01:00
Irmen de Jong
b2ecf16234
fixed some array length loop issues
2019-01-09 22:28:04 +01:00
Irmen de Jong
46c282d6d5
created mkword function
2019-01-09 01:03:33 +01:00
Irmen de Jong
58854ef45b
doc fix
2019-01-08 02:25:22 +01:00
Irmen de Jong
295f7a6c6e
added unsigned versions of sin and cos (0..255, 0..65535)
2019-01-06 22:56:06 +01:00
Irmen de Jong
9f4ac37a00
split off c64flt library for all floating point routines
2019-01-05 16:09:05 +01:00
Irmen de Jong
32d82e8e56
asmsubs can now specify params and return values to be on the stack.
...
implemented fast integer fixed-point sin and cosine functions.
2019-01-04 22:11:46 +01:00
Irmen de Jong
2f9eabeac7
c64 irq handling routines
2019-01-02 02:47:52 +01:00
Irmen de Jong
c2eb181b5a
added memcopy function
2019-01-01 18:38:43 +01:00
Irmen de Jong
ac8e7f4fa9
made setting/restoring the IRQ vector explicit
2019-01-01 18:05:50 +01:00
Irmen de Jong
a319e6f9ec
direct memory access and sprite fixes
2018-12-31 04:48:26 +01:00
Irmen de Jong
aeb963673a
sprites example
2018-12-31 01:52:18 +01:00
Irmen de Jong
500777bf78
added direct memory access ("poke"/"peek")
2018-12-31 01:10:42 +01:00
Irmen de Jong
904e317781
cleanups, fix scope of certain generated nodes in for loops
2018-12-25 01:05:38 +01:00
Irmen de Jong
d55bbcf706
removed string conversion builtin functions, they're now subroutines in c64util
2018-12-22 01:07:43 +01:00
Irmen de Jong
ee893e5a2c
multiplications
2018-12-20 23:28:03 +01:00
Irmen de Jong
5870006b2f
introduced type cast "... as ..." instead of builtin functions
2018-12-20 03:17:41 +01:00
Irmen de Jong
3a7b341f47
fixes
2018-12-18 18:32:41 +01:00
Irmen de Jong
ca1d6bff56
log functions
2018-12-18 02:02:19 +01:00
Irmen de Jong
bcfb390077
optimizations
2018-12-17 15:52:37 +01:00
Irmen de Jong
be819ba8a7
got the number guessing example fully working on c64 asm
2018-12-11 00:09:37 +01:00
Irmen de Jong
f070dc22bb
save X register automatically when calling sub that clobbers X
2018-12-09 19:48:59 +01:00
Irmen de Jong
6c8354aef0
taking the address of strings and arrays
2018-11-23 00:31:21 +01:00
Irmen de Jong
069f6ea372
improved assignment of single character values and strings
2018-11-22 00:58:21 +01:00
Irmen de Jong
d6432df90d
got rid of 16-bit register pair variables (AX, AY, XY) they were complicating things too much
2018-11-02 22:06:57 +01:00
Irmen de Jong
5bf2c4a798
got rid of matrix type
2018-10-30 20:29:03 +01:00
Irmen de Jong
1fea9e3bc4
matrix doc
2018-10-27 22:16:18 +02:00
Irmen de Jong
a825bbff96
fix array problems, limit size of arrays.
2018-10-23 00:52:51 +02:00
Irmen de Jong
ba384c9722
rsave/rrestore added
2018-10-14 22:32:03 +02:00
Irmen de Jong
987915a77a
doc
2018-10-12 18:01:40 +02:00
Irmen de Jong
7aec14524e
fix datatype conversion issues
2018-10-12 15:50:32 +02:00
Irmen de Jong
42394f561b
syntax checks on asmsubs
2018-10-08 22:35:39 +02:00
Irmen de Jong
34d26e42e1
fixed some type checks
2018-10-07 02:05:26 +02:00
Irmen de Jong
30b58c8567
variables are reset to their declared value when entering the scope again
2018-10-07 00:21:13 +02:00
Irmen de Jong
6edd5f9b30
can now declare for loop variable on the spot
2018-10-06 22:54:03 +02:00
Irmen de Jong
1d37841575
for, while, repeat, if, branch bodies are now (anonymous) symbol scopes
2018-10-06 18:42:06 +02:00
Irmen de Jong
a7abc32368
wrd and wrdhi functions added for byte-word conversion, more constant folding optimizations
2018-10-06 00:10:30 +02:00
Irmen de Jong
4501276217
cube3d and tweaks
2018-10-03 01:57:16 +02:00
Irmen de Jong
38e7d48492
implemented floating-point arrays
2018-10-02 02:20:42 +02:00
Irmen de Jong
0cdae48ce7
implemented array indexing
2018-10-01 22:23:16 +02:00
Irmen de Jong
623b42cc14
added single character literals (petscii byte value)
2018-09-30 23:07:26 +02:00
Irmen de Jong
3278d4c945
fixed function calls, added some string-to-number conversion functions
2018-09-30 22:43:34 +02:00
Irmen de Jong
02075f2cf2
changed subroutine syntax and fixed array/matrix initalizer values
2018-09-30 18:49:58 +02:00