jespergravgaard
|
bc1dd78bd8
|
Implemented program snapshot and better PASS separation. Preparing for optimizations that require experimentation (snapshot/restore state).
|
2019-08-01 23:00:58 +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
|
bb27de00ce
|
added comment
|
2019-07-31 16:08:16 +02:00 |
|
jespergravgaard
|
832a104c0a
|
Added some reserved addresses for the BASIC sinus generation.
|
2019-07-31 16:04:21 +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 |
|
Jesper Gravgaard
|
5ad3bec534
|
Added two tests.
|
2019-07-30 14:54:22 +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 |
|
jespergravgaard
|
ca8d68891c
|
Added some word fragments
|
2019-07-21 21:08:49 +02:00 |
|
jespergravgaard
|
e968cb6de7
|
Added execute-bit to deploy script. Coded a bit on a sprite font.
|
2019-07-21 19:02:13 +02:00 |
|
Jesper Gravgaard
|
9231fe18d6
|
Added splie test creating a (slowly) rotating truetype c.
|
2019-07-19 02:23:44 +02:00 |
|
Jesper Gravgaard
|
b70b969fe6
|
Improved C stdlib a little
|
2019-07-18 13:04:55 +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
|
889cc1219f
|
Added test demonstrating problem with passing derefed struct pointer to call. #225
|
2019-07-16 22:45:13 +02:00 |
|
Jesper Gravgaard
|
cb5dc6550e
|
Added test demonstrating problem with passing struct in array as parameter #224
|
2019-07-16 22:39:36 +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
|
69e264d9c5
|
Added script for building & deploying local version of kickc.
|
2019-07-15 18:35:25 +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
|
5b7ba4e2d8
|
Added logarithm skeleton
|
2019-07-11 01:14:29 +02:00 |
|
jespergravgaard
|
57cdb8dab4
|
Implemented calloc()
|
2019-07-11 00:04:18 +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
|
fe0f0f9a1c
|
Added -d switch to start C64Debugger directly (with symbols and KickAsm source). Extended -e to include symbols in VICE. Closes #212
|
2019-07-10 12:02:01 +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
|
031e9e6423
|
Fixed duplicate file info comments.
|
2019-07-08 19:05:35 +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
|
f2f144c3ee
|
Added command line switches for adding comments containing source file information to the ASM. Closes #215
|
2019-07-08 11:32:07 +02:00 |
|
jespergravgaard
|
5061a02a17
|
Upgraded to KickAssembler 5.7. Closes #213
|
2019-07-07 17:54:06 +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 |
|
jespergravgaard
|
b05160bfff
|
Made char (without sign qualifier) unsigned as allowed by standard C. Closes #204
|
2019-07-06 11:24:16 +02:00 |
|
jespergravgaard
|
6f4a1f0555
|
Tetris NPE has been fixed.
|
2019-07-06 11:00:15 +02:00 |
|
jespergravgaard
|
c5f1ec7d8a
|
Added program that shows a spiral on the screen.
|
2019-07-06 10:32:25 +02:00 |
|
jespergravgaard
|
966773ed2b
|
Fixed error where global variable live ranges where ignored by ZP coalesce.
|
2019-07-06 00:48:45 +02:00 |
|
jespergravgaard
|
e64659025e
|
Merged optimizations.
|
2019-07-05 06:56:24 +02:00 |
|
jespergravgaard
|
49c930f71e
|
Merged optimizations.
|
2019-07-05 06:56:02 +02:00 |
|
jespergravgaard
|
9bd2a1d51d
|
Optimized - and added cycle timing
|
2019-07-05 06:46:06 +02:00 |
|
Jesper Gravgaard
|
a0b45ee1aa
|
Optimized xd/yd shifting.
|
2019-07-04 19:56:11 +02:00 |
|
jespergravgaard
|
1064518cf9
|
Optimized angle-screen calculation using symmetry.
|
2019-07-03 23:23:39 +02:00 |
|
jespergravgaard
|
647775223c
|
Added time.kc C standard library compatible. Added cycle counting to a few tests.
|
2019-07-03 22:22:25 +02:00 |
|
jespergravgaard
|
7d049f70a3
|
Added CIA timer test. Removed pointer cast logging (to improve test reproducability).
|
2019-07-03 21:15:54 +02:00 |
|
jespergravgaard
|
e2fcf78759
|
Fixed tests.
|
2019-07-02 09:15:17 +02:00 |
|
Jesper Gravgaard
|
ce7032b12e
|
small improvements to code size.
|
2019-07-01 23:22:57 +02:00 |
|
Jesper Gravgaard
|
ccf965346e
|
Moved more tests to use array kickasm initialization. Closes #116
|
2019-07-01 09:21:11 +02:00 |
|
jespergravgaard
|
cb81fc07f6
|
Updated to use new array initialization by kickasm.
|
2019-07-01 08:09:19 +02:00 |
|
jespergravgaard
|
cc08edb0e4
|
Fixed a few array initializer kickasm problems. Changed atan2 to use it.
|
2019-06-30 23:33:30 +02:00 |
|
Jesper Gravgaard
|
c4bcbddcd4
|
Added support for array initialization using inline kickasm
|
2019-06-30 23:08:39 +02:00 |
|
Jesper Gravgaard
|
44c5aa1313
|
Added syntax for kasm-initialization of arrays.
|
2019-06-30 15:48:31 +02:00 |
|
Jesper Gravgaard
|
30068dbf92
|
Fixed tests
|
2019-06-30 15:30:08 +02:00 |
|
Jesper Gravgaard
|
ee11c66a79
|
Added speed test for filling screen with atan2
|
2019-06-29 11:38:26 +02:00 |
|
Jesper Gravgaard
|
e02f3bc2e0
|
Added circular clear atan2 test
|
2019-06-29 11:10:16 +02:00 |
|
jespergravgaard
|
d0c23993cc
|
Updated tests
|
2019-06-29 10:08:46 +02:00 |
|
jespergravgaard
|
2f8097ca17
|
Merge remote-tracking branch 'origin/master'
|
2019-06-29 09:55:29 +02:00 |
|
jespergravgaard
|
b3e7b6da8f
|
Split into 16-bit and 8-bit tests. Added a ref-test.
|
2019-06-29 09:55:12 +02:00 |
|
Jesper Gravgaard
|
f25e0bde3b
|
Found optimal 8-bit and 16-bit versions of atan2.
|
2019-06-28 22:45:26 +02:00 |
|
jespergravgaard
|
83ed437553
|
Working on atan2()
|
2019-06-28 17:05:54 +02:00 |
|
Jesper Gravgaard
|
13652f61f2
|
Now works in 4 quadrants.
|
2019-06-28 09:34:02 +02:00 |
|
jespergravgaard
|
c3cff0dff1
|
Added CORDIC atan2 implementation.
|
2019-06-26 09:24:25 +02:00 |
|
jespergravgaard
|
7574ed744c
|
Optimized finding char to process by using table with distance to center.
|
2019-06-25 00:38:08 +02:00 |
|
jespergravgaard
|
77b75cb045
|
Now 202 t cycles through a little optimization.
|
2019-06-25 00:03:53 +02:00 |
|
jespergravgaard
|
3a919eda9d
|
Added screen mirroring - optimizing to 227t cycles (from 750t).
|
2019-06-24 23:47:13 +02:00 |
|
jespergravgaard
|
28c1f71d5e
|
Fixed void* pointer problem properly. Closes #205
|
2019-06-24 23:22:20 +02:00 |
|
jespergravgaard
|
908ccb19ce
|
Fixed void* pointer problem. Closes #205
|
2019-06-24 22:46:07 +02:00 |
|
jespergravgaard
|
df4294414a
|
Changed default to byte*
|
2019-06-24 19:48:18 +02:00 |
|
jespergravgaard
|
65419720c2
|
Fixed pointer subtraction error. Closes #206
|
2019-06-24 19:30:52 +02:00 |
|
jespergravgaard
|
50c8175b30
|
Added tests for two errors #205 and #206
|
2019-06-24 08:21:58 +02:00 |
|
jespergravgaard
|
b319398702
|
fixed tests
|
2019-06-24 00:31:08 +02:00 |
|
jespergravgaard
|
ca3d01e2b8
|
fixed tests
|
2019-06-24 00:28:30 +02:00 |
|
jespergravgaard
|
048d87b251
|
Moved routines into stdlib.
|
2019-06-24 00:22:23 +02:00 |
|
jespergravgaard
|
20ec350ca5
|
Added malloc tests. Improved cast handing in ASM fragments. Optimized screen center distance calculation (implemented table-based sqr() and sqrt() using binary search).
|
2019-06-23 23:44:55 +02:00 |
|
jespergravgaard
|
306bbc381f
|
Put font-hex into a lib file
|
2019-06-23 11:26:11 +02:00 |
|
jespergravgaard
|
74c7abe229
|
Improved fragment synth to include _derefidx_vbuxx
|
2019-06-23 11:12:34 +02:00 |
|
jespergravgaard
|
576457a27d
|
Updated fragment tests
|
2019-06-22 22:55:55 +02:00 |
|
jespergravgaard
|
5f61df4c16
|
Added hex code font.
|
2019-06-22 21:13:22 +02:00 |
|
jespergravgaard
|
281a77c06c
|
Updated tests
|
2019-06-22 13:45:11 +02:00 |
|
jespergravgaard
|
03e76570b8
|
Added test for memcpy
|
2019-06-22 10:36:13 +02:00 |
|
jespergravgaard
|
1e3a6a2750
|
fixed tests
|
2019-06-22 00:36:24 +02:00 |
|
jespergravgaard
|
f2a770182e
|
Added fragments. Added bitmap spiral test.
|
2019-06-22 00:25:28 +02:00 |
|
jespergravgaard
|
3ae5f0981a
|
Added a file data segment. Improved negate word fragment.
|
2019-06-21 22:12:05 +02:00 |
|
jespergravgaard
|
b461fcfa74
|
Dropped memory.kc and fill() - Instead added C stdlib memset() to string.kc.
Pointer math on void pointer now results in an error.
|
2019-06-21 20:06:57 +02:00 |
|
jespergravgaard
|
1150cf859f
|
fixed tests
|
2019-06-21 01:08:07 +02:00 |
|
jespergravgaard
|
3ff8effc51
|
Using void pointers in stdlib string.
|
2019-06-21 00:39:58 +02:00 |
|
jespergravgaard
|
7b2b8897a6
|
Void pointers now work. Closes #186
|
2019-06-21 00:36:42 +02:00 |
|
jespergravgaard
|
0a4ef77056
|
Working on fixing void pointers #186
|
2019-06-20 22:39:45 +02:00 |
|
jespergravgaard
|
d3e21133fa
|
Added initial void pointer support. Working on #186
|
2019-06-19 23:16:59 +02:00 |
|
jespergravgaard
|
29f7265341
|
Shortened clearscreen a bit more.
|
2019-06-19 02:07:50 +02:00 |
|
jespergravgaard
|
cbe58167da
|
Fixed test.
|
2019-06-19 02:05:31 +02:00 |
|
jespergravgaard
|
2acc1010ec
|
Added a few enum error tests
|
2019-06-19 01:53:03 +02:00 |
|
jespergravgaard
|
291c87621e
|
Added enum tests. Fixed inline enums inside structs.
|
2019-06-19 01:45:07 +02:00 |
|
jespergravgaard
|
f3982063eb
|
Added test refs
|
2019-06-19 01:24:10 +02:00 |
|
jespergravgaard
|
8e0e8d7dce
|
Implemented enum support for complex constants in enum values. Added enum to clearscreen. Changed constant expression handling in pass 0.
|
2019-06-19 01:23:27 +02:00 |
|
jespergravgaard
|
10082a5d96
|
Implemented enum support (excl. complex constant usage in values). Closes #119
|
2019-06-19 00:39:15 +02:00 |
|
jespergravgaard
|
e4af001041
|
Added enum syntax (no functionality yet). Working on #119
|
2019-06-18 18:36:01 +02:00 |
|
jespergravgaard
|
d111836faf
|
fixed tests
|
2019-06-18 00:15:54 +02:00 |
|
jespergravgaard
|
d7b8f6ae55
|
Added a missing fragment and a newline. Added a petscii tester and started strings.h.
|
2019-06-17 23:57:45 +02:00 |
|
jespergravgaard
|
68c3c5918c
|
Implemented support for char colors in clearscreen
|
2019-06-17 00:33:56 +02:00 |
|
jespergravgaard
|
4dfc4432c7
|
Removed all calls to ConstantIdentification.isAddressOfUsed(VarRef) since inferedVolatile now handles these situations. Structs are now working. Closes #57
|
2019-06-17 00:11:01 +02:00 |
|
jespergravgaard
|
40df42067b
|
Any variable affected by address-of is now marked as infered volatile. Closes #200
|
2019-06-16 23:49:22 +02:00 |
|
jespergravgaard
|
3725bf6821
|
Added versions to struct-unwinding.
|
2019-06-16 22:26:17 +02:00 |
|
jespergravgaard
|
ad6eadad0b
|
Added another struct address-of test passing the pointer to a procedure.
|
2019-06-16 21:48:13 +02:00 |
|
jespergravgaard
|
afc1b74ef8
|
Implemented unwound struct address-of rewriting to use first member.
|
2019-06-16 19:54:03 +02:00 |
|
jespergravgaard
|
00c8d5c857
|
Added a struct unwound placeholder when unwinding a struct variable. Will be used for address-of and to ensure the phi-generator does not run amok.
|
2019-06-16 17:10:18 +02:00 |
|
jespergravgaard
|
114a237e24
|
Added address-of test identifying problems with address-of implementation. Error is #200
|
2019-06-16 15:03:23 +02:00 |
|
jespergravgaard
|
ef38dca7af
|
Renamed to clearscreen. Added DEBUG.
|
2019-06-16 11:37:06 +02:00 |
|
jespergravgaard
|
bbbb25d9b1
|
Improved movement. Added fragment.
|
2019-06-16 01:06:52 +02:00 |
|
jespergravgaard
|
ba9b11f77b
|
Added 2D-acceleration. Added more fragments. Improved word ror'ing.
|
2019-06-16 00:31:43 +02:00 |
|
jespergravgaard
|
94b0dbcffc
|
Improved bash-script to allow -fragmentdir option. Added blackhole sprite vx/vy support. Added a few word fragments.
|
2019-06-15 21:10:06 +02:00 |
|
jespergravgaard
|
986e02fde6
|
Updated fragment test refs
|
2019-06-15 20:23:12 +02:00 |
|
jespergravgaard
|
d1752069ce
|
Added missing ref-files.
|
2019-06-15 19:19:22 +02:00 |
|
jespergravgaard
|
8778b9a986
|
Fixed tests. Fixed struct-member modify-assignments.
|
2019-06-15 19:17:55 +02:00 |
|
jespergravgaard
|
be7686c954
|
Added missing word-fragments & synth. Moved to fixed point positions.
|
2019-06-15 18:55:01 +02:00 |
|
jespergravgaard
|
9b6f1c6bd1
|
Added support for typedef (only supported in the global scope). Closes #177
|
2019-06-15 00:32:09 +02:00 |
|
jespergravgaard
|
3ba3d36994
|
Added typedef syntax. Working ont #177
|
2019-06-13 01:53:33 +02:00 |
|