Karol Stasiak
bcb2e362b2
Restrict subroutine extraction to make exponential runtime less likely
2019-06-29 00:07:32 +02:00
Karol Stasiak
3e0dad4cb0
Few more optimizations
2019-06-28 23:19:58 +02:00
Karol Stasiak
e1b2b7f2c9
Let's hope this doesn't break anything
2019-06-28 21:45:12 +02:00
Karol Stasiak
13c23c1bd1
Java 11 compatibility
2019-06-28 17:54:08 +02:00
Karol Stasiak
39b07a8bae
Fix init_rw_memory on Atari 2600
2019-06-28 16:44:41 +02:00
Karol Stasiak
674f8d1983
Allow initializing writable variables on cartridge targets
2019-06-28 16:28:49 +02:00
Karol Stasiak
3d68d4f990
mapValues is lazy what the fuck
2019-06-28 16:24:49 +02:00
Karol Stasiak
4d59edbe51
6502: Better error messages
2019-06-28 16:23:24 +02:00
Karol Stasiak
7d051eb5e0
Don't modify macro invocations
2019-06-27 00:50:21 +02:00
Karol Stasiak
efe69eb5a9
Fix performance regressions and some bugs
2019-06-27 00:18:05 +02:00
Karol Stasiak
261486b3cd
Don't enable -fsubroutine-extraction when using -Os or -Of
2019-06-26 19:07:25 +02:00
Karol Stasiak
14d6cf4d5c
Fix stack overflow
2019-06-26 19:06:45 +02:00
Karol Stasiak
51599c9615
Allow defining free zeropage bytes instead of pointers
2019-06-26 18:33:59 +02:00
Karol Stasiak
c580ba33ea
Fix nested #ifs
2019-06-26 18:31:45 +02:00
Karol Stasiak
c9a65d5971
Added #define directive
2019-06-26 13:43:15 +02:00
Karol Stasiak
22cdd1c768
Z80: Fix stack variable optimizations when addresses of stack variables are taken (2)
2019-06-26 10:46:59 +02:00
Karol Stasiak
afa871abcf
Z80: Fix stack variable optimizations when addresses of stack variables are taken
2019-06-26 02:11:53 +02:00
Karol Stasiak
a3b21c4810
8080: Use pointers instead of indexing when traversing an array in a loop
2019-06-26 01:56:32 +02:00
Karol Stasiak
8304650b3e
6502: Fix summing for-loops
2019-06-26 01:47:43 +02:00
Karol Stasiak
6cf746045f
8080/Z80: More optimizations
2019-06-26 01:47:03 +02:00
Karol Stasiak
507791bcaf
Fix stack overflow
2019-06-26 01:46:31 +02:00
Karol Stasiak
f90d6afc43
8080: Fixed inlining of byte-sized variables into registers
2019-06-26 01:45:34 +02:00
Karol Stasiak
2282e56845
6502: Faster summing for-loops
2019-06-25 18:23:31 +02:00
Karol Stasiak
260cfd50c4
Fix putword optimization
2019-06-25 18:19:57 +02:00
Karol Stasiak
e394fe15c3
Add struct literals
2019-06-25 00:45:49 +02:00
Karol Stasiak
978d97cd7d
Fix unused object detection
2019-06-25 00:26:52 +02:00
Karol Stasiak
d8defaad82
Fix and document for-each loops
2019-06-24 23:51:17 +02:00
Karol Stasiak
25c440f17d
Add local arrays
2019-06-24 22:32:29 +02:00
Karol Stasiak
663e38c264
Optimizations:
...
– optimize multiplication and division by constants
– optimize multiplication, division and shifts for size
2019-06-24 15:20:39 +02:00
Karol Stasiak
8ea3957023
8080: optimize loads to HL
2019-06-24 15:18:44 +02:00
Karol Stasiak
15475b6886
Don't require -Os for code deduplication
2019-06-24 15:17:35 +02:00
Karol Stasiak
23b4b110a6
8080: optimize more pointless loads
2019-06-24 15:17:05 +02:00
Karol Stasiak
4dd470141a
6502: zero-extend the division result
2019-06-24 15:16:14 +02:00
Karol Stasiak
4654698891
8080: tail call optimization
2019-06-24 00:47:07 +02:00
Karol Stasiak
869211658a
Division optimizations
2019-06-24 00:13:16 +02:00
Karol Stasiak
fbe20a240b
8080: Fix division
2019-06-24 00:13:02 +02:00
Karol Stasiak
0205520bf9
Allow taking addresses of stack variables
2019-06-23 22:53:42 +02:00
Karol Stasiak
f22b62e57f
Z80: Fix stack variable inlining
2019-06-23 22:31:46 +02:00
Karol Stasiak
63c43c414a
Various fixes related to the -> operator
2019-06-23 19:44:53 +02:00
Karol Stasiak
088b28989f
Division by zero warnings
2019-06-23 19:44:34 +02:00
Karol Stasiak
f46466365b
Compilation order should be decided by the import statements
2019-06-14 23:20:03 +02:00
Karol Stasiak
ba16021426
Allow using $$ instead of # in preprocessor directives
2019-06-14 15:33:17 +02:00
Karol Stasiak
ffff51dee9
6502: optimize variable pointers
2019-06-14 15:19:29 +02:00
Karol Stasiak
2a233930e8
8080: improve comparisons against constants
2019-06-14 15:19:13 +02:00
Karol Stasiak
51a6ec9d73
Preprocessor: add #use A=B and if(i,t,e)
2019-06-14 12:00:45 +02:00
Karol Stasiak
3852b2dbe9
More label file formats
2019-06-14 11:39:11 +02:00
Karol Stasiak
ecb366eafb
Add the -i option
2019-06-14 11:28:26 +02:00
Karol Stasiak
50415714fa
Detect the default include directiory when running the native executable
2019-06-13 00:16:45 +02:00
Karol Stasiak
dc13dbaa9a
Code cleanup
2019-06-12 22:55:34 +02:00
Karol Stasiak
0f179f79aa
Many big important things:
...
– Add support for undocumented 8085 instructions
– Convert undocumented 8085 instructions to 8086
– Add new CPU types and categorize CPU types correctly
– Fix macro expansion in some situations
– Improve 8080 optimizations
– Improve documentation
– Other improvements
2019-06-12 12:06:02 +02:00