1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-12-11 19:49:32 +00:00
Commit Graph

2076 Commits

Author SHA1 Message Date
Jesper Gravgaard
a78ac24f81 Fixed problem with empty for() condition and non-empty increment. Closes #488 2020-07-07 13:07:26 +02:00
jespergravgaard
be54089089 Fixing #488. Still fails on for() with no condition and an increment. 2020-07-07 08:32:42 +02:00
jespergravgaard
1852630b16 Working on lazynes. 2020-07-06 23:58:44 +02:00
Jesper Gravgaard
7384fb5357 Fixed problem with post increment inside conditions. Closes #486 2020-07-06 17:49:41 +02:00
Jesper Gravgaard
fcd41d7390 Working on #486 post increment problems inside conditions. 2020-07-06 17:42:40 +02:00
Jesper Gravgaard
7f3c378119 Working on #486 post increment problems inside conditions. 2020-07-06 17:40:15 +02:00
jespergravgaard
862847b681 Working on lazynes 2020-07-06 08:39:09 +02:00
jespergravgaard
e25ef0e3f7 Fixed ASM error in fragment. Improved fragment synthesis. Working on lazynes (there seems to be an issue with waiting for vblank using lnSync(0) ). 2020-07-05 21:58:53 +02:00
jespergravgaard
c10615b9b8 Fixed fragment error. Closes #487 2020-07-05 18:49:37 +02:00
jespergravgaard
837ce228ac Added failing test for for(;;). 2020-07-05 18:38:55 +02:00
jespergravgaard
a74d02203e Attempting to port lazyNES API to KickC. 2020-07-05 18:27:42 +02:00
jespergravgaard
6b2d9d6522 Updated fragment caches. 2020-07-02 08:55:19 +02:00
jespergravgaard
3d549ea941 Added a test. 2020-07-01 23:45:09 +02:00
jespergravgaard
e96dd5825b Finished better ASM fragment handling for pointer to pointer. Closes #484 2020-07-01 23:39:45 +02:00
jespergravgaard
4149381b74 Finished better ASM fragment handling for pointer to pointer. Closes #484 2020-07-01 23:38:56 +02:00
jespergravgaard
7f6b0a0e89 Finished better ASM fragment handling for pointer to pointer. Closes #484 2020-07-01 23:38:28 +02:00
jespergravgaard
50d034a5a2 Working on better ASM fragment handling for pointer to pointer. #484 2020-07-01 08:24:12 +02:00
jespergravgaard
d9c387665c Added test of ranged for loop with an undeclared loop variable. Closes #333 2020-06-28 02:00:02 +02:00
jespergravgaard
802f72df99 Added test of support for trailing commas in initializer lists. Closes #393 2020-06-28 00:43:40 +02:00
jespergravgaard
dfc5905c5e Added test of support for empty statements. Closes #267 2020-06-28 00:21:27 +02:00
jespergravgaard
75e71b5bbb Added support for empty statements. Closes #395 2020-06-28 00:16:25 +02:00
jespergravgaard
b195a3c545 Improved ASM procedure sequence to match calling sequence in program. 2020-06-27 23:26:57 +02:00
jespergravgaard
c1b22d345e Removed old @begin / @end global blocks. Now using __start(), __init(). Closes #257 2020-06-27 22:36:52 +02:00
jespergravgaard
64d2d99488 Updated remaining ref files. 2020-06-27 21:32:49 +02:00
jespergravgaard
9c9a39f109 Updated remaining ref files. 2020-06-27 21:18:00 +02:00
jespergravgaard
34e9c50775 Fixed comments. 2020-06-27 20:59:59 +02:00
jespergravgaard
aee57979ef Now comments on global variables are no longer destroyed. However some comments appear twice! 2020-06-27 20:32:09 +02:00
jespergravgaard
e09a0718d0 Fixed scope comparison. 2020-06-27 12:21:29 +02:00
jespergravgaard
3d4d114522 Added more tests for __address(). Added error when using __address on a local array variable. 2020-06-27 11:11:03 +02:00
jespergravgaard
597b0e3a77 Merged master. 2020-06-23 18:56:34 +02:00
Jesper Gravgaard
8e176ea4fb Merge remote-tracking branch 'origin/master' 2020-06-23 12:36:39 +02:00
Jesper Gravgaard
1df68736a0 Added missing fragment for @Stephan Kleinert. 2020-06-23 12:36:24 +02:00
jespergravgaard
0f7c6733f7 Fixed problem where functions without body produced an empty block. 2020-06-23 00:42:14 +02:00
jespergravgaard
f2314caadb Removed inline kickasm parse trick that created a statement and then deleted it again. 2020-06-23 00:22:56 +02:00
jespergravgaard
3781096d01 Removed support for inline kickasm in the global scope. Now only kickasm inside functions (code) or kickasm as initializer for arrays are supported. 2020-06-22 23:53:34 +02:00
jespergravgaard
f027b58a16 Removed support for pc parameter on inline kickasm Closes #479, #480 2020-06-22 08:16:47 +02:00
jespergravgaard
3692797650 Removed support for pc parameter on inline kickasm Closes #479, #480 2020-06-22 00:26:44 +02:00
jespergravgaard
cb1b9bece1 Implemented support for __address() on arrays. Removed support for pc parameter on inline kickasm. Closes #480. Closes #479 2020-06-22 00:07:59 +02:00
jespergravgaard
804d39cf0a Working on static initialization rewrite _init(). #257 2020-06-21 11:19:32 +02:00
jespergravgaard
a989e63f5b Working on static initialization rewrite _init(). #257 2020-06-21 10:23:04 +02:00
jespergravgaard
d129efb95f Working on static initialization rewrite _init(). #257 2020-06-21 08:04:55 +02:00
jespergravgaard
f4ef60e822 Working on static initialization rewrite _init(). #257 2020-06-20 21:31:49 +02:00
jespergravgaard
57d5d4500b Working on static initialization rewrite _init(). #257 2020-06-20 01:00:57 +02:00
jespergravgaard
ea52aa7f2b Working on static initialization rewrite _init(). #257 2020-06-19 23:43:56 +02:00
jespergravgaard
435e358c8d Working on static initialization rewrite _init(). #257 2020-06-19 23:28:14 +02:00
jespergravgaard
5779f3169b Working on static initialization rewrite _init(). #257 2020-06-19 01:23:34 +02:00
jespergravgaard
dc4102d680 Working on static initialization rewrite _init(). #257 2020-06-18 10:01:45 +02:00
jespergravgaard
69c1659a72 Merge remote-tracking branch 'origin/master' into 257-init 2020-06-16 23:41:14 +02:00
jespergravgaard
4bf19bdbec Added VS.Code CC65 task. 2020-06-16 23:40:22 +02:00
jespergravgaard
83480c69dc Added strcpy() test. 2020-06-16 23:30:38 +02:00
jespergravgaard
91e2a45287 Working on #257 static initialization. Started on procedure by procedure compilation. 2020-06-15 22:23:06 +02:00
jespergravgaard
b23059ccc6 Updated manual PDF. 2020-06-14 14:04:45 +02:00
jespergravgaard
be9ca0c060 Improved release script. Updated fragment cache file. 2020-06-14 13:49:20 +02:00
jespergravgaard
6d40e87d6c Moved NES test. 2020-06-14 13:10:26 +02:00
jespergravgaard
6c0210b704 Added static init test. #257 2020-06-10 07:12:10 +02:00
jespergravgaard
0d9d6f8d54 Changed NES CPU to allow illegal opcodes. 2020-06-08 00:33:18 +02:00
jespergravgaard
7928b2920a Added nes-dxycp.c 2020-06-07 03:56:27 +02:00
jespergravgaard
b53392f5fd NES conio.h now working reasonably well. There is a few issues with __bbegin and data in ROM/RAM. 2020-06-06 13:36:03 +02:00
jespergravgaard
d40ff86b03 Added a const parenthesis test. #470 2020-06-06 08:48:00 +02:00
jespergravgaard
ba90f9ea65 Added NES conio initial support. (scrolling not working atm.) 2020-06-06 01:19:28 +02:00
jespergravgaard
709039de87 Added missing c-file. 2020-06-05 17:02:38 +02:00
jespergravgaard
60f344fd5f Improved implementation of ASM symbol name logic. 2020-06-05 17:01:37 +02:00
jespergravgaard
7efe019e40 Fixed String consolidation problem with local labels shadowing global labels. Split conio.c into platform-specific files. Closes #472 2020-06-05 16:35:14 +02:00
jespergravgaard
e4e641cf7a Changed fragments to the void pointer type to make them more general. Closes #467 2020-06-04 22:16:41 +02:00
jespergravgaard
9d607e0471 Fixed the 2 remaining minus implemented using adc. #470 2020-06-04 21:53:57 +02:00
jespergravgaard
5d1aff1630 Added a cache for improved performance. 2020-06-03 01:08:16 +02:00
jespergravgaard
bff7cd7f9f Also hashing in the synthesis rules. Closes #469 2020-06-03 00:04:58 +02:00
jespergravgaard
b73601f483 Added hash and lastModified check to the fragment synthesis cache. Location of cache changed to always be inside fragments-folder. Cache is enabled by default and can be disabled by command-line switch. #469 2020-06-02 23:28:32 +02:00
jespergravgaard
558e19f47f Added CPU-specific fragment caches. Using the caches when testing (for better performance). #469 2020-06-02 01:56:23 +02:00
jespergravgaard
9953c1d379 Slight optimization not initializing exception stack trace on every usage. 2020-06-01 22:34:21 +02:00
jespergravgaard
513a71ce64 Optimized block successor closure slightly. 2020-06-01 22:17:01 +02:00
jespergravgaard
0359c85846 More void-pointer synthesis. Fragment test is showing some performance issues. #449 2020-05-31 08:09:15 +02:00
jespergravgaard
08d90f90d9 Introduces void-pointer synthesis. This enables removal of a lot of pointer fragments. #449 2020-05-30 23:12:44 +02:00
jespergravgaard
74d83caaf9 Added a bunch of missing fragments from G. B. @agpxnet. #449 2020-05-30 13:28:46 +02:00
jespergravgaard
7c124f3fa8 Added a bunch of missing fragments from G. B. @agpxnet. #449 2020-05-30 13:28:21 +02:00
jespergravgaard
a82d7387c8 Added missing fragments from Janne Johansson @IcePic. Closes #349 2020-05-30 10:24:56 +02:00
jespergravgaard
8d8b14ad5a Fixed problem where tmp-folders were not deleted properly. Closes #370 2020-05-30 09:30:57 +02:00
jespergravgaard
a99256645a Fixed problem with size calculation of arrays inside structs. Closes #458 2020-05-30 01:07:45 +02:00
jespergravgaard
c33d140628 Fixed problem with size calculation of arrays inside structs. Closes #458 2020-05-30 00:56:45 +02:00
jespergravgaard
711458ec1f Moved #include to CPreprocessor. Fixed problem where #include does not respect #if. Closes #442 2020-05-29 23:11:52 +02:00
jespergravgaard
0041a4d07c Added support for #error. Closes #440 2020-05-29 22:21:20 +02:00
jespergravgaard
1786d85ea5 Added support for var_model in .TGT-file. Closes #448 2020-05-29 21:57:19 +02:00
jespergravgaard
8fbe49f272 Fixed problem where an unused assigned variable is not taken properly into account when deciding whether it is possible to coalesce two variable live range equivalence classes. Closes #464 2020-05-29 18:49:10 +02:00
jespergravgaard
a63adec0f0 Fixed problem with incorrect parenthesising of non-associative binary operators in constant expressions. Closes #450 2020-05-27 09:05:20 +02:00
jespergravgaard
67dedcc299 Refactored NES demo slightly. 2020-05-26 23:30:33 +02:00
jespergravgaard
70d90102bb Added a Goomba and all-directional joy movement. 2020-05-26 23:10:50 +02:00
jespergravgaard
d8f6331d38 Added NES tiles. Improved NES library. Closes #457 2020-05-26 21:04:52 +02:00
jespergravgaard
a4c0627215 Fixed bug when using 2 function pointers in one block. Closes #463 2020-05-26 17:45:55 +02:00
jespergravgaard
7515c2d069 Fixed error in fragment. Closes #462 2020-05-26 07:56:00 +02:00
jespergravgaard
0d15872d6f Improved NES demo code slightly. 2020-05-25 08:07:49 +02:00
jespergravgaard
6c3ba36459 Upgraded to KickAss 5.15. Fixed NES linker file. Closes #459 2020-05-25 07:44:04 +02:00
jespergravgaard
8f4d3e0efe Added fragment ref data. 2020-05-24 08:00:30 +02:00
jespergravgaard
7c965b6ef6 Introduces OAM struct. 2020-05-24 01:15:58 +02:00
jespergravgaard
c8cd5a0e51 Added support for NES platform with a working demo program. Closes #456 2020-05-24 00:28:38 +02:00
jespergravgaard
0ed5059c8a Added support for reserved ZP variables in the target platform .TGT file. Atari 2600 platform file now uses zp range reserving. Closes #447 2020-05-22 15:52:51 +02:00
jespergravgaard
978d85055a Added support for reserving ZP ranges using NN..NN range syntax "#pragma zp_reserve(0x00..0x1f, 0x22). Changed name of #pragma and function directive to zp_reserve() and __zp_reserve(). Closes #238 2020-05-22 15:24:03 +02:00
jespergravgaard
d714c6ab4c Added Atari 2600 Sprite test. 2020-05-21 21:34:34 +02:00
jespergravgaard
c9965b2cc7 Added test for memory variable used inside inline ASM. 2020-05-21 09:38:03 +02:00
Jesper Gravgaard
8102cc57f4 Optimized conio.c by using x-indexing and a line-cursor instead of having a char-cursor. 2020-05-20 22:25:39 +02:00
jespergravgaard
f44a7132d1 Fixed file name inside disk. 2020-05-18 00:48:46 +02:00