Travis Fisher
|
b81349b3de
|
make StatementInfos map control flow block objects instead of labelRef's (~5% compiler speedup)
|
2019-04-10 22:22:17 -04:00 |
|
Travis Fisher
|
1f54a91463
|
use static array of short number strings (~3% test speedup)
|
2019-04-10 19:47:54 -04:00 |
|
Jesper Gravgaard
|
97f88fb128
|
Fixed comparison optimization to ignore 0
|
2019-04-10 16:06:03 +02:00 |
|
Jesper Gravgaard
|
15acdc3752
|
Merged with master.
|
2019-04-10 13:52:57 +02:00 |
|
Jesper Gravgaard
|
070fb7937d
|
Implemented comparison rewriting optimization.
|
2019-04-10 11:12:49 +02:00 |
|
jespergravgaard
|
c9768022af
|
Optimized unrolled plasma more by moving x-value lookup outside the unrolled loop.
|
2019-04-10 08:27:36 +02:00 |
|
Travis Fisher
|
073845093b
|
store symbol full names instead of constructing on demand. (~5% overall compiler speed improvement)
|
2019-04-09 23:09:42 -04:00 |
|
jespergravgaard
|
fa2024296b
|
Added more pointer cast tests
|
2019-04-09 22:58:42 +02:00 |
|
jespergravgaard
|
9a707c250e
|
Added pointer cast test
|
2019-04-09 21:30:21 +02:00 |
|
jespergravgaard
|
82b394a80f
|
Minor syntax changes.
|
2019-04-09 01:40:38 +02:00 |
|
jespergravgaard
|
23e3533064
|
Merged Travis Fishers upstream optimizations. Closes #92
|
2019-04-09 01:22:47 +02:00 |
|
jespergravgaard
|
bce68180ef
|
Merge branch 'master' of https://gitlab.com/tfisher98/kickc
|
2019-04-09 00:59:19 +02:00 |
|
jespergravgaard
|
756d5c22d5
|
Strings zer now zero-terminated by default. To avoid zero-termination use suffix z - eg. "qwe"z is not zero-terminiated. Closes #137
|
2019-04-09 00:51:53 +02:00 |
|
Travis Fisher
|
7454027829
|
update reference results
|
2019-04-08 18:25:03 -04:00 |
|
Travis Fisher
|
0bc03ffdb0
|
add deep nesting test program
|
2019-04-08 18:05:25 -04:00 |
|
Travis Fisher
|
68a737cf0f
|
Merge branch 'master' of https://gitlab.com/camelot/kickc
|
2019-04-08 17:31:16 -04:00 |
|
jespergravgaard
|
c3849c78b0
|
Added support for void parameter lists. Closes #161
|
2019-04-08 23:27:05 +02:00 |
|
jespergravgaard
|
9a9e4f456e
|
Added more fragments.
|
2019-04-08 21:25:54 +02:00 |
|
jespergravgaard
|
44a5f66a7c
|
Added fire sample from CC65. (~100.000 cycles per update in KickC vs ~300.000 in CC65). Fixed tests. Added some signed fragments.
|
2019-04-08 20:54:23 +02:00 |
|
jespergravgaard
|
b2a0b629e3
|
Changed plasma routines to use standard C types.
|
2019-04-08 16:33:52 +02:00 |
|
jespergravgaard
|
63f10a28de
|
Added support for standard C types (char, short, int, long). Closes #108
|
2019-04-08 16:26:39 +02:00 |
|
jespergravgaard
|
c613edf2b2
|
Updated test data.
|
2019-04-08 09:12:00 +02:00 |
|
jespergravgaard
|
41029fec17
|
Added plasma with unrolled inner loop for ~50fps.
|
2019-04-08 09:00:48 +02:00 |
|
Travis Fisher
|
47d2f74690
|
put caches associated to pass n variable reference infos back out of control flow block class
|
2019-04-08 01:16:31 -04:00 |
|
Travis Fisher
|
b7b01a89a8
|
speed improvement in pass n variable reference infos
|
2019-04-07 23:57:38 -04:00 |
|
Travis Fisher
|
7393d095b9
|
speed improvement in pass n variable reference infos
|
2019-04-07 23:09:50 -04:00 |
|
jespergravgaard
|
7b23951eb2
|
Fixed tests after adding fragment.
|
2019-04-08 01:42:00 +02:00 |
|
jespergravgaard
|
35659a67be
|
Ported plasma sample from CC65 to KickC.
|
2019-04-08 00:44:09 +02:00 |
|
Travis Fisher
|
2ee07b0806
|
store compiled regexes for speed
|
2019-04-07 16:05:34 -04:00 |
|
jespergravgaard
|
23b1f15101
|
Added support for more complex ternary expressions.
|
2019-04-07 18:35:50 +02:00 |
|
jespergravgaard
|
67b97130b7
|
Implemented ternary operator. Closes #77
|
2019-04-07 17:59:44 +02:00 |
|
jespergravgaard
|
e1cf957b2f
|
Pointers to pointers working. Closes #156
|
2019-04-07 13:35:23 +02:00 |
|
jespergravgaard
|
a334855da8
|
Pointers to noargs functions working pretty well. Closes #120
|
2019-04-07 11:08:39 +02:00 |
|
jespergravgaard
|
ca9453346b
|
Added missing RTS after jsr main
|
2019-04-06 11:53:56 +02:00 |
|
Travis Fisher
|
d3b4e895dc
|
use cheaper hash function for speed improvement
|
2019-04-04 21:47:37 -04:00 |
|
jespergravgaard
|
9ccc5d828f
|
Improved pointer-to-pointer functionality significantly.
|
2019-04-05 01:05:15 +02:00 |
|
jespergravgaard
|
44b6ed1fb8
|
Improved test.
|
2019-04-04 20:49:07 +02:00 |
|
jespergravgaard
|
64b3a07ee6
|
Added all functions that become pointers as separate thread heads.
|
2019-04-04 20:45:52 +02:00 |
|
jespergravgaard
|
10dd5e4c7b
|
Added support for arrays containing pointers for noargs functions.
|
2019-04-04 19:23:38 +02:00 |
|
jespergravgaard
|
ec6404bafd
|
Added support for functions returning constant pointers to functions.
|
2019-04-04 19:01:47 +02:00 |
|
jespergravgaard
|
c6597a2736
|
Added support for functions returning pointers to functions.
|
2019-04-04 18:45:57 +02:00 |
|
jespergravgaard
|
06b90b6ee3
|
Refactored code to reuse ProgramValueIterator and Scope features.
|
2019-04-04 17:58:28 +02:00 |
|
jespergravgaard
|
e258b9593d
|
Function pointers now working both when constant and variable (in simple noargs non-scope-crossing cases with no local variables in the referenced functions.)
|
2019-04-04 17:44:14 +02:00 |
|
Travis Fisher
|
54e79d91a1
|
try again update test reference. maven config for tests in parallel.
|
2019-04-02 21:41:57 -04:00 |
|
jespergravgaard
|
3434a695d2
|
Implemented a bunch of the foundation needed for function pointers - incl. the parser and handling of pointers in zeropage variables.
|
2019-04-03 00:03:37 +02:00 |
|
jespergravgaard
|
de8c42eba8
|
Fixed problem with overlapping variables in threads.
|
2019-04-02 22:31:26 +02:00 |
|
Travis Fisher
|
c78aef2312
|
update test reference results
|
2019-04-02 02:28:13 -04:00 |
|
Travis Fisher
|
7784f174b7
|
replace jmp to rts with rts in double jump elimination pass
|
2019-04-01 18:14:18 -04:00 |
|
jespergravgaard
|
fe9a9005ed
|
Added test with both break & continue. Added SID-files to assembly.
|
2019-03-31 23:32:25 +02:00 |
|
jespergravgaard
|
7687163a4a
|
Added synth rule to detect missing C1 and move down the other Cs using mapC. This lowers the number of rules since rules rewriting C1 no longer need to avoid twoC or use mapC. A similar rule was added for missing C2s and mapC3.
|
2019-03-31 22:34:28 +02:00 |
|
jespergravgaard
|
f773c96cbc
|
Removed all fragments using _derefidx_vbs.. - and replaced them with a synthesis rule.
|
2019-03-31 22:01:08 +02:00 |
|
jespergravgaard
|
2d7825a0b9
|
Implemented continue statement. Closes #91
|
2019-03-31 20:15:01 +02:00 |
|
Jesper Gravgaard
|
4424ffe92c
|
Implemented loop break.
|
2019-03-31 17:57:54 +02:00 |
|
Jesper Gravgaard
|
547cfb6237
|
Merge remote-tracking branch 'origin/master'
|
2019-03-31 17:49:54 +02:00 |
|
Jesper Gravgaard
|
03296d9173
|
Moved in attempt to avoid conflict.
|
2019-03-31 17:49:50 +02:00 |
|
Jesper Gravgaard
|
864c79335f
|
Implemented break statement breaking out of the current loop.
|
2019-03-31 17:38:21 +02:00 |
|
jespergravgaard
|
613322153e
|
Added synthesis rules suggested by Travis Fisher allowing synthesis of pbuc1_derefidx_vbuxx / pbuc1_derefidx_vbuyy also when C1 is used elsewhere in the fragment.
|
2019-03-31 17:35:16 +02:00 |
|
jespergravgaard
|
d13ca4e03b
|
Implemented block label renumbering ensuring generated ASM labels are slightly more sensible to the reader.
|
2019-03-31 17:10:43 +02:00 |
|
jespergravgaard
|
126813ff4e
|
Implemented local scopes for blocks - enabling reuse of variable names (for instance in for loops). Closes #64
|
2019-03-30 00:15:53 +01:00 |
|
jespergravgaard
|
825e60ed62
|
Shortcut the callgraph thread analysis when max 1 thread in the entire program.
|
2019-03-29 20:58:48 +01:00 |
|
jespergravgaard
|
7fcb6e525a
|
Fixed problem where zeropage allocations inside IRQ and outside could overlap. Closes #154
|
2019-03-29 08:01:02 +01:00 |
|
jespergravgaard
|
c81147f60f
|
Fixed problem with volatile booleans being allocated to registers. Closes #153
|
2019-03-27 22:54:01 +01:00 |
|
jespergravgaard
|
c696d9610e
|
Added parenthesis to negative immediates to AXS.
|
2019-03-27 07:47:31 +01:00 |
|
jespergravgaard
|
667cbde56f
|
Added a lot of optimizing fragments using illegal opcodes (Thanks Travis Fisher!)
Added synth rule for vubc's.Updated tests.
|
2019-03-26 23:49:45 +01:00 |
|
jespergravgaard
|
0993be3f01
|
Added example of music routines.
|
2019-03-26 21:27:36 +01:00 |
|
jespergravgaard
|
022d77fc56
|
Implemented early constant identification to avoid unnecessary variable versioning. Closes #53
|
2019-03-22 19:50:20 +01:00 |
|
jespergravgaard
|
c280a3b14a
|
Fixed NPE when using booleans in if()/while(). Closes #152
|
2019-03-22 07:25:55 +01:00 |
|
jespergravgaard
|
4ad601ce72
|
Added fragment for subtracting unsigned byte from signed word.
|
2019-03-21 22:24:39 +01:00 |
|
jespergravgaard
|
8e2de5f79b
|
Updated fragment tests
|
2019-03-20 21:45:30 +01:00 |
|
Jesper Gravgaard
|
2989f16593
|
Added synthesis for using X/Y registers as intermediates when encountering pb.c1_derefidx_vbuyy/xx.
|
2019-03-20 17:09:22 +01:00 |
|
jespergravgaard
|
e48a4538bc
|
Added updated reference manual.
|
2019-03-20 08:05:49 +01:00 |
|
jespergravgaard
|
9a50e54928
|
Fixed optimization of constant addition in double array indexing. Closes #150
|
2019-03-20 07:20:00 +01:00 |
|
jespergravgaard
|
5791875d2d
|
Added clobber directive to inline kickasm.
|
2019-03-19 07:48:16 +01:00 |
|
jespergravgaard
|
f67a5bc897
|
Added clobber handling to inline ASM. Added clobbers directive to specify what is clobbered. If inline ASM has a JSR and no clobbers directive all registers are assumed to be clobbered. Closes #5
|
2019-03-18 20:54:08 +01:00 |
|
jespergravgaard
|
5cf5d88228
|
Implemented handling of default successor PHI blocks in logical or if()'s. Closes #149
|
2019-03-18 18:25:50 +01:00 |
|
jespergravgaard
|
ff716c0343
|
Implemented handling of deafult successor PHI blocks in
|
2019-03-18 18:24:03 +01:00 |
|
jespergravgaard
|
651bd87eaa
|
Fixed test
|
2019-03-18 02:26:13 +01:00 |
|
jespergravgaard
|
ca697a4ffd
|
Improved a plus fragment to use bcc
|
2019-03-18 02:23:29 +01:00 |
|
jespergravgaard
|
9bb967b33f
|
Implemented ASM fragment synthesis variations searching - looking through different potential fragments when generating ASM containing a constant number that matches multiple potential types.
|
2019-03-18 02:08:32 +01:00 |
|
jespergravgaard
|
d459332be1
|
Updated tests with better ASM
|
2019-03-17 22:52:25 +01:00 |
|
jespergravgaard
|
93d36f25be
|
Updated tests with better ASM
|
2019-03-17 22:49:02 +01:00 |
|
Jesper Gravgaard
|
dc76b2bed0
|
Added a lot of signed word and boolean fragments from Travis Fisher.
|
2019-03-16 17:54:38 +01:00 |
|
Jesper Gravgaard
|
ba560796dd
|
Added uses directive to inline kickasm to allow declaring used constants to prevent that they are optimized away as unused. Closes #147
|
2019-03-16 00:33:16 +01:00 |
|
jespergravgaard
|
f6dd66f3cb
|
Added support for cross-scope references inside inline ASM.
|
2019-03-15 07:59:25 +01:00 |
|
jespergravgaard
|
71743540c6
|
Added support for non-multi labels within inline ASM.
|
2019-03-15 00:30:14 +01:00 |
|
jespergravgaard
|
b4ccdef0f0
|
Problem with constant if() has been fixed!
|
2019-03-15 00:13:24 +01:00 |
|
jespergravgaard
|
4eed4f7659
|
Implemented proper handling of referenced to constants inside inline ASM. Closes #146
|
2019-03-15 00:02:33 +01:00 |
|
jespergravgaard
|
d293c47141
|
Added tests for inline assembler & kickassembler.
|
2019-03-14 23:09:50 +01:00 |
|
jespergravgaard
|
fa6ed8bff6
|
Improved compiler errors - removing exception trace and using proper exit code.
|
2019-03-12 18:14:45 +01:00 |
|
jespergravgaard
|
6adb0c6d2d
|
Improved verbosity for fragment debug output.
|
2019-03-12 17:59:35 +01:00 |
|
jespergravgaard
|
ad6a1910c8
|
Added another 2 word fragments. Added compiler commandline option to show fragment -fragment <signature>. Closes #145
|
2019-03-12 17:53:33 +01:00 |
|
Jesper Gravgaard
|
ea98c9e2eb
|
Added two additional signed word fragments.
|
2019-03-11 11:09:12 +01:00 |
|
jespergravgaard
|
8a560a294b
|
Added two missing signed word fragments.
|
2019-03-11 07:49:41 +01:00 |
|
jespergravgaard
|
3090fe4849
|
Added missing line number to error when encountering symbol that has already been declared.
|
2019-03-10 09:29:02 +01:00 |
|
jespergravgaard
|
241f8bec4d
|
Added two missing fragments and a test.
|
2019-03-10 08:24:30 +01:00 |
|
jespergravgaard
|
c2fb30a776
|
Limited fragment testing to speed it up.
|
2019-03-10 07:57:11 +01:00 |
|
jespergravgaard
|
b04edfb241
|
Added needed synthesis rules.
|
2019-03-10 01:44:47 +01:00 |
|
jespergravgaard
|
c89b4bc6b0
|
Removed rules slowing down the fragment synthesizer awaiting improvements to the synthesizer.
|
2019-03-10 01:14:35 +01:00 |
|
jespergravgaard
|
6bc35f6c34
|
Restructured fragment tests to use less memory.
|
2019-03-09 23:50:50 +01:00 |
|
jespergravgaard
|
980fc0aeb5
|
Working to improve fragment synthesis.
|
2019-03-09 20:58:51 +01:00 |
|
jespergravgaard
|
5a83c1b357
|
Fixed clobber problem that can occur during PHI transitions. Closes #10
|
2019-03-09 18:37:23 +01:00 |
|
jespergravgaard
|
4d8e083a21
|
Improved fragment synthesis of p..z1_deref_vbuaa=... to use TAY when possible.
|
2019-03-09 16:39:24 +01:00 |
|
jespergravgaard
|
a65404d7b6
|
Fixed signed word comparisons. Added tests of word comparisons. Improved fragment synthesis of p..z1_deref_vbuaa=... / p..z1_deref_vbuxx=...
|
2019-03-09 16:24:44 +01:00 |
|
jespergravgaard
|
cb8018b92a
|
Added missing word fragments. Added test of unsigned word comparisons.
|
2019-03-09 14:24:51 +01:00 |
|
jespergravgaard
|
c59f18eb82
|
Added two missing word fragments.
|
2019-03-08 22:00:28 +01:00 |
|
jespergravgaard
|
183494e141
|
Fixed infinite compiler loop when complex loops contain &&. Closes #144
|
2019-03-08 21:43:37 +01:00 |
|
jespergravgaard
|
ac73bb15e3
|
Improved number formatting of inegers in log/messages.
|
2019-03-08 06:54:46 +01:00 |
|
jespergravgaard
|
39e727711a
|
Added missing error location for illegal lvalues. Closes #143
|
2019-03-08 06:33:59 +01:00 |
|
jespergravgaard
|
0aebd2a9a1
|
Fixed error in boolean fragments.
|
2019-03-07 07:29:47 +01:00 |
|
jespergravgaard
|
3e39383963
|
Fixed error in boolean fragments.
|
2019-03-07 07:23:26 +01:00 |
|
jespergravgaard
|
0ca54a97ad
|
Added two missing word fragments.
|
2019-03-07 06:48:32 +01:00 |
|
jespergravgaard
|
0362e12880
|
Implemented default zero values for variables without ant initializer. Closes #140
|
2019-03-06 23:52:14 +01:00 |
|
jespergravgaard
|
ec863e5c43
|
Added line number to type inference errors. Closes #142
|
2019-03-04 23:55:38 +01:00 |
|
jespergravgaard
|
5e7d908018
|
Better error when assigning an undeclared variable. Closes #141
|
2019-03-04 23:38:07 +01:00 |
|
jespergravgaard
|
20cce60f40
|
Only removing intermediates that contain lo/hi operator.
|
2019-03-01 08:47:12 +01:00 |
|
jespergravgaard
|
ed2d992333
|
Fixed problem, where assigning to low/high value left an unused intermediate variable. Closes #129
|
2019-03-01 00:27:26 +01:00 |
|
jespergravgaard
|
de58d9b6dd
|
Added missing ref files
|
2019-02-24 23:24:20 +01:00 |
|
jespergravgaard
|
0a955d6bec
|
Finished constant string consolidation. Closes #90
|
2019-02-24 23:23:57 +01:00 |
|
jespergravgaard
|
fe0035af82
|
Added initial constant string consolidation.
|
2019-02-24 22:18:27 +01:00 |
|
jespergravgaard
|
dfd9af4d84
|
Added ASM function signature comment. Closes #82.
|
2019-02-19 20:51:48 +01:00 |
|
jespergravgaard
|
af54695232
|
Added support for block comments.
|
2019-02-18 00:12:30 +01:00 |
|
jespergravgaard
|
f0d77acb29
|
Added comments to variables identified as constants.
|
2019-02-17 18:21:16 +01:00 |
|
jespergravgaard
|
b8ab7c6c49
|
Added comments before loops
|
2019-02-17 17:53:19 +01:00 |
|
jespergravgaard
|
41a7053b25
|
Implemented statement comments. Assignments are working OK. Some are still thrown away during optimizations.
|
2019-02-17 15:50:42 +01:00 |
|
jespergravgaard
|
27cfaf0ecf
|
Implemented file-level comments. Added a few comment tests.
|
2019-02-17 11:03:55 +01:00 |
|
jespergravgaard
|
69562b7fa9
|
Added comments to constants in ASM.
|
2019-02-17 00:49:19 +01:00 |
|
jespergravgaard
|
67e223d629
|
Added procedure comments to the compiled assembler.
|
2019-02-16 23:23:55 +01:00 |
|
jespergravgaard
|
b5c61aad5d
|
Added level colors
|
2019-02-10 22:03:55 +01:00 |
|
jespergravgaard
|
7f78991374
|
Added next piece
|
2019-02-10 21:10:40 +01:00 |
|
jespergravgaard
|
bfce6bffd1
|
Renamed tests.
|
2019-02-10 19:11:50 +01:00 |
|
Jesper Gravgaard
|
dcd4e070ba
|
Implemented new recursion check that performs much better on programs with many different branches.
|
2019-02-03 17:36:34 +01:00 |
|
jespergravgaard
|
347a5d0331
|
Refactored call graph analysis in preparation for improved recursion detection.
|
2019-02-03 08:32:38 +01:00 |
|
jespergravgaard
|
b6038ccf0a
|
Added error when condition is non-boolean. Closes #134
|
2019-01-17 23:28:39 +01:00 |
|
jespergravgaard
|
bb9a4ac461
|
Merge remote-tracking branch 'origin/master'
# Conflicts:
# src/test/java/dk/camelot64/kickc/test/TestPrograms.java
|
2019-01-12 13:59:14 +01:00 |
|
jespergravgaard
|
a6fc9c157e
|
Added missing fragments for rolling variable amounts - and a few tests.
|
2019-01-12 13:58:12 +01:00 |
|
Jesper Gravgaard
|
4d3056bc0e
|
Added another scrolling screen test and a fragment
|
2019-01-11 20:23:30 +01:00 |
|
jespergravgaard
|
7b65dfedfb
|
Fixed new testAdded missing word-fragment.
|
2019-01-11 06:42:05 +01:00 |
|
jespergravgaard
|
35ffcbf914
|
Fixed new test
|
2019-01-10 23:00:05 +01:00 |
|
jespergravgaard
|
8910ba56a2
|
Fixed issue when removing unused procedures that is discovered during static analysis.
|
2019-01-10 22:58:00 +01:00 |
|
jespergravgaard
|
f664e8183f
|
Fixed issue with constant consolidation creating literals that was not calculatable.
|
2019-01-08 00:07:24 +01:00 |
|
jespergravgaard
|
e8d00067ef
|
Fixed version number
|
2019-01-07 22:38:29 +01:00 |
|
jespergravgaard
|
854b32d5b3
|
Fixed an array index optimization that was to aggressive.
|
2019-01-07 21:58:40 +01:00 |
|
jespergravgaard
|
9a3bd627f8
|
Added 2 missing fragments,
|
2019-01-06 23:48:25 +01:00 |
|
jespergravgaard
|
d2df1dfb68
|
Added missing fragment.
|
2019-01-06 17:45:26 +01:00 |
|
jespergravgaard
|
b4b4658696
|
Added a few missing 16-bit fragments.
|
2019-01-05 17:31:59 +01:00 |
|
jespergravgaard
|
aa109d236f
|
Now treats char 160 (nbsp) like whitespace. Added sin-sprites on top of sprite-tester.
|
2019-01-03 22:52:29 +01:00 |
|
jespergravgaard
|
2866aad652
|
Fixed small issue with missing -F in kickc.bat
|
2019-01-03 21:41:00 +01:00 |
|
jespergravgaard
|
5b62308854
|
Started work on version 0.7
|
2019-01-03 20:29:48 +01:00 |
|
jespergravgaard
|
4ce4667e57
|
Moved examples around.
|
2019-01-03 19:59:31 +01:00 |
|
jespergravgaard
|
0b881a9596
|
fixed tests
|
2019-01-03 19:21:12 +01:00 |
|
jespergravgaard
|
fe29de28d5
|
fixed problem
|
2019-01-03 18:55:56 +01:00 |
|
jespergravgaard
|
8898dfb255
|
Added missing fragment for Scan/Desire.
|
2019-01-03 18:54:59 +01:00 |
|
jespergravgaard
|
db733eec53
|
Implemented new more robust sprite routine. Added game_over game state. Added GAME OVER chars to charset.
|
2019-01-03 18:15:03 +01:00 |
|
jespergravgaard
|
e35ce855b0
|
Added level-based score increase, missing fragments and support for zero-filled DWORD-arrays.
|
2018-12-31 00:05:38 +01:00 |
|
jespergravgaard
|
40a2a7b1eb
|
Added movedown speed-up based on level.
|
2018-12-30 23:36:05 +01:00 |
|
jespergravgaard
|
621c1e19e0
|
Fixed position of I
|
2018-12-30 03:58:49 +01:00 |
|
jespergravgaard
|
4432812b06
|
fixed test
|
2018-12-30 03:20:58 +01:00 |
|
jespergravgaard
|
e91ae1b60e
|
Fixed level calculation when over 9.
|
2018-12-30 03:15:59 +01:00 |
|
jespergravgaard
|
6ff6d7c2cc
|
Added level. (not correct BCD after 9)
|
2018-12-30 03:05:22 +01:00 |
|
jespergravgaard
|
27e00e5e80
|
fixed tests.
|
2018-12-30 01:54:29 +01:00 |
|
jespergravgaard
|
84db15759b
|
Fixed piece rotations to match NES tetris.
|
2018-12-30 01:35:58 +01:00 |
|
jespergravgaard
|
25d4c89445
|
Added a score renderer - and some fragments.
|
2018-12-30 01:00:45 +01:00 |
|
jespergravgaard
|
638ef22c63
|
Added score calculation (plus some missing fragments and handling of dword array initializers).
|
2018-12-30 00:12:19 +01:00 |
|
jespergravgaard
|
30ad94dda3
|
Saved memory and code by combining screen chars and extended colors in kasm-script.
|
2018-12-29 22:53:02 +01:00 |
|
jespergravgaard
|
c3e559f8c9
|
Added needed parts of font and proper colors.
|
2018-12-29 22:31:55 +01:00 |
|
jespergravgaard
|
76b13d6b55
|
Fixed sprite multiplexer when double buffering.
|
2018-12-29 18:52:23 +01:00 |
|
jespergravgaard
|
b1d358403a
|
Implemented double buffered rendering.
|
2018-12-29 17:35:46 +01:00 |
|
jespergravgaard
|
84eb93b21e
|
Fixed pixel error
|
2018-12-29 14:46:51 +01:00 |
|
jespergravgaard
|
bba1f52d56
|
Added playfield border color.
|
2018-12-29 02:40:02 +01:00 |
|
jespergravgaard
|
bd64ba36dd
|
Improved inline kickasm naming
|
2018-12-29 00:55:34 +01:00 |
|
jespergravgaard
|
006aa5b428
|
Added piece initial positions.
|
2018-12-29 00:36:24 +01:00 |
|
jespergravgaard
|
7d70b371ba
|
Closer to real tetris
|
2018-12-28 23:55:29 +01:00 |
|
jespergravgaard
|
22aa93e802
|
Added ECM mode and background gfx.
|
2018-12-27 22:57:22 +01:00 |
|
jespergravgaard
|
d956ff9fcf
|
Rearranged Tetris files.
|
2018-12-27 00:09:10 +01:00 |
|
jespergravgaard
|
53a161d52f
|
Moved sprite IRQ's to separate file.
|
2018-12-26 00:39:38 +01:00 |
|
jespergravgaard
|
d9d28f4018
|
Optimized a bit.
|
2018-12-25 23:25:42 +01:00 |
|
jespergravgaard
|
627df0bda9
|
Fixed problem where uninitialized variables resultes in compile errors. Closes #131
|
2018-12-25 22:46:58 +01:00 |
|
jespergravgaard
|
f6a566e2f8
|
Fixed tests.
|
2018-12-25 21:47:19 +01:00 |
|
jespergravgaard
|
2b25aec8ee
|
Added missing call-path to interrupts used during uplift clobber-analysis. Closes #130
|
2018-12-25 21:33:07 +01:00 |
|
jespergravgaard
|
ceb271d021
|
Fixed tests.
|
2018-12-25 17:44:43 +01:00 |
|
jespergravgaard
|
f8191e8345
|
Default runs @begin code and then optimizes to main() if no code exists outside main.
|
2018-12-25 17:04:50 +01:00 |
|
jespergravgaard
|
2be7b2ca2b
|
Fixed problem with volatiles reusing zero page addresses used by other variables. Closes #128
|
2018-12-24 15:05:46 +01:00 |
|
jespergravgaard
|
85c6f09590
|
Improved tests showcasing problems with volatiles.
|
2018-12-24 14:14:29 +01:00 |
|
jespergravgaard
|
b92ea8415b
|
Added tests showcasing problems with volatiles.
|
2018-12-24 11:12:47 +01:00 |
|
jespergravgaard
|
8ef005e64d
|
Fixed several compiler issues with volatiles.
|
2018-12-24 02:27:12 +01:00 |
|
jespergravgaard
|
fae4eb9e6c
|
Added NES bg image
|
2018-12-22 09:26:42 +01:00 |
|
jespergravgaard
|
6f4f2cdd4b
|
Added missing image
|
2018-12-19 00:34:21 +01:00 |
|
jespergravgaard
|
44d6e5fbbb
|
Fixed tests (after reincluding cmp#0)
|
2018-12-19 00:33:27 +01:00 |
|
jespergravgaard
|
45b03818e4
|
Improved remove lines implementation
|
2018-12-18 23:09:20 +01:00 |
|
jespergravgaard
|
468def2d6a
|
Minor refactoring.
|
2018-12-06 17:24:46 +01:00 |
|
jespergravgaard
|
7c74fd93d0
|
Minor refactoring.
|
2018-12-04 23:58:25 +01:00 |
|
jespergravgaard
|
33d1b90974
|
Fixed test.
|
2018-12-03 02:24:43 +01:00 |
|
jespergravgaard
|
0073fedf4f
|
Fixed test.
|
2018-12-03 01:49:28 +01:00 |
|
jespergravgaard
|
a79e318bcd
|
Working on Tetris. Implemented line removal. Fixed fragment error and added 2 missing fragments.
|
2018-12-03 01:46:48 +01:00 |
|
jespergravgaard
|
4724d7707c
|
Working on Tetris. Added colors and random piece selection (from SID voice 3 noice). Moved some code to separate files.
|
2018-12-03 00:37:54 +01:00 |
|
jespergravgaard
|
eaa8d0c3fc
|
Working on Tetris.
|
2018-12-02 23:10:02 +01:00 |
|
jespergravgaard
|
44e2075896
|
Working on Tetris. Added 3 failing tests with discovered problems.
|
2018-12-02 21:31:03 +01:00 |
|
jespergravgaard
|
04d777ec6c
|
Working on tetris
|
2018-11-28 07:27:44 +01:00 |
|
jespergravgaard
|
c20389e310
|
Added a few missing fragments and support for arrays of pointers.
|
2018-11-25 02:46:22 +01:00 |
|
jespergravgaard
|
264f854133
|
Working on 16-bit rotation comparison
|
2018-11-17 16:49:55 +01:00 |
|
jespergravgaard
|
2a25f8d79d
|
Improved logging of live ranges.
|
2018-11-11 21:51:37 +01:00 |
|
jespergravgaard
|
fc867aea3d
|
Fixed tests
|
2018-11-08 01:11:38 +01:00 |
|
jespergravgaard
|
46751edd16
|
Fixed fragment errors. Added missing fragments. Working on 16bit 3D.
|
2018-11-08 01:06:33 +01:00 |
|
jespergravgaard
|
d482815704
|
Re-added tests.
|
2018-11-08 00:14:25 +01:00 |
|
jespergravgaard
|
93a0d9110a
|
Removed surefire section.
|
2018-11-08 00:05:42 +01:00 |
|
jespergravgaard
|
659b274a60
|
Disabling all test cases - replacing with trivial test.
|
2018-11-07 23:45:29 +01:00 |
|
jespergravgaard
|
516205e1a4
|
Trying to add CI testing again. Working on improving 3D quality.
|
2018-11-07 23:41:30 +01:00 |
|
Jesper Gravgaard
|
77c0edab1a
|
improved multiply tables
|
2018-11-04 20:46:42 +01:00 |
|
Jesper Gravgaard
|
67611e548b
|
Added print_at methods
|
2018-11-03 19:02:59 +01:00 |
|
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 |
|