jespergravgaard
|
808ed90f83
|
Added working perspective to 3D rotation.
|
2018-10-31 00:45:59 +01:00 |
|
jespergravgaard
|
9b101f29bd
|
Improved readability.
|
2018-10-21 20:20:24 +02:00 |
|
jespergravgaard
|
4d031a82f1
|
Improved readability.
|
2018-10-21 20:00:53 +02:00 |
|
jespergravgaard
|
467f5bcbb8
|
Added missing fragments
|
2018-10-21 18:15:15 +02:00 |
|
jespergravgaard
|
6d98f18960
|
Implemented working 3d rotation.
|
2018-10-21 17:25:33 +02:00 |
|
jespergravgaard
|
8421b47760
|
Fixed constant elimination optimization. Added (unfinished) 3D example.
|
2018-10-21 16:03:19 +02:00 |
|
jespergravgaard
|
5896f483b7
|
Improved readability a bit.
|
2018-10-20 21:05:11 +02:00 |
|
jespergravgaard
|
87933460f3
|
Implemented z-rotation for 8 sprites.
|
2018-10-20 20:43:26 +02:00 |
|
jespergravgaard
|
2f1f530128
|
Optimized rotation position calculation
|
2018-10-19 02:26:42 +02:00 |
|
jespergravgaard
|
908cb3ea8d
|
Changed fast multiply to a _prepare(a) & _prepared(b) sub-functions.
Added support for "." operator in ASM.
|
2018-10-19 00:28:57 +02:00 |
|
jespergravgaard
|
5d38d8c6ec
|
Changed rotate to use 8-bit sine and 8x8 bit multiplication.
|
2018-10-18 23:28:59 +02:00 |
|
jespergravgaard
|
a6c10c5c65
|
Added fragment folder option to sh.
|
2018-10-18 22:46:41 +02:00 |
|
jespergravgaard
|
0a25830de9
|
Added rotate example
|
2018-10-18 22:36:11 +02:00 |
|
jespergravgaard
|
ead3fe7eb8
|
Added some missing fragments
|
2018-10-18 09:42:24 +02:00 |
|
jespergravgaard
|
8adbdd59e4
|
Fixed test
|
2018-10-17 23:23:54 +02:00 |
|
jespergravgaard
|
fabc107cd1
|
Merge remote-tracking branch 'origin/master'
|
2018-10-17 23:01:24 +02:00 |
|
jespergravgaard
|
5050452e23
|
Fixed infinite loop during optimization when aliase candidates end up with one single element.
|
2018-10-17 23:00:54 +02:00 |
|
Jesper Gravgaard
|
688df931f0
|
Working 16bit signed fast multiplication - with test.
|
2018-10-17 13:42:52 +02:00 |
|
jespergravgaard
|
0b4cb53d07
|
Added signed fast 16bit multiply.
|
2018-10-17 12:11:42 +02:00 |
|
jespergravgaard
|
e9892219b6
|
Added fast 16bit unsigned multiplication.
|
2018-10-17 01:40:56 +02:00 |
|
jespergravgaard
|
17cb00955c
|
Added all current verbosity options.
|
2018-10-16 17:29:00 +02:00 |
|
jespergravgaard
|
9cf226348c
|
Added a few verbosity options plus a missing fragment.
|
2018-10-16 02:02:51 +02:00 |
|
jespergravgaard
|
25f5d77f34
|
Added a few verbosity options plus a missing fragment.
|
2018-10-16 02:02:30 +02:00 |
|
jespergravgaard
|
6bd55add24
|
Moved unused fragments. Changed clobber syntax in inline kickasm.
|
2018-10-07 16:20:04 +02:00 |
|
Jesper Gravgaard
|
75b923e11e
|
Fixinf windows newlines in fragments
|
2018-10-07 12:03:45 +02:00 |
|
Jesper Gravgaard
|
7d2c09ea68
|
Fixed Win/Linux difference for fragment test
|
2018-10-07 11:36:52 +02:00 |
|
Jesper Gravgaard
|
287ffb46ed
|
Some test work
|
2018-10-07 03:10:48 +02:00 |
|
Jesper Gravgaard
|
2b5f6b8856
|
Rearraning source files to bring KC/REF and fragment files out of the JARS.
|
2018-10-07 02:32:09 +02:00 |
|
jespergravgaard
|
4373150634
|
Reinstated tests.
|
2018-10-02 02:14:12 +02:00 |
|
Jesper Gravgaard
|
0f813d9d0f
|
Fixed BAT runner
|
2018-10-02 01:53:39 +02:00 |
|
Jesper Gravgaard
|
2ec3f9dd12
|
Fixed BAT runner
|
2018-10-02 01:51:35 +02:00 |
|
jespergravgaard
|
e4e762aa13
|
Added bat file to assembly
|
2018-10-02 01:17:00 +02:00 |
|
jespergravgaard
|
00e6293e20
|
JAR file version number should now follow git tag.
|
2018-10-02 01:06:36 +02:00 |
|
Jesper Gravgaard
|
b810023859
|
Implemented initial BAT file for execution on Windows.
|
2018-10-02 00:40:58 +02:00 |
|
jespergravgaard
|
ec3790a39f
|
Added new version of the manual.
|
2018-10-02 00:08:41 +02:00 |
|
jespergravgaard
|
32d224589a
|
Added kickc.sh executor and examples of kickc code to release.
|
2018-10-01 01:15:00 +02:00 |
|
jespergravgaard
|
0b86f55829
|
Added PDF manual
|
2018-09-30 20:32:50 +02:00 |
|
jespergravgaard
|
66b1249336
|
Refactored to a single CI task - with a single artifact
|
2018-09-30 15:51:15 +02:00 |
|
Jesper Gravgaard
|
84c2e54085
|
Hoping to create beter release ZIP
|
2018-09-29 12:24:57 +02:00 |
|
jespergravgaard
|
fcd3902090
|
Added test for default interrupt type (KERNEL_MIN).
|
2018-09-26 22:44:40 +02:00 |
|
jespergravgaard
|
c70801ee85
|
Added option for controlling uplift combinations.
|
2018-09-26 22:01:15 +02:00 |
|
jespergravgaard
|
44c32ba2e8
|
Added current path to includes.
|
2018-09-26 21:13:54 +02:00 |
|
jespergravgaard
|
b777a6bd98
|
Updated libraries. Added packaging assembly to maven POM.
|
2018-09-26 19:57:15 +02:00 |
|
jespergravgaard
|
7cecb2fb71
|
Added rudimentary bitwise not.
|
2018-09-13 12:08:11 +02:00 |
|
jespergravgaard
|
5f91f3c8be
|
Added initial package phase to maven.
|
2018-09-03 00:33:16 +02:00 |
|
jespergravgaard
|
9816e4cba1
|
Fixed test
|
2018-09-01 00:03:45 +02:00 |
|
jespergravgaard
|
e335a956e7
|
Added inline hello world 2
|
2018-08-31 23:43:37 +02:00 |
|
jespergravgaard
|
82c7a6c84d
|
Improved command help
|
2018-08-31 23:22:09 +02:00 |
|
jespergravgaard
|
17ad45d453
|
Moved some KC-files to stdlib. Added option for multiple include paths.
|
2018-08-31 22:52:10 +02:00 |
|
jespergravgaard
|
7f29a344ae
|
Improved commandline to include output-directory, compilation & execution.
|
2018-08-27 01:03:15 +02:00 |
|
jespergravgaard
|
7b940014a2
|
Version 0.5. First cmdline runnable version.
|
2018-08-26 09:12:31 +02:00 |
|
jespergravgaard
|
ffba4a87c1
|
Added target to create JAR
|
2018-08-25 10:28:22 +02:00 |
|
jespergravgaard
|
c05b04ff3c
|
Created initial simple commandline using picocli.
|
2018-08-23 23:54:39 +02:00 |
|
jespergravgaard
|
8efb7f9f2f
|
Added example of (non-working) calls inside unrolled loop.
Refactored hyperscreen to use c64.kc.
|
2018-08-23 22:14:39 +02:00 |
|
jespergravgaard
|
6dca0ada51
|
Added few comments and a few new constants
|
2018-08-23 00:35:19 +02:00 |
|
jespergravgaard
|
63badba136
|
Removed a bit more logging.
|
2018-08-23 00:24:33 +02:00 |
|
jespergravgaard
|
2c6fab8fe4
|
Removed a bit more logging.
|
2018-08-22 22:38:40 +02:00 |
|
jespergravgaard
|
126c8f6e0d
|
Added detection of non-constant loops.
|
2018-08-22 22:23:43 +02:00 |
|
jespergravgaard
|
a223abdf6e
|
Now also simplifying +0 and *0 in constant values.
|
2018-08-22 12:40:19 +02:00 |
|
jespergravgaard
|
105510a9ae
|
Now consolidating constant integer increments eliminating xx+1+1+1 expressions in the output.
|
2018-08-22 11:36:38 +02:00 |
|
jespergravgaard
|
42bc31126a
|
Decreased default logging.
|
2018-08-22 11:10:10 +02:00 |
|
jespergravgaard
|
2a5cdfb064
|
A bit more inlining
|
2018-08-22 10:17:58 +02:00 |
|
jespergravgaard
|
5fe09eefde
|
Fixed test ref (and added failing infinite unroll loop)
|
2018-08-22 02:45:38 +02:00 |
|
jespergravgaard
|
a78960a823
|
Using loop unrolling in logo scroller.
|
2018-08-22 02:34:03 +02:00 |
|
jespergravgaard
|
1d339804da
|
Added a double unroll loop
|
2018-08-22 02:19:27 +02:00 |
|
jespergravgaard
|
be18a84d98
|
Working loop unrolling! There are probably still a lot of non-working cases - and the lack of loop unroll limit will definitely cause infinite loops.
|
2018-08-22 01:42:00 +02:00 |
|
jespergravgaard
|
bbeb37ea61
|
Loop unroll prepare now complete.
|
2018-08-21 16:45:07 +02:00 |
|
jespergravgaard
|
4f23ed5079
|
Split unroll prepare into separate pass
|
2018-08-21 10:01:09 +02:00 |
|
jespergravgaard
|
b19bf2246e
|
Created "loop-unroll" branch.
|
2018-08-19 21:48:26 +02:00 |
|
jespergravgaard
|
a87da922f8
|
Centralized getting all entry point blocks in the program into ControlFlowGraph
|
2018-08-12 01:03:44 +02:00 |
|
Jesper Gravgaard
|
75a8749db4
|
Moved interrrupt registers into c64.kc
|
2018-08-11 12:04:52 +02:00 |
|
Jesper Gravgaard
|
39e7ce3df1
|
Refactored all casts to pointers to use the generic OperatorCastPtr.
|
2018-08-11 11:38:19 +02:00 |
|
Jesper Gravgaard
|
129de6c3ec
|
Refactored most casts to pointers to use the generic OperatorCastPtr.
|
2018-08-11 11:30:19 +02:00 |
|
Jesper Gravgaard
|
fe7950798e
|
Added call-graph recursion in clobber-analysis for interrupt hardware clobber.
|
2018-08-11 11:08:43 +02:00 |
|
jespergravgaard
|
9a9eeec129
|
Fixed tests.
|
2018-08-11 00:52:02 +02:00 |
|
jespergravgaard
|
f33d7018ba
|
Implemented clobber analysis to ensure that hardware clobber interrupts only save the registers clobbered.
|
2018-08-11 00:48:15 +02:00 |
|
jespergravgaard
|
9ef574f32d
|
Fixed tests
|
2018-08-10 20:33:17 +02:00 |
|
jespergravgaard
|
df224c70b6
|
Fixed tests
|
2018-08-10 20:32:45 +02:00 |
|
jespergravgaard
|
f8ec74dc14
|
Implemented hardware & kernel interrupt types.
|
2018-08-10 12:46:44 +02:00 |
|
jespergravgaard
|
6a20fc33c7
|
Improved comments
|
2018-08-06 00:41:29 +02:00 |
|
jespergravgaard
|
044282e523
|
Added 2 Raster IRQ tests.
|
2018-08-06 00:37:40 +02:00 |
|
jespergravgaard
|
238cd2a531
|
Added volatile keyword and initial implementation ensuring that volatiles are not constant-optimized or put into registers.
|
2018-08-05 22:40:13 +02:00 |
|
jespergravgaard
|
b23029760a
|
IRQ referencing outside const.
|
2018-08-05 17:50:45 +02:00 |
|
jespergravgaard
|
b8841a90f5
|
Added forward reference support yo procedure references.
|
2018-08-05 17:46:42 +02:00 |
|
jespergravgaard
|
b755cd4297
|
Added interrupt types (kernel, hardware).
|
2018-08-05 17:28:02 +02:00 |
|
Jesper Gravgaard
|
f463606742
|
Implemented interrupt procedures and pointers to procedures initial support.
|
2018-08-05 13:33:23 +02:00 |
|
Jesper Gravgaard
|
c0c7a1da44
|
Fixed test
|
2018-08-04 13:11:34 +02:00 |
|
jespergravgaard
|
0763a63a66
|
Working on interrupts
|
2018-08-04 13:07:21 +02:00 |
|
jespergravgaard
|
18473295c9
|
Fixed tests
|
2018-08-03 02:08:39 +02:00 |
|
jespergravgaard
|
ca55ac68cb
|
Improved the multiplexer - now 32 sprites.
|
2018-08-03 02:02:08 +02:00 |
|
jespergravgaard
|
962fefe582
|
Improved the multiplexer
|
2018-08-03 00:07:42 +02:00 |
|
jespergravgaard
|
3559ac29d5
|
Improved multiplexer
|
2018-08-02 23:05:33 +02:00 |
|
jespergravgaard
|
0f4490dfb0
|
Implemented sprite multiplexer
|
2018-08-02 22:57:20 +02:00 |
|
jespergravgaard
|
3658d9f68e
|
Implemented sorter inside a multiplexer.
|
2018-08-02 02:53:52 +02:00 |
|
Jesper Gravgaard
|
c272b93872
|
Added kickasm support for expressions specifying bytes & cycles.
|
2018-07-25 20:44:10 +02:00 |
|
Jesper Gravgaard
|
6475f70192
|
Added kickasm support for bytes & cycles. Changed location to pc.
|
2018-07-25 19:59:49 +02:00 |
|
Jesper Gravgaard
|
ae765bec6b
|
Allowing location to be any expression that ends up being constant. Changed syntax for kickasm directives.
|
2018-07-25 20:09:12 +09:00 |
|
Jesper Gravgaard
|
19855bed21
|
Added "location" directive to inline kickasm to allow absolute placement.
|
2018-07-25 17:10:46 +09:00 |
|
Jesper Gravgaard
|
ea80c9445a
|
Fixed arrays with fixed size defined by a simple named constant.
|
2018-07-23 23:24:44 +09:00 |
|
Jesper Gravgaard
|
112087b7bb
|
Added iteration through all parts of the symbol table to usage finding. Now array lenghts set to constant calculations also work.
|
2018-07-23 16:27:30 +09:00 |
|
Jesper Gravgaard
|
99085f1351
|
Refactored ReferenceInfos to use a more abstract model of references to variables/constants.
|
2018-07-23 01:00:25 +09:00 |
|
Jesper Gravgaard
|
4b4c6f5364
|
Using ProgramValueIterator instead of custom loop.
|
2018-07-22 16:41:19 +09:00 |
|
Jesper Gravgaard
|
81e214cee3
|
Now replacing in both control flow graph and symbol table per default.
|
2018-07-22 16:24:08 +09:00 |
|
Jesper Gravgaard
|
f17422a564
|
Renamed ValueReplacer classes to ValueIterator to better illustrate the generic nature.
|
2018-07-22 16:02:51 +09:00 |
|
Jesper Gravgaard
|
a14fa4dec3
|
Eliminated AliasReplacers separate implementation of the execution. Now using a clean ValueReplacer. Also fixed Pass1GenerateSSA to use a clean ValueReplacer.
|
2018-07-22 14:14:15 +09:00 |
|
Jesper Gravgaard
|
f9449997cb
|
Refacing ValueReplacer
|
2018-07-21 23:29:11 +09:00 |
|
Jesper Gravgaard
|
62cfda6468
|
Added SymbolVariableRef (preparing for refacing ValueReplacer and ReferenceInfos)
|
2018-07-21 22:58:42 +09:00 |
|
Jesper Gravgaard
|
3328a570c6
|
Implemented late constant resolving for array lengths allowing the use of any constant expressions in the first/last values. The length inside the SymbolType still needs to be fixed - so a few tests currently fail.
|
2018-07-21 18:13:36 +09:00 |
|
Jesper Gravgaard
|
ac9ba0065c
|
Implemented late constant resolving for ranged for() allowing the use of any constant expressions in the first/last values..
|
2018-07-12 14:42:47 +02:00 |
|
Jesper Gravgaard
|
dbcbe597c0
|
Fixed test on Windows.
|
2018-07-10 22:29:12 +02:00 |
|
jespergravgaard
|
cda0a9b498
|
Added a sinus plotter to test the sinus curves against macro-generated sinus.
|
2018-07-10 11:56:01 +02:00 |
|
jespergravgaard
|
ad0512cc9d
|
Fixed test
|
2018-07-09 18:57:14 +02:00 |
|
jespergravgaard
|
5abd555206
|
Implemented initial logo scroller. Fixed long branch detection when inlining kickasm. Added needed fragments.
|
2018-07-09 18:39:01 +02:00 |
|
Jesper Gravgaard
|
5e9b15477a
|
Implemented sinus generator for logo scroller. Added missing fragments and fixed issue when removing an unused block also made some variables unused.
|
2018-07-08 23:58:43 +02:00 |
|
Jesper Gravgaard
|
2c0299ee09
|
Implemented support for resources neede for inline KickAsm code.
|
2018-07-07 19:23:38 +02:00 |
|
Jesper Gravgaard
|
a82c5cf5b1
|
Implemented support for inline KickAssembler code
|
2018-07-07 13:55:15 +02:00 |
|
jespergravgaard
|
198c941d85
|
Added syntax for extern variables and inline kickasm code
|
2018-07-06 12:42:59 +02:00 |
|
jespergravgaard
|
45f30c7031
|
Fixed fragment test
|
2018-06-03 23:33:49 +02:00 |
|
Jesper Gravgaard
|
364ea5e9b9
|
Fixed fragment tests
|
2018-06-02 11:34:35 +02:00 |
|
Jesper Gravgaard
|
11b700d269
|
Fixed tests
|
2018-06-01 00:45:18 +02:00 |
|
Jesper Gravgaard
|
bb1048fdfa
|
Fixed problem with ROL/ROR/ASL/LSR A not marked as clobbering A.
Working on line anim.
|
2018-05-31 20:01:56 +02:00 |
|
jespergravgaard
|
68cba8f9af
|
A bit more line anim - work in (early) progress. Added inlined toD018() and toDd00().
|
2018-05-14 23:53:03 +02:00 |
|
jespergravgaard
|
a7b751a9fd
|
A bit more line anim - work in (early) progress.
|
2018-05-14 10:31:43 +02:00 |
|
jespergravgaard
|
f492173178
|
Added line anim - work in (early) progress.
|
2018-05-08 00:25:33 +02:00 |
|
jespergravgaard
|
808b60d06a
|
Added printable error context to statements
|
2018-05-05 21:34:24 +02:00 |
|
jespergravgaard
|
21478bd5b6
|
Removed param-assignment attribute from call
|
2018-05-01 22:51:00 +02:00 |
|
jespergravgaard
|
e589373374
|
Added support for multi-level function inlining containing value-lists.
|
2018-05-01 22:37:28 +02:00 |
|
jespergravgaard
|
de8654322f
|
Renamed method
|
2018-05-01 22:10:06 +02:00 |
|
jespergravgaard
|
4e973cebc7
|
Now supporting more complex functions inlining.
|
2018-05-01 22:08:23 +02:00 |
|
jespergravgaard
|
6bd3a2dedf
|
Implemented function inlining. Closes #63
|
2018-05-01 00:09:51 +02:00 |
|
jespergravgaard
|
b15a88f27e
|
Changed control flow graph block collection to a modifiable list.
|
2018-04-29 22:34:26 +02:00 |
|
jespergravgaard
|
3879ac83b0
|
Added ConstantCastValue for when noop casts are used on constant values.
|
2018-04-29 21:39:12 +02:00 |
|
jespergravgaard
|
a3109431bf
|
Renamed modulus to modulo
|
2018-04-28 13:07:51 +02:00 |
|
jespergravgaard
|
469fd63320
|
Renamed modulus to modulo
|
2018-04-28 13:00:20 +02:00 |
|
jespergravgaard
|
55fa7be4d1
|
Implemented compound assignments. Closes #104
|
2018-04-28 12:06:01 +02:00 |
|
jespergravgaard
|
6a399cf210
|
Renamed boolean to bool. Closes #110
|
2018-04-28 08:41:05 +02:00 |
|
jespergravgaard
|
37e300fb2b
|
Added test of chained assignments.
|
2018-04-28 08:22:53 +02:00 |
|
jespergravgaard
|
7ed032f039
|
Fixed fragment test reference data
|
2018-04-28 08:15:21 +02:00 |
|
jespergravgaard
|
35080d08d1
|
Added error when encountering runtime dicision/multiplication/modulus.
|
2018-04-27 20:12:51 +02:00 |
|
jespergravgaard
|
779e10aefc
|
Added some basic arithmetic expression tests.
|
2018-04-27 16:11:42 +02:00 |
|
jespergravgaard
|
760ea7db44
|
Added missing fragment
|
2018-04-27 15:05:19 +02:00 |
|
jespergravgaard
|
521385065d
|
Fixed logging
|
2018-04-27 14:55:46 +02:00 |
|
jespergravgaard
|
80f57ed5f1
|
Added boolean pointer test and a test that modifying a constant results in an error.
|
2018-04-27 14:49:35 +02:00 |
|
jespergravgaard
|
ad54c264c4
|
Added boolean type variables & fragments. Lots of missing fragments. Inlining any booleans possible will improve performance. Closes #86
|
2018-04-27 01:09:34 +02:00 |
|
jespergravgaard
|
e3da759057
|
Added test with a constant word pointer. Added missing word fragments. Fixed issue with pointer to unused word variable.
|
2018-04-26 23:29:43 +02:00 |
|
jespergravgaard
|
9265592f25
|
Implemented identical phi elimination
|
2018-04-25 01:11:28 +02:00 |
|
jespergravgaard
|
b2f16e2a57
|
Added missing fragments and a few new synth rules for derefidx
|
2018-04-24 23:15:18 +02:00 |
|
jespergravgaard
|
34d8afcaae
|
Added some simple test programs for the manual.
|
2018-04-24 10:05:48 +02:00 |
|
jespergravgaard
|
34909f47d8
|
Recusion now detected, resulting in CompileError. Closes #88
|
2018-04-22 23:46:26 +02:00 |
|
jespergravgaard
|
a34f77d319
|
Improved fragment synthesis by allowing X/Y registers to be used for constant byte values - great for _derefidx_vbuc1! Closes #99
|
2018-04-22 22:49:40 +02:00 |
|