1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-28 11:51:09 +00:00
Commit Graph

594 Commits

Author SHA1 Message Date
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
Jesper Gravgaard
eb2ff934c7 Added pass 2 assertion that no unversioned or fwddref variable refs exist. 2018-04-22 12:40:20 +02:00
Jesper Gravgaard
4640b31043 Added another test securing that undefined variables cannot be used even if fwd-refs are allowed. 2018-04-22 12:22:48 +02:00
jespergravgaard
c8edee4291 Implemented constant pointer detection - allowing for efficient NULL-code using const byte* NULL = $00. Closes #79 2018-04-22 11:40:25 +02:00
jespergravgaard
43395567af Implemented constant pointer detection - allowing for efficient NULL-code using const byte* NULL = $00. Closes #79 2018-04-22 11:24:02 +02:00
jespergravgaard
3a0a8f450d Now allowing forward references to variables (expected to be constants). Closes #101 2018-04-22 11:10:47 +02:00
jespergravgaard
13249cd744 Fixed problem where inline string is used only in hi/lo operator. Closes #103 2018-04-22 09:59:08 +02:00
jespergravgaard
b2f1e1abe3 Implemented boolean && / 2018-04-21 23:00:05 +02:00
jespergravgaard
8a7f5bde39 Implemented identification & elimination of complex constant if()s 2018-04-21 21:38:30 +02:00
jespergravgaard
5e3cbe1f3a Added a const inline case 2018-04-20 23:09:18 +02:00
Jesper Gravgaard
b1b8f361d3 Improved bool min test 2018-04-20 20:48:13 +02:00
jespergravgaard
92cba685e1 Added another const bool test 2018-04-19 22:29:01 +02:00
jespergravgaard
ee6e58f79c Fixed problem with PHI-blocks still referencing blocks that no longer call them bacause of constant bool if()s. 2018-04-19 01:46:41 +02:00
jespergravgaard
2fb9619381 Implemented constant if elimination and unused block removal in pass 2. 2018-04-18 23:19:25 +02:00
Jesper Gravgaard
e319ec9260 Added bool min test 2018-04-18 20:03:39 +02:00
Jesper Gravgaard
1ae9dbb6cf Added inline string test 3 & made minor fix to dtv-blitter-min 2018-04-18 12:44:52 +02:00
jespergravgaard
3ddc19c5c2 Implemented blitter minimal example. Added missing ref files. 2018-04-15 23:32:49 +02:00
Jesper Gravgaard
c29d278146 Adding more C64DTV test programs 2018-04-15 20:02:48 +02:00
Jesper Gravgaard
9cc3490f28 Added the last modes 2018-04-14 01:08:08 +02:00
Jesper Gravgaard
7fd8669cc1 Fixed constant inlining of strings. Closes #102 2018-04-13 20:06:29 +02:00
jespergravgaard
23ff5bab95 Added Sixs FRED mode 2018-04-10 00:00:01 +02:00
jespergravgaard
301ea8b645 Added more presets 2018-04-09 08:46:37 +02:00
jespergravgaard
a49e61f747 Added more gfx to the tester 2018-04-08 02:32:37 +02:00
jespergravgaard
706734360f Fixed tests 2018-04-07 17:03:36 +02:00
jespergravgaard
72e39f7cc4 Form and GFX are now two separate modes 2018-04-07 16:01:35 +02:00
jespergravgaard
2aef56bb2c Implemented split screen form menu 2018-04-05 00:30:26 +02:00
jespergravgaard
6bfc6de252 Added a keyboard event queue with scanner. Using it in C64DTV Gfx Explorer. 2018-04-04 12:07:14 +02:00
jespergravgaard
93fb8e1bff Added form colors. Added all fields to form. 2018-04-03 22:52:59 +02:00
jespergravgaard
0ad7984fe2 Added form field max values 2018-04-03 19:49:06 +02:00
jespergravgaard
25f396de12 Added z4 to tests 2018-04-03 08:21:04 +02:00
jespergravgaard
17ffe83bd2 Implemented v0.1 of a screen form library 2018-04-03 00:02:25 +02:00
jespergravgaard
91589327e3 Fixed loop detection problem. 2018-04-01 12:32:45 +02:00
jespergravgaard
10fd6ff19a Lowered uplift combinations further for higher speed 2018-04-01 12:17:13 +02:00
jespergravgaard
617b85ba8d Added missing a ora c 2018-04-01 04:40:28 +02:00
jespergravgaard
2d2ca18553 Fixed syntax 2018-04-01 04:38:11 +02:00
jespergravgaard
ef83e4342c Making loop error not fail. 2018-04-01 04:00:07 +02:00
jespergravgaard
302b5a62d7 Implemented partial gfx mode tester for c64dtv. found loop error. 2018-04-01 03:58:07 +02:00
jespergravgaard
6e9503a14d Made modes 1-3 compatible with stock C64 2018-03-29 09:19:36 +02:00
jespergravgaard
626329ddaa Added hicol MC mode 2018-03-29 09:09:07 +02:00
jespergravgaard
89e2900fdc Added ECM modes and MC std mode. 2018-03-29 08:49:51 +02:00
jespergravgaard
88313bbb81 added std charset / hicolor std charset and ecm std charset modes 2018-03-29 00:37:04 +02:00
jespergravgaard
7a55705b3e Added Sixs FRED 2 mode 2018-03-28 16:43:47 +02:00
jespergravgaard
b4bfaf016a Lowered number of uplift permutations to 1000 2018-03-28 15:21:22 +02:00
jespergravgaard
e518c393e6 Added chunky 8bpp BMM 2018-03-28 13:00:32 +02:00
jespergravgaard
839c356118 Added 8bpp Pixel Cell Mode 2018-03-27 22:32:06 +02:00
Jesper Gravgaard
46e5cb3e79 Fixed high-byteoperator problem with constants. 2018-03-27 12:01:58 +02:00
Jesper Gravgaard
39a6b0493f Fixed high-byteoperator problem with constants. 2018-03-27 11:52:51 +02:00
jespergravgaard
b122ac8af3 Added Sixs FRED mode. 2018-03-27 10:01:28 +02:00
jespergravgaard
472e6c43bd Better test image for Two Plane Bitmap Mode. Added keyboard glitch tester and operator hi/lo problem test. 2018-03-26 23:49:07 +02:00
jespergravgaard
6cfa6633f4 Now also eliminating unused variables from phi blocks. Closes #89 2018-03-26 21:57:30 +02:00
jespergravgaard
dc25fa7d11 Improved keyboard routine slightly. 2018-03-26 21:41:09 +02:00
jespergravgaard
770f213b40 Added missing SCREEN var 2018-03-26 00:44:41 +02:00
jespergravgaard
13a3f46858 Started C64DTV GfxMode tester 2018-03-25 23:40:38 +02:00
jespergravgaard
e01be9d33b Added a partial 3x5 font - ref data 2018-03-25 13:31:57 +02:00
jespergravgaard
f652d14fed Added a partial 3x5 font 2018-03-24 22:37:11 +01:00
jespergravgaard
7922d0f21a Added missing fragments 2018-03-22 22:30:16 +01:00
Jesper Gravgaard
71e4e5d22d Added shift support to CHARGEN tester 2018-03-22 21:50:25 +01:00
Jesper Gravgaard
49d2aaaf24 Merge remote-tracking branch 'origin/master' 2018-03-22 18:34:09 +01:00
Jesper Gravgaard
981d925a4d Coding CHARGEN tester 2018-03-22 18:34:04 +01:00
jespergravgaard
18bf726d1c Fixed P key 2018-03-22 00:04:41 +01:00
Jesper Gravgaard
cfd0e836ce Added keyboard space check test program. 2018-03-20 00:52:55 +01:00
Jesper Gravgaard
b796a248c0 Added a fragment 2018-03-20 00:44:57 +01:00
Jesper Gravgaard
f613cbbe36 Added keyboard library and tester 2018-03-20 00:30:27 +01:00
jespergravgaard
2015c17d25 Updated fragment reference 2018-03-19 01:22:04 +01:00
jespergravgaard
8f6db3a39b Implemented keyboard routines for reading the keyboard matrix status. 2018-03-19 01:15:18 +01:00
jespergravgaard
171b015d5f Implemented simple DTV raster test 2018-03-18 16:35:47 +01:00
jespergravgaard
f212c55c02 Fixed const casting problem 2018-03-11 21:45:26 +01:00
jespergravgaard
979cb91eeb Moved operator type inference to Operator class. Improved type inference. 2018-03-11 18:44:48 +01:00
jespergravgaard
cfa3ab9047 Renamed calculate() to calculateLiteral() 2018-03-10 21:14:51 +01:00
jespergravgaard
ec791672ce Removed ConstantValueCalculator. 2018-03-10 21:11:24 +01:00
Jesper Gravgaard
18335aa29a Moved constant literal value calculation into Operator 2018-03-10 17:06:42 +01:00
Jesper Gravgaard
1fa3d8bbbf Moved statements, symbols and values into packages 2018-03-06 20:54:52 +01:00
Jesper Gravgaard
fd0b667b19 Moved expression operators to separate package 2018-03-06 19:50:26 +01:00
Jesper Gravgaard
73afb3d1be Moved expression operators to separate classes. 2018-03-05 23:49:09 +01:00
Jesper Gravgaard
7876b98573 Caching alive combinations for better performance. 2018-03-05 10:45:07 +01:00
Jesper Gravgaard
133f8603c7 Fixed precedence problems for casts and inc/dec 2018-03-05 10:10:56 +01:00
jespergravgaard
f4196b9e67 Fixed log 2018-03-05 01:14:10 +01:00
jespergravgaard
f31eb7b1f0 Added scaled sin generator - found problem with cast & precedence. 2018-03-05 01:00:33 +01:00
jespergravgaard
0663888a3f Added initial min/max sin-generator. 2018-02-26 23:00:10 +01:00
jespergravgaard
d5fd4a41c3 Fixed loop problem. 2018-02-25 19:27:36 +01:00