jespergravgaard
|
3b297ef85d
|
working on struct strategy
|
2019-12-14 09:50:26 +01:00 |
|
jespergravgaard
|
2bad8c915f
|
Improved log message.
|
2019-12-08 16:04:35 +01:00 |
|
jespergravgaard
|
0e5087c99a
|
Improved test.
|
2019-12-08 15:47:00 +01:00 |
|
jespergravgaard
|
cd62004812
|
Fixed test data with ASM optimization.
|
2019-12-08 15:21:23 +01:00 |
|
jespergravgaard
|
ad28ad18f9
|
A very early grid bob.
|
2019-12-08 15:16:32 +01:00 |
|
jespergravgaard
|
9daf5d7dc8
|
Added an ASM optimization
|
2019-12-08 13:25:34 +01:00 |
|
jespergravgaard
|
caec30ff0b
|
Now both Vogel Sunflower Bobs & Sprites.
|
2019-12-01 14:04:18 +01:00 |
|
jespergravgaard
|
7aff220a6e
|
Working on Vogel Sunflower Bobs.
|
2019-11-30 23:57:23 +01:00 |
|
jespergravgaard
|
d5f7a914f8
|
working on prebob.
|
2019-11-28 08:25:00 +01:00 |
|
jespergravgaard
|
87ab93f0ee
|
Updated test with better fragment.
|
2019-11-24 23:53:07 +01:00 |
|
jespergravgaard
|
99f02843c2
|
Added better fragment.
|
2019-11-24 23:14:45 +01:00 |
|
jespergravgaard
|
5463c3174e
|
Added pre-calculated char BOBs.
|
2019-11-24 23:00:44 +01:00 |
|
jespergravgaard
|
59ab4e0eb1
|
Improved variable constructors. Improved constant comments.
|
2019-11-23 23:46:46 +01:00 |
|
jespergravgaard
|
363a6c4424
|
Aligned struct variable creation with normal variables.
|
2019-11-23 18:31:00 +01:00 |
|
jespergravgaard
|
5ab9b4353c
|
Refactoring Variable creation.
|
2019-11-22 23:41:01 +01:00 |
|
jespergravgaard
|
397680ea9c
|
Removed FilledArray. Fixed unary plus. Closes #339
|
2019-11-19 08:28:54 +01:00 |
|
jespergravgaard
|
4f5064a372
|
Cleaning up old usages of SymbolTypeArray.
|
2019-11-18 23:19:58 +01:00 |
|
jespergravgaard
|
4ab7fe0596
|
Moving array properties from type to variable. Fixed the last few tests.
|
2019-11-18 22:56:18 +01:00 |
|
jespergravgaard
|
8656cc4785
|
Moving array properties from type to variable. A few tests still failing.
|
2019-11-18 22:50:06 +01:00 |
|
jespergravgaard
|
37f5d833c9
|
Moving array properties from type to variable. A few tests still failing.
|
2019-11-18 22:40:12 +01:00 |
|
jespergravgaard
|
ecccf55a08
|
Moving array properties from type to variable. A few tests still failing.
|
2019-11-18 22:02:29 +01:00 |
|
jespergravgaard
|
20dcf58eee
|
Removed notregister from Variable.
|
2019-11-17 20:05:26 +01:00 |
|
jespergravgaard
|
fa5f96221d
|
Removed inferedType from Variable.
|
2019-11-17 19:58:06 +01:00 |
|
jespergravgaard
|
4cd74cf0a0
|
Removed __notconst directive.
|
2019-11-17 19:36:30 +01:00 |
|
jespergravgaard
|
bd83f1f5bf
|
Added example of a 8bit-per-pixel logo for the XMega65.
|
2019-11-17 16:49:54 +01:00 |
|
jespergravgaard
|
09c504e693
|
Working on catching all declared constants in parse 0.
|
2019-11-17 01:51:42 +01:00 |
|
jespergravgaard
|
6b15bedde0
|
Working on catching all declared constants in parse 0.
|
2019-11-04 00:39:09 +01:00 |
|
jespergravgaard
|
b921c99661
|
Converting constant value lists directly to constant values during parse.
|
2019-11-03 22:12:51 +01:00 |
|
jespergravgaard
|
cfb27e5915
|
Converting constant value lists directly to constant values during parse.
|
2019-11-03 21:27:11 +01:00 |
|
jespergravgaard
|
b6b01ab232
|
Fixed tests.
|
2019-11-03 20:11:06 +01:00 |
|
jespergravgaard
|
0b477d24ae
|
Identifying declared constants already during Pass0.
|
2019-11-03 17:05:55 +01:00 |
|
jespergravgaard
|
5839a98c60
|
Changed declared const handling.
|
2019-11-03 10:48:40 +01:00 |
|
jespergravgaard
|
e35f1b1530
|
Fixed tests. Moved all attributes to SymbolVariable.
|
2019-10-31 23:07:51 +01:00 |
|
jespergravgaard
|
445f104309
|
Merge remote-tracking branch 'origin/328-memvars' into 328-memvars
|
2019-10-31 22:48:24 +01:00 |
|
jespergravgaard
|
db60a5e2a4
|
Moved constant value to SymbolVariable.
|
2019-10-31 22:48:08 +01:00 |
|
Jesper Gravgaard
|
e427cb648b
|
Merge remote-tracking branch 'origin/328-memvars' into 328-memvars
|
2019-10-31 16:10:46 +01:00 |
|
Jesper Gravgaard
|
ad7c0c57ac
|
Fixes static optimization problem. Closes #336
|
2019-10-31 16:10:29 +01:00 |
|
jespergravgaard
|
acb71114e2
|
Changed to standard C syntax.
|
2019-10-30 08:32:11 +01:00 |
|
jespergravgaard
|
7f9fd7b46a
|
Updated tetris to C types.
|
2019-10-29 23:55:43 +01:00 |
|
jespergravgaard
|
d29a935507
|
Updated sinusgen8 test code.
|
2019-10-20 20:49:31 +02:00 |
|
jespergravgaard
|
e0749c4ac2
|
Updated sinusgen8 test code.
|
2019-10-20 20:41:16 +02:00 |
|
jespergravgaard
|
7ece3b172d
|
Added another __notconst test.
|
2019-10-20 20:17:23 +02:00 |
|
jespergravgaard
|
79e6c92dd1
|
Added test of __notconst directive.
|
2019-10-20 20:15:01 +02:00 |
|
jespergravgaard
|
a34abcbdff
|
Added __notconst directive.
|
2019-10-20 20:01:38 +02:00 |
|
jespergravgaard
|
ea4563cf99
|
Working on constant identification.
|
2019-10-20 17:06:17 +02:00 |
|
jespergravgaard
|
bacd900a9b
|
Added test for __ssa / __notssa. Made literal char ConstantEnumerable.
|
2019-10-20 14:06:54 +02:00 |
|
jespergravgaard
|
71ce3d0438
|
Aligned hardcoded address register implementation between memory registers and zp registers.
|
2019-10-20 13:21:04 +02:00 |
|
jespergravgaard
|
93456f0eb0
|
Cleaned up code generation and register.isZp()
|
2019-10-20 12:12:36 +02:00 |
|
jespergravgaard
|
0298452244
|
Fixed tests.
|
2019-10-20 11:41:56 +02:00 |
|
jespergravgaard
|
9e6fcdc781
|
Fixed tests.
|
2019-10-20 03:43:58 +02:00 |
|
jespergravgaard
|
a8c9943b73
|
Fixed test data for constants. Closes #209
|
2019-10-20 01:48:09 +02:00 |
|
jespergravgaard
|
82d3cc7e68
|
Improved ASM name shortening to remove labels representing the same variable with different versions and the same allocation. Closes #209
|
2019-10-20 01:43:51 +02:00 |
|
jespergravgaard
|
fcf0d65bcb
|
Adding a few directives to find.
|
2019-10-19 00:27:33 +02:00 |
|
Jesper Gravgaard
|
8f274f18a6
|
Refactored directive parsing slightly.
|
2019-10-17 11:13:46 +02:00 |
|
Jesper Gravgaard
|
90b2077ac5
|
Changed memory area keywords to __zp / __mem / address(0xnn) / address(0xnnnn).
|
2019-10-17 01:27:56 +02:00 |
|
Jesper Gravgaard
|
c215cfed28
|
Fixed test data
|
2019-10-16 08:34:33 +02:00 |
|
jespergravgaard
|
689e0e1e97
|
Improved struct value unwinding.
|
2019-10-14 01:07:01 +02:00 |
|
jespergravgaard
|
85676bc83a
|
Implemented support for fixed address main memory variables using __mem(0x1000) directive.
|
2019-10-14 00:51:19 +02:00 |
|
jespergravgaard
|
12aed34f2d
|
Added test for zeropage notregister variable.
|
2019-10-13 23:49:52 +02:00 |
|
jespergravgaard
|
da2dd21514
|
Changed 'memory' keyword to 'notregister'. Changed default for 'notregister' variables to be on zeropage.
|
2019-10-13 23:36:40 +02:00 |
|
jespergravgaard
|
0c4e0a833c
|
Removed support for register(NUMBER) and memory(NUMBER). Added keywords for using zeropage memory (__zp) or main memory (__mem). Added support for __zp(NUMBER) and __mem(NUMBER).
|
2019-10-13 22:09:33 +02:00 |
|
jespergravgaard
|
f2660a8680
|
Improved fragments. Improved printing main memory registers.
|
2019-10-12 11:51:55 +02:00 |
|
Jesper Gravgaard
|
70aa2836da
|
Improved printing register ZP.
|
2019-10-12 11:40:36 +02:00 |
|
jespergravgaard
|
873adf0b26
|
Renaming.
|
2019-10-06 23:48:27 +02:00 |
|
jespergravgaard
|
949917f734
|
Fixed test.
|
2019-10-06 23:20:15 +02:00 |
|
jespergravgaard
|
b93d65423d
|
Eliminated most register types and classes.
|
2019-10-06 22:41:21 +02:00 |
|
jespergravgaard
|
1b9e4347fc
|
Now trying registers for boolean vars.
|
2019-10-06 21:11:56 +02:00 |
|
Jesper Gravgaard
|
9877da213d
|
Improved a few fragments. Moved to use the SymVar.isStorageXxx() methods.
|
2019-10-05 12:06:43 +02:00 |
|
jespergravgaard
|
6feeb0d842
|
Working on M/Z synth rules.
|
2019-10-04 00:20:17 +02:00 |
|
jespergravgaard
|
ec1087b876
|
Working on M/Z synth rules.
|
2019-10-04 00:00:41 +02:00 |
|
jespergravgaard
|
633cc9294b
|
Working on M/Z synth rules.
|
2019-10-03 23:29:21 +02:00 |
|
jespergravgaard
|
78d316e7db
|
Working on M/Z synth rules.
|
2019-10-03 22:58:34 +02:00 |
|
jespergravgaard
|
ec6139de54
|
Updated fragment test data #328
|
2019-10-02 08:27:48 +02:00 |
|
jespergravgaard
|
ce0377e155
|
Changed Z-fragments to M-fragments. Added z-to-m synth.
|
2019-10-02 01:07:42 +02:00 |
|
jespergravgaard
|
75dbe31cef
|
Progress on memory variables. Added identification of identical memory registers. #328
|
2019-10-01 22:28:54 +02:00 |
|
jespergravgaard
|
7b7d7de49d
|
Progress on memory variables. Avoided const/alias/... passes. Added new register type and the first few fragments. The first few tests working. #328
|
2019-09-30 23:57:27 +02:00 |
|
jespergravgaard
|
73854b7ee3
|
Added two memory variable tests with struct values. (illustrating that they do not work yet.) #328
|
2019-09-30 00:18:41 +02:00 |
|
jespergravgaard
|
624c27686c
|
Added underscores to compiler-generated ASM-symbols to avoid clashes with C-symbols. Closes #329
|
2019-09-29 23:13:42 +02:00 |
|
jespergravgaard
|
198f4ee55f
|
Optimized constant handling in pass 1.
|
2019-09-29 22:42:37 +02:00 |
|
jespergravgaard
|
bfdd2fb0a5
|
Optimizing constant detection - avoiding versions.
|
2019-09-29 22:36:02 +02:00 |
|
jespergravgaard
|
032f9d079e
|
Completed refactoring of Variable class to use StorageStrategy.
|
2019-09-29 21:53:44 +02:00 |
|
jespergravgaard
|
f09e4da4d4
|
Fixed struct tests
|
2019-09-29 20:59:38 +02:00 |
|
jespergravgaard
|
587027397d
|
Variable storage strategy implementation almost done.
|
2019-09-29 20:57:28 +02:00 |
|
jespergravgaard
|
688a36b6d7
|
Added fragment synths for Travis Fisher and Clay Cowgill.
|
2019-09-29 17:48:20 +02:00 |
|
jespergravgaard
|
a749cce83d
|
Added test with a memory variable pointer. Illustrates how it would be better to make "real" memory variables instead of pointers to ... #328
|
2019-09-27 19:51:26 +02:00 |
|
Jesper Gravgaard
|
a450da9123
|
Fixed tests. #328
|
2019-09-26 15:05:50 +02:00 |
|
Jesper Gravgaard
|
b83ab7d402
|
Added another test. #328
|
2019-09-26 14:53:33 +02:00 |
|
Jesper Gravgaard
|
5652a11131
|
Implemented memory variable data output. Initialization can still be optimized. #328
|
2019-09-26 14:35:02 +02:00 |
|
jespergravgaard
|
f696f8db18
|
Added test declaring a memory-variables. #328
|
2019-09-24 08:55:06 +02:00 |
|
Jesper Gravgaard
|
665b9adbfb
|
Added constant for return value offset on stack. Added padding when return value is larger than parameters. Improved calculations of stack frame sizes. #316
|
2019-09-23 17:53:23 +02:00 |
|
jespergravgaard
|
2b36c5c18b
|
Fixed parameter push type sizes. #316
|
2019-09-23 08:30:18 +02:00 |
|
jespergravgaard
|
a11929dbd3
|
Renamed stack pull/push/idx - including fragments. #316
|
2019-09-23 07:42:13 +02:00 |
|
jespergravgaard
|
cbec257332
|
Results are now pushed. #316
|
2019-09-23 00:10:44 +02:00 |
|
jespergravgaard
|
6540d60e60
|
Fixed clobber-problem with stack-parameter-passing return-values. Results are still not pushed. #316
|
2019-09-22 23:12:19 +02:00 |
|
jespergravgaard
|
dc08f86302
|
Working on stack-parameter-passing. Split calls into prepare/execute/finalize. Still some clobber problems and results are not pushed. #316
|
2019-09-22 22:20:45 +02:00 |
|
jespergravgaard
|
bcddd821ff
|
Renamed stack-manipulating fragments. Added fragment-based stack clean-up. #316
|
2019-09-20 16:27:50 +02:00 |
|
Jesper Gravgaard
|
5e1c05dc2e
|
Added stack clean-up. Added parameter stack fetch type. #316
|
2019-09-20 14:19:43 +02:00 |
|
jespergravgaard
|
c6a5c54909
|
Added test data.
|
2019-09-20 08:34:51 +02:00 |
|
jespergravgaard
|
51d1e6f41f
|
Changed control flow graph to print procedure signatures.
|
2019-09-18 23:00:34 +02:00 |
|
jespergravgaard
|
70435aec30
|
Added tests for different reported problems & fixes.
|
2019-09-18 21:53:32 +02:00 |
|
jespergravgaard
|
0ce718371e
|
Fixed problem with adding ints to literal string pointers. Closes #315
|
2019-09-14 11:21:29 +02:00 |
|
jespergravgaard
|
bc1bb7d2e5
|
Fixed test
|
2019-09-14 08:09:34 +02:00 |
|
jespergravgaard
|
4f6908ac80
|
Fixed double emitting of strings inside arrays inside structs. Closes #312
|
2019-09-13 23:29:42 +02:00 |
|
jespergravgaard
|
edb12d8577
|
Moved strings into chunk method.
|
2019-09-13 21:21:32 +02:00 |
|
jespergravgaard
|
8b441f6814
|
Arrays of structs with arrays now working - with some minor flaws (Size of sub-array is not checked, Const Strings are output as data twice, ASM for indexing into array inside struct by pointer is not optimal). Closes "274"
|
2019-09-13 01:23:55 +02:00 |
|
jespergravgaard
|
24e40b9083
|
Fixed signed word greater-than fragments with errors. Progress on structs containing arrays elements. #312
|
2019-09-12 23:48:12 +02:00 |
|
jespergravgaard
|
f110b86ee1
|
Fixed _deref(_deref_pptc1) fragments to handle {c1}>255. Added simpler test for struct containing array problem. #312
|
2019-09-10 00:18:31 +02:00 |
|
jespergravgaard
|
4ab1cac029
|
Added missing test data
|
2019-09-09 23:29:18 +02:00 |
|
jespergravgaard
|
5fe5c9f84b
|
Added missing struct-ptr fragments. Added padding to initialization of fixed size arrays with to few elements in the initializer. Closes #311
|
2019-09-09 23:01:04 +02:00 |
|
jespergravgaard
|
d6ad2c3b9b
|
Added missing fragment. Fixed exception when casting literal string. Closes #309
|
2019-09-09 15:51:39 +02:00 |
|
Jesper Gravgaard
|
1a6be50c70
|
Working on CPU/ROM support. #307
|
2019-09-08 16:26:25 +02:00 |
|
jespergravgaard
|
3d0871f757
|
Added support for #pragma cpu(). Added test of program without illegal opcodes. Closes #303
|
2019-09-08 02:29:20 +02:00 |
|
jespergravgaard
|
9f01a27df0
|
Moved illegal opcode fragments to 6502X. #303
|
2019-09-08 01:48:56 +02:00 |
|
jespergravgaard
|
62f9d7c9d9
|
Added initial support for specifying which CPU to compile to. #303
|
2019-09-08 01:35:38 +02:00 |
|
jespergravgaard
|
32ead9cc87
|
One more optimization.
|
2019-09-07 22:31:24 +02:00 |
|
jespergravgaard
|
7fb7d3acf6
|
Optimized live ranges by statement idx in PassNLiveRangeVariables. Added example of how to use segments to compile code meant for transfer to zeropage.
|
2019-09-07 18:23:11 +02:00 |
|
jespergravgaard
|
0bf1363c90
|
Improved fragment
|
2019-09-04 23:11:35 +02:00 |
|
jespergravgaard
|
899058ce42
|
Added fragment for Paul Nelsen.
|
2019-09-04 23:09:27 +02:00 |
|
Jesper Gravgaard
|
036ff9259c
|
Fixed problem with recursive aliasses (it was caused by a bad alias-replacement earlier). Closes #305
Fixed literal calculation of constant pointer decrement.
|
2019-09-03 16:16:07 +02:00 |
|
jespergravgaard
|
42ecee2f94
|
Working on #304, #305, #306.
|
2019-09-03 08:35:38 +02:00 |
|
jespergravgaard
|
9b113b4bcd
|
Fixed problem with inline ASM culling JMP. Closes #302
|
2019-09-02 23:35:15 +02:00 |
|
Jesper Gravgaard
|
51cd148433
|
Implemented detection of constant addresses being <256 - and generating ZP ASM for these. Closes #301
|
2019-09-01 22:06:32 +02:00 |
|
jespergravgaard
|
8c56181554
|
Added support for allocating specific zeropage addresses for variables using the register(0x12) directive. This also includes function parameters making it possible to the calling convention pretty well. Closes #287
|
2019-08-29 22:52:58 +02:00 |
|
Jesper Gravgaard
|
67157f0a70
|
Implemented interval analysis for detecting conditions that are always true/false. Closes #291
|
2019-08-29 20:05:08 +02:00 |
|
jespergravgaard
|
a4450db06a
|
Merge remote-tracking branch 'origin/master'
|
2019-08-29 15:40:51 +02:00 |
|
jespergravgaard
|
cc7e7829cb
|
Fixed tests.
|
2019-08-29 15:40:41 +02:00 |
|
Jesper Gravgaard
|
c35d35c238
|
Updated test data
|
2019-08-29 09:29:33 +02:00 |
|
Jesper Gravgaard
|
b6d917a264
|
Added missing fragment. Added test for literal string pointer cast to word. #298
|
2019-08-27 14:54:49 +02:00 |
|
Jesper Gravgaard
|
a1fc0ace62
|
Added test showing inline ASM preserving called functions. #294
|
2019-08-27 14:31:30 +02:00 |
|
jespergravgaard
|
00c9b47481
|
Added support for specifying that inline kickasm uses a procedure - preventing it from being culled. Closes #294
|
2019-08-26 19:31:55 +02:00 |
|
jespergravgaard
|
452b9d2ae6
|
Fixed tests & fragment.
|
2019-08-26 00:55:22 +02:00 |
|
jespergravgaard
|
0dc8d5e735
|
Added fragments from Richard-William Loerakker
|
2019-08-26 00:23:05 +02:00 |
|
jespergravgaard
|
b97d8300b3
|
Added another example of loophead optimization giving wrong return value. #290
|
2019-08-25 22:57:23 +02:00 |
|
jespergravgaard
|
2739456cc3
|
Added test for optimizing comparisons to types outside range of type. Added a missing fragment (that won't be used when the optimization is implemented). #291
|
2019-08-25 22:44:06 +02:00 |
|
jespergravgaard
|
3aad07f4e1
|
Disabled constant loop head optimization by default (until the two known issues have been fixed.)
|
2019-08-25 22:21:58 +02:00 |
|
jespergravgaard
|
19e53bf6fd
|
Implemented handling of expr-statements that do not produce a statement - this forces an assignment to a tmp-var (which means that it will be type-checked and more). Closes #276
|
2019-08-25 21:37:10 +02:00 |
|
jespergravgaard
|
c75e788fd1
|
Fixed problems casting strings to void*. Closes #281
|
2019-08-25 15:54:09 +02:00 |
|
jespergravgaard
|
0fb90dc8b7
|
Fixed problem casting a constant pointer to char. Closes #288
|
2019-08-25 14:51:07 +02:00 |
|
jespergravgaard
|
d3fa1f3743
|
Cleaned up lexer/parser. Added test of using ASM mnemonic as C symbol name.
|
2019-08-25 13:53:54 +02:00 |
|
jespergravgaard
|
91a7f0bb0d
|
Implemented CParser, which handles imports at the token level.
|
2019-08-25 00:20:50 +02:00 |
|
jespergravgaard
|
f4032e6c84
|
Addes parser/lexer state ensuring that typedefs are recognized as types. Closes #269
|
2019-08-24 14:30:21 +02:00 |
|
jespergravgaard
|
bb53f0b51d
|
Addes parser/lexer state ensuring that ASMREL labels does not get confused with negated struct references. Closes #266
|
2019-08-24 14:11:45 +02:00 |
|
jespergravgaard
|
5642c8d228
|
Added pointer ANDing test case.
|
2019-08-24 12:18:56 +02:00 |
|
jespergravgaard
|
2de0744639
|
Fixed switch test
|
2019-08-22 12:20:37 +02:00 |
|
jespergravgaard
|
a78ecc0e42
|
Added test for 32bit long pointer for 45GS02.
|
2019-08-22 12:15:33 +02:00 |
|
jespergravgaard
|
5923245630
|
Added missing fragments for Paul Nelsen
|
2019-08-22 11:13:52 +02:00 |
|
jespergravgaard
|
c70ac2f440
|
Fixed tests.
|
2019-08-22 01:51:32 +02:00 |
|
jespergravgaard
|
642f196786
|
Fixed switch without default. Closes #285
|
2019-08-22 01:01:01 +02:00 |
|
jespergravgaard
|
67a9880b94
|
Added example of Using function as error does not give an error - instead silently throws away the statement. #276
|
2019-08-21 07:06:11 +02:00 |
|
jespergravgaard
|
d42c7250af
|
Fixed tests.
|
2019-08-20 00:26:04 +02:00 |
|
jespergravgaard
|
f4777a5876
|
Added interrupt type hardware_stack which uses the stack for saving the registers. Closes #256
|
2019-08-20 00:08:49 +02:00 |
|
jespergravgaard
|
733751dbe3
|
Added parenthesis to fragments when derefs are nested. Closes #270
|
2019-08-19 23:54:01 +02:00 |
|
jespergravgaard
|
e3427796d3
|
Added examples of 2 problems
|
2019-08-19 08:42:48 +02:00 |
|
jespergravgaard
|
0185370732
|
Fixed problem where code after return resulted in NPE. Closes #273
|
2019-08-18 23:44:01 +02:00 |
|
jespergravgaard
|
19c0637f1e
|
Fixed relative labels in KickAss 5.9 #272
ASM now uses literal encoded chars for better readability #245
|
2019-08-18 23:18:53 +02:00 |
|
jespergravgaard
|
65dffdbdea
|
Added upport for continue inside switch statement. Closes #170
|
2019-08-18 21:55:21 +02:00 |
|
jespergravgaard
|
55b7dfdf91
|
Added a few fragments - and some tests illustrating certain problems.
|
2019-08-18 20:59:57 +02:00 |
|
jespergravgaard
|
3c12acbb43
|
Added support for \\ escape code. #241
|
2019-08-18 17:00:26 +02:00 |
|
jespergravgaard
|
577e0f6011
|
Implemented support for string and character escape codes \n \r \\ \" \'. Closes #241
|
2019-08-18 16:43:15 +02:00 |
|
jespergravgaard
|
f08812ab91
|
fixed test
|
2019-08-18 14:20:05 +02:00 |
|
jespergravgaard
|
891a4c21c2
|
Improved Atari Tempest Example Code.
|
2019-08-16 22:28:37 +02:00 |
|
jespergravgaard
|
8d7b0385cb
|
Fixed type inference error message. Closes #260
|
2019-08-13 08:08:43 +02:00 |
|
jespergravgaard
|
c9a3f33773
|
Implemented switch()-statement - first simple test working. #170
|
2019-08-12 21:46:01 +02:00 |
|
jespergravgaard
|
1dd2f1ebe6
|
Improved basic-floats.kc
|
2019-08-11 01:16:56 +02:00 |
|
jespergravgaard
|
ffa75b1732
|
Expanded "used" logic of inine ASM to include procedure refs.
|
2019-08-10 18:27:05 +02:00 |
|
jespergravgaard
|
074826fb1f
|
Playing a little with XMega helloworld.
|
2019-08-10 16:48:47 +02:00 |
|
jespergravgaard
|
7484e27a32
|
Working helloworld for XMega65 Xemu.
|
2019-08-10 15:41:32 +02:00 |
|
jespergravgaard
|
c82234db19
|
Fixed problem with for() continue.
|
2019-08-10 15:07:51 +02:00 |
|
jespergravgaard
|
da56d74339
|
Merged IcePic/master fragments. Thanks to Janne Johansson. #248
|
2019-08-10 14:41:46 +02:00 |
|
jespergravgaard
|
741f424116
|
Merged IcePic/master fragments. Thanks to Janne Johansson. #248
|
2019-08-10 14:41:30 +02:00 |
|
jespergravgaard
|
65bf7be4d7
|
Added support for export directive on data variables ensuring they are always included in the output ASM even if not used. Closes #252
|
2019-08-10 09:02:35 +02:00 |
|
jespergravgaard
|
7b155ee4b0
|
Added support for register keyword without parameter for compatibility. Closes #229
|
2019-08-10 08:39:42 +02:00 |
|
jespergravgaard
|
5755616588
|
Changed syntax slightly
|
2019-08-10 08:21:58 +02:00 |
|
jespergravgaard
|
e53159699b
|
Implemented Xmega65 SYSCALLS.
|
2019-08-10 00:22:57 +02:00 |
|
jespergravgaard
|
4430974f25
|
Implemented Xmega65 SYSCALLS.
|
2019-08-10 00:17:55 +02:00 |
|
jespergravgaard
|
d70fbe4c34
|
Implemented Xmega65 SYSCALLS.
|
2019-08-10 00:16:33 +02:00 |
|
jespergravgaard
|
dbb6ce5933
|
Added support for #pragma code_seg() and #pragma data_seg(). #113
|
2019-08-09 22:38:33 +02:00 |
|
Jesper Gravgaard
|
6b0ef4408c
|
Added test data.
|
2019-08-09 17:50:02 +02:00 |
|
Jesper Gravgaard
|
313d45fd03
|
Improved target platform handling.
|
2019-08-09 16:11:28 +02:00 |
|
jespergravgaard
|
8f0b9c886f
|
Implemented initial KickAsm segment support. #113
|
2019-08-09 11:31:08 +02:00 |
|
jespergravgaard
|
d3081d3fe1
|
Renamed AsmSegment to AsmChunk in preparation for introduction of KickAsm segments. #113
|
2019-08-08 23:46:43 +02:00 |
|
Jesper Gravgaard
|
ab28c25528
|
Added #pragma syntax
|
2019-08-08 13:16:17 +02:00 |
|
jespergravgaard
|
db3e77d8fd
|
Added NMI sample example.
|
2019-08-07 21:35:40 +02:00 |
|
jespergravgaard
|
7a49ded40c
|
Now all instructions addressing zero-page have an explicit .z added to the ASM to ensure the ASM generated does zeropage-addressing. Closes #249
|
2019-08-07 21:00:21 +02:00 |
|
jespergravgaard
|
c78bebf2a8
|
Updated stdlib & tests with 0-terminated strings.
|
2019-08-07 19:48:56 +02:00 |
|
jespergravgaard
|
6c59110896
|
Fixed encoded string zero termination. Closes #192
|
2019-08-07 19:36:19 +02:00 |
|
Jesper Gravgaard
|
62b03bcefb
|
Fixed encoding for literal chars through work-around. Closes #245
|
2019-08-07 14:58:57 +02:00 |
|
Jesper Gravgaard
|
ce5e3cf19a
|
Added constant loop head optimization, that detects when the condition is constant in the first loop iteration. Closes #246
|
2019-08-07 13:22:05 +02:00 |
|
jespergravgaard
|
b2804ef335
|
Added a smaller sieve.
|
2019-08-07 11:35:15 +02:00 |
|
jespergravgaard
|
dacd25ac5f
|
Added constant loop-head detection to a switchable optimization option -Oloophead. #246
Implemented for()-loop condition checking before body. Closes #183
|
2019-08-07 11:27:56 +02:00 |
|
jespergravgaard
|
c88932d423
|
Added constant loop-head detection to a switchable optimization option -Oloophead. #246
Implemented for()-loop condition checking before body. Closes #183
|
2019-08-07 11:09:29 +02:00 |
|
jespergravgaard
|
be4983cb13
|
Implemented for()-loop condition checking before body. #183
Moved constant loop-head detection to switchable optimization option.
|
2019-08-07 10:56:41 +02:00 |
|
jespergravgaard
|
0a58b03094
|
Constant loop head identification working. #246 is essentially complete. A few program grow to much from the optimization - this needs attention at some point.
|
2019-08-07 01:32:46 +02:00 |
|
jespergravgaard
|
e167f8dce8
|
Fixed almost all problems in constant loop head identification. A few program becomes infinite loops - needs fixing! A few also become way to long when rewritten - probably detect & rollback.
|
2019-08-06 01:10:57 +02:00 |
|
Jesper Gravgaard
|
c63b031dbe
|
Implemented new Unroller that can copy a set of blocks in the control flow graph and handles block transitions according to a specified strategy. Moved loop-unroll implementation to the new Unroller.
|
2019-08-05 17:32:37 +02:00 |
|
jespergravgaard
|
3d0f0b648d
|
Working on optimizing constant loop heads (Pass2LoopHeadConstantIdentification). #246
|
2019-08-04 01:50:00 +02:00 |
|
jespergravgaard
|
4807bbded7
|
Code generation now handles encoding in literal chars. Done 2/3 of #245
|
2019-08-04 00:13:33 +02:00 |
|
jespergravgaard
|
9e56b49a7e
|
Added encoding information to literal chars. Working on 2/3 of #245
|
2019-08-03 14:08:48 +02:00 |
|
jespergravgaard
|
198280e1c8
|
Snapshotting program dynamic state now working through Serialization. Working on #246
|
2019-08-03 13:22:27 +02:00 |
|
jespergravgaard
|
764e0c1069
|
Added some basic loop tests.
|
2019-08-01 21:15:33 +02:00 |
|
jespergravgaard
|
a006e67f82
|
Upgraded to KickAss 5.8. Closes #243
|
2019-08-01 12:58:40 +02:00 |
|
jespergravgaard
|
129cad782b
|
Fixed test
|
2019-08-01 11:03:19 +02:00 |
|
jespergravgaard
|
f8dfe3743b
|
Implemented light-weight zeropage coalesce. Closes #237
|
2019-07-31 13:47:22 +02:00 |
|
jespergravgaard
|
869a2dcade
|
Working on extracting zp coalesce logic.
|
2019-07-31 11:08:33 +02:00 |
|
jespergravgaard
|
2135bb1170
|
merged masters
|
2019-07-30 22:29:33 +02:00 |
|
jespergravgaard
|
78f89c927b
|
Added joystick test
|
2019-07-30 22:28:19 +02:00 |
|
Jesper Gravgaard
|
73fb40a3e3
|
merged and fixed conflict
|
2019-07-30 15:01:43 +02:00 |
|
jespergravgaard
|
b27c69635b
|
Working on light-weight coalesce #237
|
2019-07-29 23:50:42 +02:00 |
|
jespergravgaard
|
dc853bcffa
|
Converted letter C to array of struct literal.
|
2019-07-28 23:11:41 +02:00 |
|
jespergravgaard
|
a50e9e212a
|
Added support for literal arrays of structs by making the literal-identification and literal-handling and code-generation recursive over the value lists. Closes #223
|
2019-07-28 23:05:30 +02:00 |
|
jespergravgaard
|
44df048e64
|
Added support for address-of array-element &sieve[j]. Closes #228
|
2019-07-26 16:12:12 +02:00 |
|
jespergravgaard
|
07b08e3ed7
|
Renamed struct tests away from "problem-" name. Postponed struct member unwinding for non-variable members.
|
2019-07-26 14:54:10 +02:00 |
|
jespergravgaard
|
f336907efd
|
Added test refs.
|
2019-07-26 14:31:37 +02:00 |
|
jespergravgaard
|
a30939e72c
|
Finished fixes for uniwnding struct pointers/arrays.
|
2019-07-26 14:31:00 +02:00 |
|
jespergravgaard
|
66f6195739
|
Fixed problem with passing struct inside array as parameter. Closes #224
|
2019-07-26 13:22:18 +02:00 |
|
jespergravgaard
|
a1ef8ad163
|
Fixed problem with passing dereferenced struct pointers as parameters. Closes #225
|
2019-07-26 13:15:54 +02:00 |
|
jespergravgaard
|
0c33353bf8
|
Fixed problems with sizeof()-handling struct members. Closes #230
|
2019-07-25 23:06:09 +02:00 |
|
jespergravgaard
|
a9e0c7805f
|
Added error when exhausting zeropage space for variables. Closes #233
|
2019-07-25 17:26:43 +02:00 |
|
jespergravgaard
|
e8a0694f34
|
Added support for different target platforms. Added first platforms c64basic and asm6502 (no upstart). Closes #232
|
2019-07-25 17:06:19 +02:00 |
|
jespergravgaard
|
424f5ce006
|
Added an extra test.
|
2019-07-25 14:55:10 +02:00 |
|
jespergravgaard
|
02ff354d3f
|
Dropped SelfPhiEliminate pass - so now phi-variables have value for all predecessor-blocks. Added self-phi-handling to Identical-PHI optimization step instead. Closes #231
|
2019-07-25 14:35:43 +02:00 |
|
Jesper Gravgaard
|
9231fe18d6
|
Added splie test creating a (slowly) rotating truetype c.
|
2019-07-19 02:23:44 +02:00 |
|
Jesper Gravgaard
|
5a0b1a5d57
|
Added prime sieve test program
|
2019-07-18 09:47:41 +02:00 |
|
Jesper Gravgaard
|
660d2a8979
|
Changed print_cls() to use memset(). Fixed error in fragment.
|
2019-07-18 01:54:16 +02:00 |
|
Jesper Gravgaard
|
25f16b6b87
|
Added utoa() and ultoa() to print()
|
2019-07-18 00:45:46 +02:00 |
|
Jesper Gravgaard
|
9e66c01b6c
|
Changed RADIX enum values.
|
2019-07-17 23:46:07 +02:00 |
|
Jesper Gravgaard
|
31ede3c794
|
Added utoa() implementation handling binary/octal/decimal & hexadecimal.
|
2019-07-17 23:38:09 +02:00 |
|
Jesper Gravgaard
|
aefa5c9f49
|
Added test example of sub-optimal ASM generated for sub-structs member access of a struct through a pointer. #226
|
2019-07-16 23:14:14 +02:00 |
|
Jesper Gravgaard
|
bef7663023
|
Optimized & minimized spline sample program. Added test demonstrating struct array initializer problem #223
|
2019-07-16 22:32:41 +02:00 |
|
Jesper Gravgaard
|
33b506902f
|
Optimized & minimized spline sample program. Found a few TODO's regarding struct unwinding.
|
2019-07-16 22:03:16 +02:00 |
|
Jesper Gravgaard
|
eba674bd44
|
Added spline sample. Added many fragments. Fixed error in line where from&to are the same. Fixed cast to dword/sdword. Fixed unwinding of members that are themselves structs. Closes #222
|
2019-07-16 21:16:00 +02:00 |
|
Jesper Gravgaard
|
dd8ccaf186
|
Added spline test, a bunch of missing fragments and special ror/rol 8 handling.
|
2019-07-15 23:45:52 +02:00 |
|
Jesper Gravgaard
|
13509b59cb
|
Added optimize option for using a fragment cache. Yields no significant performance benefit.
|
2019-07-15 09:47:47 +02:00 |
|
Jesper Gravgaard
|
d1333cdbe4
|
Added a few missing fragments.
|
2019-07-14 20:40:44 +02:00 |
|
jespergravgaard
|
9264967b3f
|
fixed tests
|
2019-07-11 06:31:29 +02:00 |
|
jespergravgaard
|
57bbe42711
|
Fixed problem with small negative constant unsigned words.
|
2019-07-10 20:54:35 +02:00 |
|
jespergravgaard
|
fd63efafe2
|
Added a bresenham line routine to singlecolor bitmap bitmap2.kc
|
2019-07-10 18:43:42 +02:00 |
|
jespergravgaard
|
62d7ecbeff
|
Moved back to malloc() based impl.
|
2019-07-10 12:07:06 +02:00 |
|
jespergravgaard
|
7a36932c48
|
Finished bucket-based spiral
|
2019-07-09 18:13:05 +02:00 |
|
jespergravgaard
|
bafffa14f2
|
fixed tests
|
2019-07-09 17:33:20 +02:00 |
|
jespergravgaard
|
91a428d22b
|
Updated to 256 buckets & parametrized screen.
|
2019-07-09 16:05:55 +02:00 |
|
jespergravgaard
|
bf0d399b2c
|
Working on buckets
|
2019-07-09 15:03:02 +02:00 |
|
jespergravgaard
|
80e84f3234
|
Added fragments. Implemented working buckets.
|
2019-07-09 14:41:29 +02:00 |
|
jespergravgaard
|
a7ac33a653
|
Changed HEAP to grow down from $a000. Fixed inner increment problem. Closes #216
|
2019-07-09 11:40:56 +02:00 |
|
jespergravgaard
|
b5222c7929
|
Fixed tests.
|
2019-07-09 00:51:54 +02:00 |
|
jespergravgaard
|
f8b4dde791
|
Added fragments - fixed object equality problem when incrementing complex expressions of non-byte type.
|
2019-07-09 00:31:44 +02:00 |
|
jespergravgaard
|
0e59591d6c
|
Improved output from -Sc option adding C-code comments to the ASM.
|
2019-07-08 16:43:10 +02:00 |
|
jespergravgaard
|
bf60fab6d0
|
Removed segment ID from default log.
|
2019-07-08 12:04:44 +02:00 |
|
jespergravgaard
|
b053acf39b
|
Fixed fragment tests
|
2019-07-07 00:39:34 +02:00 |
|
jespergravgaard
|
1d092962b3
|
Added center-based plasma, some fragments and some synth rules.
|
2019-07-07 00:17:00 +02:00 |
|