Irmen de Jong
|
32a7cd31da
|
more optimal codegen for if statements
|
2020-09-15 00:31:44 +02:00 |
|
Irmen de Jong
|
d110d1cb5f
|
c64 system reset now banks kernel rom back in
|
2020-09-15 00:10:20 +02:00 |
|
Irmen de Jong
|
48858019b7
|
added the last of the optimized mul_word asm routines
|
2020-09-14 23:54:01 +02:00 |
|
Irmen de Jong
|
aff6b1fca5
|
added some more optimized mul_word asm routines
|
2020-09-14 23:03:18 +02:00 |
|
Irmen de Jong
|
d260182ef3
|
added some more optimized mul_byte asm routines
|
2020-09-14 22:06:40 +02:00 |
|
Irmen de Jong
|
e39a38b0d9
|
things
|
2020-09-13 21:04:51 +02:00 |
|
Irmen de Jong
|
1f69deaccd
|
reg_x removal: c64floats
|
2020-09-13 20:44:55 +02:00 |
|
Irmen de Jong
|
ea8b7ab193
|
reg_x removal: math.asm and some others
|
2020-09-13 20:38:50 +02:00 |
|
Irmen de Jong
|
d5e5485d2e
|
fixed estack X corruption in float augmented assignments
|
2020-09-13 19:44:03 +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
|
81f7419f70
|
fix X register clobbering in asmfunc call, fixed graphics.plot()
|
2020-09-12 01:23:56 +02:00 |
|
Irmen de Jong
|
2f951bd54d
|
tweaking cobra mk3
|
2020-09-11 19:46:11 +02:00 |
|
Irmen de Jong
|
18f5963b09
|
cobra mk3
|
2020-09-10 01:31:21 +02:00 |
|
Irmen de Jong
|
49a0584c54
|
added a %target directive
|
2020-09-09 22:53:34 +02:00 |
|
Irmen de Jong
|
e21aa2c8f0
|
better naming of the optimized math mult routines
|
2020-09-09 22:16:37 +02:00 |
|
Irmen de Jong
|
40071b1431
|
fix compiler crash with adding too many typecasts to args. useless lsb() and msb() are optimized away.
|
2020-09-09 21:37:56 +02:00 |
|
Irmen de Jong
|
02e29e6990
|
added some preliminary clobber specs to some cx16 graphics calls, This fixes the 3d cube gfx
|
2020-09-07 04:06:46 +02:00 |
|
Irmen de Jong
|
1377bed988
|
fix assembly for cx16 when zp is not basicsafe
|
2020-09-06 17:58:05 +02:00 |
|
Irmen de Jong
|
8f9f947c42
|
fix some issues with float const 0.0 and 1.0
|
2020-09-05 02:07:41 +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
|
fe4e0e9835
|
cleanups
|
2020-08-31 23:00:53 +02:00 |
|
Irmen de Jong
|
809917f13b
|
version 4.1
|
2020-08-31 21:44:38 +02:00 |
|
Irmen de Jong
|
2b35498370
|
added CX16 txt.setcc and swirl examples that use it
|
2020-08-31 21:01:18 +02:00 |
|
Irmen de Jong
|
5eae7a2b93
|
tweak mandelbrots and c64 graphics plot() doesnt work with XY parameter
|
2020-08-31 00:36:40 +02:00 |
|
Irmen de Jong
|
364ef3e55c
|
tweak cx16 mandelbrots
|
2020-08-31 00:03:05 +02:00 |
|
Irmen de Jong
|
e61818f194
|
tweak cx16 mandelbrots
|
2020-08-30 19:31:20 +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
|
88a9e09918
|
got floating points working in commanderx16
|
2020-08-29 23:55:26 +02:00 |
|
Irmen de Jong
|
c50ecf6055
|
fix for loop asm creation with word loopvar
|
2020-08-29 02:05:24 +02:00 |
|
Irmen de Jong
|
a18de75da9
|
fix compiler loop and missing type checks on for loop range values
|
2020-08-29 01:48:41 +02:00 |
|
Irmen de Jong
|
e112dfd910
|
implemented signed byte and word division
|
2020-08-29 00:00:53 +02:00 |
|
Irmen de Jong
|
0b55372b3b
|
cleanup cx16 things and added call signatures. c64graphics moved into built-in libraries.
|
2020-08-28 21:42:53 +02:00 |
|
Irmen de Jong
|
d97da3bb7b
|
implemented almost all math operations
|
2020-08-27 20:47:22 +02:00 |
|
Irmen de Jong
|
a77d3c92ad
|
implemented remaining float operations
|
2020-08-27 19:47:50 +02:00 |
|
Irmen de Jong
|
6d17e5307c
|
fixed typecasting of const arguments once again
|
2020-08-27 19:06:27 +02:00 |
|
Irmen de Jong
|
c2205e473a
|
fix example
|
2020-08-27 18:21:12 +02:00 |
|
Irmen de Jong
|
744cd6ec42
|
updated examples
|
2020-08-27 18:11:49 +02:00 |
|
Irmen de Jong
|
f08fc18ab5
|
renamed c64scr. to txt.
|
2020-08-27 18:10:22 +02:00 |
|
Irmen de Jong
|
9cec554f7c
|
moved the type conversion routines to their own library file to avoid duplication
|
2020-08-26 20:52:38 +02:00 |
|
Irmen de Jong
|
08b25e610d
|
commander x16 improvements
|
2020-08-26 19:34:12 +02:00 |
|
Irmen de Jong
|
b939562062
|
added preliminary CommanderX16 machine target support. Fixed nullpointer when importing a missing file.
|
2020-08-26 01:56:26 +02:00 |
|
Irmen de Jong
|
256781bba5
|
added missing in-place bitwise operator code
|
2020-08-25 22:26:05 +02:00 |
|
Irmen de Jong
|
78bdbde3ae
|
refer to ZP scratch constants from asm code via the global P8ZP constants as well
|
2020-08-25 19:44:08 +02:00 |
|
Irmen de Jong
|
d19b17cbfe
|
optimize strlen()
|
2020-08-25 17:31:47 +02:00 |
|
Irmen de Jong
|
4a4f8ff5db
|
subroutine parameters can be allocated on the zp now as well
|
2020-08-25 16:47:21 +02:00 |
|
Irmen de Jong
|
60a9209a14
|
plasma
|
2020-08-25 01:48:23 +02:00 |
|
Irmen de Jong
|
0f9e167df3
|
proper name
|
2020-08-25 00:59:02 +02:00 |
|
Irmen de Jong
|
2e2b8c498e
|
slightly optimize loop
|
2020-08-25 00:35:51 +02:00 |
|
Irmen de Jong
|
144199730f
|
refactored and optimized load/store byte from pointervar
|
2020-08-25 00:18:33 +02:00 |
|
Irmen de Jong
|
4bb4eab3b2
|
cleanup
|
2020-08-24 23:18:46 +02:00 |
|
Irmen de Jong
|
cf9151f669
|
use AsmAssignment preferrably over creating new ast node for codegen
|
2020-08-24 22:45:43 +02:00 |
|
Irmen de Jong
|
aef4598cec
|
comments
|
2020-08-24 02:56:22 +02:00 |
|
Irmen de Jong
|
3ada0fdf84
|
function call register args code consolidation, fix asm for loading word value from variable into register
|
2020-08-24 01:42:44 +02:00 |
|
Irmen de Jong
|
2640015fb1
|
move
|
2020-08-24 00:26:26 +02:00 |
|
Irmen de Jong
|
1f17c22132
|
more array access optimizations
|
2020-08-23 22:36:49 +02:00 |
|
Irmen de Jong
|
b9ca1c2e2c
|
more uniform code for array indexing (all using scaled offset now)
|
2020-08-23 20:25:00 +02:00 |
|
Irmen de Jong
|
93b2ff2e52
|
fix postincrdecr on array value
|
2020-08-23 18:52:19 +02:00 |
|
Irmen de Jong
|
3991d23a69
|
refactoring
|
2020-08-23 18:20:57 +02:00 |
|
Irmen de Jong
|
d9e3895c45
|
start with yet another codegen restructure, this time to make the assignment of values even more explicit for the codegen
|
2020-08-23 02:05:01 +02:00 |
|
Irmen de Jong
|
5075901830
|
work
|
2020-08-22 23:39:27 +02:00 |
|
Irmen de Jong
|
d3dc279105
|
updated the compiled examples
|
2020-08-22 22:57:30 +02:00 |
|
Irmen de Jong
|
e947067dcf
|
fixed source code output issue
|
2020-08-22 22:23:00 +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
|
f41192a52a
|
added cube3d-gfx example
|
2020-08-22 19:00:03 +02:00 |
|
Irmen de Jong
|
ff54d6abd7
|
reorder const for all associative operators
|
2020-08-22 17:44:32 +02:00 |
|
Irmen de Jong
|
679965410a
|
todo
|
2020-08-22 17:13:23 +02:00 |
|
Irmen de Jong
|
c6e13ae2a3
|
better error message
|
2020-08-22 17:12:09 +02:00 |
|
Irmen de Jong
|
20cdcc673b
|
identifiers can no longer start with an underscore. (this interfered with 64tass syntax)
|
2020-08-22 17:03:40 +02:00 |
|
Irmen de Jong
|
b27cbfac5e
|
removed lsl() and lsr() functions just use <<=1 and >>=1
|
2020-08-22 16:44:48 +02:00 |
|
Irmen de Jong
|
bfc8a26381
|
implemented bit shifting for non-const amounts
|
2020-08-22 16:13:52 +02:00 |
|
Irmen de Jong
|
63b03ba70c
|
fix typecasting
|
2020-08-21 18:02:01 +02:00 |
|
Irmen de Jong
|
70bab76b36
|
added plasma example
|
2020-08-21 17:58:43 +02:00 |
|
Irmen de Jong
|
15d24d4308
|
adding plasma example
|
2020-08-21 17:27:18 +02:00 |
|
Irmen de Jong
|
335599ed22
|
restored certain memoryread asm gen
|
2020-08-21 07:44:50 +02:00 |
|
Irmen de Jong
|
0b717f9e76
|
clear messages about slow expression code generation points
|
2020-08-21 05:45:39 +02:00 |
|
Irmen de Jong
|
ef7744dbda
|
asm fix
|
2020-08-21 04:02:10 +02:00 |
|
Irmen de Jong
|
8d6220ce51
|
added most essential of the new in-place assignment code
|
2020-08-21 02:17:40 +02:00 |
|
Irmen de Jong
|
b03597ac13
|
fixed bug in operand equality comparison, could lead to compiler endless loop
|
2020-08-20 22:21:26 +02:00 |
|
Irmen de Jong
|
58f323c087
|
implemented missing memory postincrdecr codegen
|
2020-08-20 21:48:15 +02:00 |
|
Irmen de Jong
|
513a68584c
|
implemented more optimized prefix expression codegen
|
2020-08-20 21:42:38 +02:00 |
|
Irmen de Jong
|
88d5c68b32
|
don't inc/dec a memory mapped register
|
2020-08-20 21:16:48 +02:00 |
|
Irmen de Jong
|
14f9382cf9
|
typecheck prefix expressions better
|
2020-08-20 20:46:28 +02:00 |
|
Irmen de Jong
|
cffb582568
|
added start of optimized in-place assignment code (for prefix expressions)
|
2020-08-20 18:43:10 +02:00 |
|
Irmen de Jong
|
e1812ce16c
|
fix typecast removal error.
|
2020-08-20 18:07:48 +02:00 |
|
Irmen de Jong
|
7a3163f59a
|
bugfix in direct memory assignment
|
2020-08-20 17:02:22 +02:00 |
|
Irmen de Jong
|
6f3b2749b0
|
refactoring assignments codegen
|
2020-08-20 16:47:43 +02:00 |
|
Irmen de Jong
|
c144d4e501
|
improved warnings about unreachable code
|
2020-08-20 14:28:17 +02:00 |
|
Irmen de Jong
|
edfd9d55ba
|
added sizeof() function
|
2020-08-20 13:50:28 +02:00 |
|
Irmen de Jong
|
774897260e
|
avoid silent type casts that remove precision (such as float -> word)
|
2020-08-20 12:49:48 +02:00 |
|
Irmen de Jong
|
65ba91411d
|
improved function arg type checking and error message
|
2020-08-20 12:38:22 +02:00 |
|
Irmen de Jong
|
9cbb8e1a64
|
version 3.1
|
2020-08-18 16:26:23 +02:00 |
|
Irmen de Jong
|
53e9ad5088
|
better asm code for repeat loops
|
2020-08-18 16:02:40 +02:00 |
|
Irmen de Jong
|
1de0ebb7bc
|
more forloop asm
|
2020-08-18 15:16:56 +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
|
353f1954a5
|
for loop codegen
|
2020-08-18 14:03:31 +02:00 |
|
Irmen de Jong
|
4487499663
|
more forloop codegen
|
2020-08-17 23:42:43 +02:00 |
|
Irmen de Jong
|
3976cc26a2
|
more forloop codegen
|
2020-08-17 23:19:23 +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
|
fbe3ce008b
|
slight expression rewrite in case of certain in-place assignments, to try to get the in-place variable operand to the leftmost position
|
2020-07-30 01:30:21 +02:00 |
|