1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-12-02 07:49:37 +00:00
Commit Graph

2342 Commits

Author SHA1 Message Date
jespergravgaard
c75c99654b Updated fragment cache files. 2020-09-28 20:40:12 +02:00
jespergravgaard
5a121eb5dd Moved NES example files into a NES folder. 2020-09-28 20:32:39 +02:00
jespergravgaard
a8272388b8 Moved NES example files into a NES folder. 2020-09-28 20:29:30 +02:00
jespergravgaard
ad7b74ddac Converted NES balls example to 32balls. 2020-09-28 19:59:03 +02:00
jespergravgaard
79484c4b37 Added NES balls example. 2020-09-28 08:56:30 +02:00
jespergravgaard
81b638f060 Added missing fragments. 2020-09-28 08:51:20 +02:00
jespergravgaard
abb12deed9 Added missing C-file. 2020-09-28 00:10:47 +02:00
jespergravgaard
fa0de1e789 Fixed problem with inner compound assignment using arrays with elements with size>1 results in bad code. Closes #519 2020-09-28 00:01:06 +02:00
jespergravgaard
53ed7c976d Added missing fragments. Fixed problem with addition fragments. 2020-09-27 22:58:38 +02:00
jespergravgaard
adf63a551d Corrected preprocessor handling of #define with a body starting with left parenthesis. Closes #518 2020-09-27 19:48:54 +02:00
jespergravgaard
c4de8a017c Added test with array of function pointers. 2020-09-26 22:52:19 +02:00
jespergravgaard
202fd67943 Added missing fragments and synthesis for NES kickballs.c. See https://forums.nesdev.com/viewtopic.php?f=2&t=20187&start=15 2020-09-26 21:59:10 +02:00
jespergravgaard
4e301e0258 Better error message when assuming type of symbol. Closes #517 2020-09-26 20:35:06 +02:00
jespergravgaard
8901165547 Added missing fragment. Closes #515 2020-09-26 14:31:12 +02:00
jespergravgaard
ce2dfe62b6 Updated reference manual. Added better MEGA65 DMA tests. 2020-09-26 13:30:48 +02:00
jespergravgaard
6e206d25a3 Added first simple MEGA65 library function. 2020-09-26 08:57:29 +02:00
jespergravgaard
9150c891b9 Added DMA test that works! 2020-09-25 09:02:06 +02:00
jespergravgaard
feade71602 fixed tests. 2020-09-24 08:58:52 +02:00
jespergravgaard
d4af9d4a41 Added MEGA65 DMA.h and a (non-working) test. 2020-09-24 08:52:50 +02:00
jespergravgaard
c61ec7370d Started MEGA65 DMA test. 2020-09-23 08:32:29 +02:00
jespergravgaard
a276b0fd6b Improved mega65 memory banking example. 2020-09-22 22:33:21 +02:00
jespergravgaard
5b2f43a40c Added IRQ to mega65 memory banking example. 2020-09-22 22:24:25 +02:00
jespergravgaard
b1e465b72b Improved MEGA65 examples. 2020-09-22 21:38:53 +02:00
jespergravgaard
7f5a20140b Added MEGA65 example of music playing using memory banking. 2020-09-22 21:27:07 +02:00
jespergravgaard
79963be64c Added memory mapper to mega65.h 2020-09-22 19:51:26 +02:00
jespergravgaard
a57b77f911 Added a working 256MB memory block remapping (MAP instruction) test. 2020-09-21 01:32:51 +02:00
jespergravgaard
77c15f80aa Added a working memory block remapping (MAP instruction) test. 2020-09-20 22:32:42 +02:00
jespergravgaard
617a7a83d9 Updated assembly to include PRG files. Improved target platforms. 2020-09-20 18:49:48 +02:00
jespergravgaard
7ffeffdb92 Working on MAP test.
Added fragment.
2020-09-19 11:15:42 +02:00
jespergravgaard
aa056562d3 Working on MAP test. 2020-09-18 08:31:20 +02:00
jespergravgaard
73ab3f6697 Full Raster65 is now working. 2020-09-16 00:35:41 +02:00
jespergravgaard
b8e7e39cae Full Raster65 is now working. 2020-09-16 00:28:02 +02:00
jespergravgaard
c45e992aef Optimized fragment. Thanks @IcePic. #513 2020-09-15 20:13:46 +02:00
jespergravgaard
bce8af7d66 Added text color to raster65. 2020-09-15 11:25:46 +02:00
jespergravgaard
c4622fae00 Added moving raster bars to raster65. 2020-09-14 21:41:26 +02:00
jespergravgaard
98b59afe8e Added missing fragment. Closes #513 2020-09-14 18:23:04 +02:00
jespergravgaard
ca077a5d81 Working on MEGA65 RASTER65. 2020-09-14 08:31:06 +02:00
jespergravgaard
2d66843209 Added MEGA65 VIC-IV. Working on MEGA65 RASTER65. 2020-09-14 00:22:23 +02:00
jespergravgaard
17ee7a333b Fixed mega65 tests. 2020-09-06 15:54:30 +02:00
jesper
21ef83b247 Adding VIC III to mega65.h 2020-09-06 08:40:50 +02:00
jespergravgaard
1cac21d8e1 Now parenthesizing all #pragmas. Closes #512 2020-08-27 23:40:10 +02:00
Jesper Gravgaard
86cd93c0d9 Working on improving #pragma compatibility. #512 2020-08-27 17:59:45 +02:00
jespergravgaard
d1e964a84a Recoded #pragma parsing to allow unknown pragmas (as long as they follow the parenthesized syntax). Closes #324 2020-08-26 02:14:27 +02:00
jespergravgaard
56e3553c56 Recoded #pragma parsing to allow unknown pragmas (as long as they follow the parenthesized syntax). Closes #324 2020-08-26 01:24:04 +02:00
jespergravgaard
825b277888 Constructor procedures are not marked by boolean instead of a magic comment. 2020-08-25 22:48:52 +02:00
jespergravgaard
a31600f740 Constructor procedures are not marked by boolean instead of a magic comment. 2020-08-25 22:28:41 +02:00
jespergravgaard
7d82543566 Added tests for #pragma constructor_for() errors. Closes #511 2020-08-25 00:27:42 +02:00
jespergravgaard
97377534c0 Hopefully building a working ZIP again! Closes #358 2020-08-24 22:33:40 +02:00
jespergravgaard
36a6e165ec Working on handling the missing unzip on the new Docker image. 2020-08-24 22:05:05 +02:00
jespergravgaard
def77c3f2b Working on handling the missing unzip on the new Docker image. 2020-08-24 21:51:28 +02:00
jespergravgaard
a9373ff3c9 Upgraded to OpenJDK 14, Junit 5, Surefire 3.0, JaCoCo 0.8.5. 2020-08-24 21:00:16 +02:00
jespergravgaard
0a5d2d7956 Added MEGA65 conio.c constructor. And "Hello World" program. #507 2020-08-24 01:29:18 +02:00
jespergravgaard
b93869c069 Added MEGA65 conio.c constructor. And "Hello World" program. #507 2020-08-24 01:24:39 +02:00
jespergravgaard
70f0d841b5 Added MEGA65 conio.c constructor. And "Hello World" program. #507 2020-08-24 01:21:18 +02:00
jespergravgaard
e52aeff84b Implemented #pragma constructor_for(constructor, proc1, proc2, ...). Closes #416 2020-08-24 00:35:48 +02:00
jespergravgaard
2724fb053a Working on MEGA65 platform target. #507 2020-08-23 20:09:12 +02:00
jespergravgaard
ed86691c25 Updated KickAsm 65CE02 to new version. Fixed INW/DEW addressing mode problem. Working on MEGA65 platform target. #507 2020-08-23 20:05:48 +02:00
jespergravgaard
1c368b9c5e Added Atari 8bit rasterbar example. 2020-08-17 01:10:02 +02:00
jespergravgaard
bd1c4bcd13 Working on MEGA65 platform target. #507 2020-08-09 23:01:57 +02:00
jespergravgaard
2cec5191e1 Working on MEGA65 platform target. #507 2020-08-09 22:34:40 +02:00
jespergravgaard
4fe1c9b48e Added MEGA65 platform target. #507 2020-08-09 20:36:54 +02:00
jespergravgaard
d291f924fc Now handles ATASCII newline. Introduced ANTIC display list instruction set constants. 2020-08-09 16:57:04 +02:00
jespergravgaard
db8dd94754 Now handles ATASCII newline. Introduced ANTIC display list instruction set constants. 2020-08-09 16:53:58 +02:00
jespergravgaard
17441047cd Extended display list sample code. 2020-08-08 11:07:53 +02:00
jespergravgaard
f794626be6 Added support for specifying default string encoding in platform definition. Closes #503 2020-08-08 02:25:11 +02:00
jespergravgaard
58cc08e0d0 Added string encoding ASCII support. Closes #263 2020-08-08 02:11:09 +02:00
jespergravgaard
560d81043e Added support for Atari string encodings ATASCII and screencoce_atari. Closes #500 2020-08-08 02:09:08 +02:00
jespergravgaard
9dfe9d6634 Added Atari 8-bit chipset ANTIC/GTIA/POKEY. Closes #501 2020-08-07 23:46:14 +02:00
jespergravgaard
601a88dc82 Fixed test ref. 2020-08-06 12:38:46 +02:00
jespergravgaard
6d1c980f19 Fixed off-by-1 error in XEX-format. Changed emulator. 2020-08-06 11:50:15 +02:00
jespergravgaard
4af34930ca Updated test ref 2020-08-06 11:02:02 +02:00
jespergravgaard
392ab7e442 Added Atari XL/XE platform target generating a simple XEX-file. Closes #499 2020-08-06 10:57:27 +02:00
jespergravgaard
a7359f8395 Added a bunch of Z-fragments. 2020-08-03 00:27:03 +02:00
jespergravgaard
fe35af0cbe Removed redundant fragments. 2020-08-02 22:43:49 +02:00
jespergravgaard
5ad99239c5 Fragment system caching working across Windows and MacOs - because it uses two hashes, one for CR and another for CRLF. Closes #490 2020-08-02 17:07:04 +02:00
jespergravgaard
b5854c1fa7 Added fragment system handling of CR / CRLF. #490 2020-08-02 14:42:25 +02:00
jespergravgaard
b8682bd770 Optimized fragments for comparisons and signed byte pointers. 2020-08-02 12:27:20 +02:00
jespergravgaard
d12f29458e Added more fragments and optimized others. 2020-08-01 09:39:35 +02:00
jespergravgaard
9ae695ba60 Added more fragments and optimized others. 2020-08-01 03:01:00 +02:00
jespergravgaard
e8084a4d27 Added many Z register fragments. 2020-08-01 01:28:21 +02:00
jespergravgaard
30b3172e7f Added Z register support to register allocation, synthesis, fragment system, clobber and more for 65CE02 and 45GS02. 2020-07-31 23:16:54 +02:00
jespergravgaard
b7a6412440 Added byte size to test of compatible CPU opcodes. 2020-07-31 13:19:11 +02:00
jespergravgaard
0f7061bcf0 Updated KickAsm with newest version of 45GS02 CPU. Now all opcodes match between KickC and KickAsm. 2020-07-31 01:47:49 +02:00
jespergravgaard
462c05552d Added test that checks that KickC and KickAss agree on all mnemonics and opcodes. Removed discrepancies for 6502 official & illegal, 65c02 and 65ce02. 2020-07-31 00:56:22 +02:00
jespergravgaard
f27fe1a75c Added support fro 45GS02 CPU addressing modes and instructions. Added a few 45GS02 optimized fragments. 2020-07-30 14:11:17 +02:00
jespergravgaard
1a436a67a3 Added some fragments and tests for 65CE02. 2020-07-30 01:26:41 +02:00
jespergravgaard
88cdba9d0c Added some fragments and tests for 65CE02. 2020-07-30 01:20:41 +02:00
jespergravgaard
e66705c103 Syntax for clobber aligned. 2020-07-30 00:25:06 +02:00
jespergravgaard
96cabc382f Added support for clobber, registers, addressing modes and instructions in the 65CE02 instruction set. 2020-07-29 23:52:38 +02:00
jespergravgaard
1881fb17d0 Now the ASM generation uses the instruction set of the declared CPU. Added support for addressing modes and instructions in the 65C02 instruction set. 2020-07-28 22:40:24 +02:00
jespergravgaard
ba9f99059a Added lexer support for all mnemonics used in CPU 65C02. Added Cpu65C02 instruction set. 2020-07-28 21:31:17 +02:00
jespergravgaard
a454ee2cdd Added support for all new addressing modes used in CPU's 65C02, 65CE02 and 45GS02. 2020-07-28 19:05:58 +02:00
jespergravgaard
a8b5929adf Working on CPU model. 2020-07-27 13:50:21 +02:00
jespergravgaard
21a6e60eed Fixed Wrong size of padding for non-byte arrays. Closes #497 2020-07-27 12:20:54 +02:00
jespergravgaard
9227a3a857 Fixed Wrong size of padding for non-byte arrays. Closes #497 2020-07-27 12:12:41 +02:00
jespergravgaard
dcb68b8c1a Moved clobber info to a constructor parameter. Added clobber info for SP, PC, d, i. 2020-07-26 22:51:34 +02:00
jespergravgaard
1fb532718f Changed clobber string format and made difference between registers and flags more clear. 2020-07-26 20:56:24 +02:00
jespergravgaard
7e72604cf9 Changed clobber to a value object. 2020-07-26 20:27:21 +02:00
jespergravgaard
676df5fc02 Moved 6502 family instruction set to separate java package. 2020-07-26 18:47:14 +02:00
jespergravgaard
f221865593 Added initial support for new CPU's 65C02, 65CE02 and 45GS02. 2020-07-26 16:50:49 +02:00
jespergravgaard
f62631812e Now using kickassembler-5.16-65ce02 properly. 2020-07-26 02:25:33 +02:00
jespergravgaard
afae4975f1 Updated to KickAssembler 5.16-65CE02 (my own hacked version). 2020-07-26 02:01:02 +02:00
jespergravgaard
be85d43f1c Upgraded to Kickassembler 5.16 2020-07-26 00:57:17 +02:00
jespergravgaard
d39893f97a Fixed problem with casting negative 8-bit numbers to 16-bit. Closes #496 2020-07-22 09:10:34 +02:00
jespergravgaard
b336ba38df Optimized slightly 2020-07-15 12:26:02 +02:00
jespergravgaard
f82800dd67 Added missing fragments. Working on scroller. 2020-07-14 20:14:57 +02:00
Jesper Gravgaard
ed84cda8ea Added missing fragment. 2020-07-13 21:52:20 +02:00
Jesper Gravgaard
8eebce644a Working on lazyNES. Adding sprite 0 hit test. 2020-07-11 23:46:42 +02:00
Jesper Gravgaard
87febe359d Working on lazyNES. Now lnList() works for vertical. CleanUp needed for vertical. 2020-07-11 22:14:02 +02:00
Jesper Gravgaard
6c8a320f5c Working on lazyNES. now lnList() works for single and horizontal. 2020-07-11 08:42:49 +02:00
Jesper Gravgaard
00e8822ff5 Merge remote-tracking branch 'origin/master' 2020-07-09 10:12:56 +02:00
Jesper Gravgaard
324b83e95e Improved fragment. Updated test data. 2020-07-09 10:12:28 +02:00
jespergravgaard
8de41e2438 Working on lazynes print.c demonstrating lnList() 2020-07-09 09:57:10 +02:00
jespergravgaard
1f02f81b3d Working on lazynes print.c demonstrating lnList() 2020-07-08 10:29:49 +02:00
jespergravgaard
858c5de57a Added working lazynes scroll.c 2020-07-08 09:01:28 +02:00
jespergravgaard
64db016dc2 Added working lazynes scroll.c 2020-07-08 01:06:39 +02:00
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
jespergravgaard
da2fd8545b Fixed test reference. 2020-05-18 00:46:25 +02:00
jespergravgaard
65b59c6745 Fixed comment. 2020-05-17 23:54:59 +02:00
jespergravgaard
af90a910f2 Added a sinus movement to the Atari 2600 raster bars. Separated Vars and Data fragments in the Atari 2600 target platform linker file. Moved atari 2600 demo to /examples/. Closes #445 2020-05-17 23:52:58 +02:00
jespergravgaard
2faaae5d93 Implemented support for controlling output file extension using #pragma extension("xxx"), property "extension" in the target platform file or command-line option -oext. Closes #446 2020-05-17 23:33:18 +02:00
jespergravgaard
c2993e4d82 Updated Atari 2600 minial sample. 2020-05-17 00:19:22 +02:00
jespergravgaard
26718942e9 Added Atari 2600 target platform and a minimal sample program. It is functional, but still needs some work. 2020-05-16 22:13:47 +02:00
jespergravgaard
9693ea125a Added VIC 20 raster bars. 2020-05-16 17:35:25 +02:00
jespergravgaard
7364e3a877 Fixed VIC 20 Basic target. 2020-05-16 16:35:09 +02:00
jespergravgaard
557212c847 Added a VIC 20 target. Added CONIO support for VIC 20. 2020-05-16 16:28:24 +02:00
jespergravgaard
97f49cb93c Fixed syntax error. 2020-05-16 13:05:59 +02:00
jespergravgaard
969301af0f Added plus/4 keyboard tester. 2020-05-16 12:45:35 +02:00
jespergravgaard
d9fdaca1b0 Added conio.h support for PLUS4. Fixed problem where anonymous structs failed because scopes were mixed up. 2020-05-16 12:40:01 +02:00
jespergravgaard
1b9f523f8f Fixed processor port addresses. 2020-05-16 09:39:24 +02:00
jespergravgaard
8d0d36e50b Added all Plus/4 IC's and I/O addresses. 2020-05-16 09:33:01 +02:00
jespergravgaard
1d534dcc3d Implemented target platform defines by putting the handling of #pragma target() into the preprocessor/parser. 2020-05-15 08:19:26 +02:00
jespergravgaard
e046e27e52 Added missing fragment found by G.B. 2020-05-14 22:25:48 +02:00
jespergravgaard
a9551beec2 Added test file. 2020-05-12 00:08:40 +02:00
jespergravgaard
b2045c7874 Working on #pragma target handling in preprocessor - to fix the embedded #defines. 2020-05-12 00:08:11 +02:00
jespergravgaard
362ec9bb0b Fixed missing fragment. Closes #435 2020-05-11 20:55:29 +02:00
jespergravgaard
86358c66be Added target files. 2020-05-11 11:04:32 +02:00
jespergravgaard
239cfdb48e Implemented #platform target() functionality configured by a TGT-file in JSON. 2020-05-11 02:36:37 +02:00
jespergravgaard
f2ece49ded Upgraded to Picocli 4.2.0. Added support for -Dname command-line option for defining a macro on the command line. 2020-05-10 00:07:12 +02:00
jespergravgaard
16d19d69a4 Added -Dname=body command-line option for defining macros on the command line. 2020-05-09 23:17:11 +02:00
jespergravgaard
8651ee8886 Updated test data. 2020-05-09 11:52:17 +02:00
jespergravgaard
ab670df01f Renamed #pragma emulator. Added headers for Plus/4. Closes #436 2020-05-09 11:44:29 +02:00
jespergravgaard
c3a9ced0f5 Added support for #pragma emulator() specifying which emulator to execute. 2020-05-09 08:12:28 +02:00
jespergravgaard
7e859fa8ae Added support for -emu option specifying which emulator to execute. 2020-05-09 00:04:03 +02:00
jespergravgaard
6aa88fe3e6 Added random walk for Plus/4 to examples. Thanks to Carrion of Bonzai! 2020-05-08 18:28:48 +02:00
jespergravgaard
6a5aa72ed5 Fixed tests. 2020-05-08 09:10:59 +02:00
jespergravgaard
aa66273149 Optimized line buffer and rendering sequence slightly 2020-05-08 09:07:46 +02:00
jespergravgaard
6da9a8f9f8 Introduced line buffer. 2020-05-07 09:04:42 +02:00
jespergravgaard
42aa2d9a8f Added missing fragment. 2020-05-07 08:42:27 +02:00
Jesper Gravgaard
21ee39aafa Fixed tests. 2020-05-06 22:38:59 +02:00
Jesper Gravgaard
a6d0f4a541 Added circle chars test. 2020-05-06 22:36:46 +02:00