Irmen de Jong
4274296cf3
api change: new 'cbm' module that now contains the common CBM kernal variables and routines.
2023-05-02 01:19:53 +02:00
Irmen de Jong
e94bf4c63c
replace rnd()/rndw() builtin functions by regular routines in math module
2022-10-22 17:02:43 +02:00
Irmen de Jong
81b3d2db4f
fix compiler crash
2022-07-08 21:50:06 +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
c8cd6e9460
removed old @"screencodes" string encoding syntax (use sc:"hello" instead)
2022-02-11 22:07:14 +01: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
2b7b925090
codegen now uses correct machine target's string encoder/decoder. Encoding more robust by checking upper case mapping if lowercase mapping fails.
2021-04-09 23:33:32 +02:00
Irmen de Jong
9867dfcdeb
ported tehtriz to Cx16
2021-02-10 21:44:35 +01:00
Irmen de Jong
3d09d605e1
moved memcopy, memset, memsetw builtin functions to sys.*
2021-01-08 01:09:37 +01:00
Irmen de Jong
a40b3134f4
fix clobbering of A when restoring X or Y from stack
2020-12-22 04:52:46 +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
510ca042c9
stack tested for most example programs
2020-11-22 18:35:43 +01:00
Irmen de Jong
fdd91170dc
allow simple binary expressions as array indexing too, but not more
2020-10-17 22:43:35 +02:00
Irmen de Jong
157484d94b
adapted p8 code to restricted array indexing
2020-10-17 19:57:55 +02:00
Irmen de Jong
2b48828179
examples issues
2020-10-07 01:21:41 +02:00
Irmen de Jong
b976360248
fix fallthrough problem with 'when'. Fix too greedy asm optimization that caused conditional jumps to fail sometimes because the condition value wasn't loaded.
2020-09-26 00:22:55 +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
14d091e60a
crashes :(
2020-09-24 23:50:20 +02:00
Irmen de Jong
de06353194
auto select correct library to import based on target, instead of having c64- and cx16- prefix variants
...
some programs are now 100% source compatible between C64 and Cx16 targets!
import libraries have been rena;med
2020-09-21 00:50:09 +02:00
Irmen de Jong
97b9c8f320
don't clobber A when trying to save X at functioncall
2020-09-12 19:04:44 +02:00
Irmen de Jong
35aebbc209
optimize unneeded type casts for register args
2020-09-12 02:48:16 +02:00
Irmen de Jong
13d7f239ab
floating point 1.0 no longer referenced from ROM because cx16 doesn't have it. Added some more cx16 examples.
2020-09-05 00:17:58 +02:00
Irmen de Jong
5d90871789
got floating points working in commanderx16, added txt.color() to set text color
2020-08-30 00:15:18 +02:00
Irmen de Jong
f08fc18ab5
renamed c64scr. to txt.
2020-08-27 18:10:22 +02:00
Irmen de Jong
0c461ffe2e
removed Register expression (directly accessing cpu register)
2020-07-25 14:14:24 +02:00
Irmen de Jong
71e678b382
fixed possible register subroutine arg clobbering
2020-07-04 17:05:36 +02:00
Irmen de Jong
d89f5b0df8
todo about fixing argclobbering
2020-07-03 23:49:17 +02:00
Irmen de Jong
b6e2b36692
refactor
2020-07-03 23:37:38 +02:00
Irmen de Jong
a6d789cfbc
fixed function argument type cast bug
2020-07-03 17:24:43 +02:00
Irmen de Jong
c07907e7bd
fixed missing shifts codegen
2020-07-02 21:28:48 +02:00
Irmen de Jong
febf423eab
tehtriz compilation issues
2020-06-30 20:42:13 +02:00
Irmen de Jong
f5e6db9d66
big compiler speedup due to optimized scope lookups
2020-05-14 23:59:02 +02:00
Irmen de Jong
51bb902162
added bresenham and circle example
2020-03-14 17:11:10 +01:00
Irmen de Jong
2af86a10b2
remove stack error comments
2020-03-13 00:52:52 +01:00
Irmen de Jong
7fbe486dff
fix eval stack register X error in print_uw
2020-03-13 00:50:30 +01:00
Irmen de Jong
8d1a4588d3
added 'downto' range expression
2020-03-11 20:59:14 +01:00
Irmen de Jong
4ce93b5d9d
restored proper compiler error when trying to modify a constant
2019-08-18 14:05:20 +02:00
Irmen de Jong
bb7b063757
revert inline var declaration in for loops
2019-08-18 03:16:23 +02:00
Irmen de Jong
7ddc01f883
added continuous compilation mode (file watching)
2019-08-05 23:36:24 +02:00
Irmen de Jong
fba149ee28
removed the ~ before block names
2019-07-29 23:11:13 +02:00
Irmen de Jong
14cabde5cf
when statement extended with multiple choice values
2019-07-10 00:25:21 +02:00
Irmen de Jong
cc078503e3
tehtriz example uses when statement
2019-07-09 23:39:03 +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
c71b78dee6
use array of pointers to blocks instead of a large if statement
2019-04-12 23:35:27 +02:00
Irmen de Jong
cd0fa9405a
comments
2019-04-12 00:54:04 +02:00
Irmen de Jong
7114d3193c
some cleanups in library asm code
2019-03-21 22:36:46 +01:00
Irmen de Jong
a349599943
serious endless for loop bug in stackvm because Z and N flags weren't set properly, now fixed
2019-03-11 22:02:00 +01:00
Irmen de Jong
ac7faa8d25
stackvm can now intercept system asm calls (to a rom address)
2019-03-11 02:05:30 +01:00
Irmen de Jong
75fadaa24f
added holding area
2019-03-10 20:17:58 +01:00
Irmen de Jong
e4ea1f1014
tweaked controls, score, sounds
2019-03-10 19:24:11 +01:00