Karol Stasiak
8a5672c2dc
Allow declaring multiple variables in one line
2019-07-08 19:24:11 +02:00
Karol Stasiak
56c1ab008d
6502: optimize special cases of bulk memory modifications
2019-07-08 19:02:42 +02:00
Karol Stasiak
767f0da703
Placeholder for future expansion
2019-07-08 09:26:51 +02:00
Karol Stasiak
3e0dad4cb0
Few more optimizations
2019-06-28 23:19:58 +02:00
Karol Stasiak
13c23c1bd1
Java 11 compatibility
2019-06-28 17:54:08 +02:00
Karol Stasiak
0af9bc4696
Better error reporting in arithmetic tests
2019-06-28 17:53:42 +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
efe69eb5a9
Fix performance regressions and some bugs
2019-06-27 00:18:05 +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
2282e56845
6502: Faster summing for-loops
2019-06-25 18:23:31 +02:00
Karol Stasiak
e394fe15c3
Add struct literals
2019-06-25 00:45:49 +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
869211658a
Division optimizations
2019-06-24 00:13:16 +02:00
Karol Stasiak
0205520bf9
Allow taking addresses of stack variables
2019-06-23 22:53:42 +02:00
Karol Stasiak
63c43c414a
Various fixes related to the -> operator
2019-06-23 19:44:53 +02:00
Karol Stasiak
ba16021426
Allow using $$ instead of # in preprocessor directives
2019-06-14 15:33:17 +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
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
Karol Stasiak
4ec2fc2f62
Make tests toggleable by platform
2019-06-12 02:58:33 +02:00
Karol Stasiak
3b3fb24284
8086: partially fix memory leak in unit tests
2019-06-12 02:56:44 +02:00
Karol Stasiak
a1b868e3df
Optimize byte division by power of two
2019-06-06 13:35:26 +02:00
Karol Stasiak
e31737ad40
Unsigned division of word by byte
2019-06-06 13:06:30 +02:00
Karol Stasiak
2583f280a8
Unsigned byte division by non-constant
2019-06-06 01:17:34 +02:00
Karol Stasiak
010b44f23e
Unsigned byte division by a constant
2019-06-05 18:36:39 +02:00
Karol Stasiak
b3bb9bb063
Intel 8085 support
2019-05-31 17:27:38 +02:00
Karol Stasiak
1cb3b672b1
Add 8080-to-8086 translation
2019-05-31 17:03:35 +02:00
Karol Stasiak
d461046566
6502: use index registers less often
2019-05-29 14:09:41 +02:00
Karol Stasiak
d23f6e4248
6502: improve optimizations using undocumented instructions
2019-05-29 14:09:21 +02:00
Karol Stasiak
138dcfa19f
8080: implement signed byte comparisons for CPU's without the overflow flag
2019-05-29 14:07:57 +02:00
Karol Stasiak
62984fce9b
8080: optimize handling 2-byte parameters
2019-05-02 13:33:45 +02:00
Karol Stasiak
1862fed70f
The @struct array format; fix the @long format
2019-04-30 01:30:22 +02:00
Karol Stasiak
d9f88cdfad
Const arrays
2019-04-30 00:41:42 +02:00
Karol Stasiak
546c4d0f44
Unified syntax for indexing
2019-04-18 16:24:46 +02:00
Karol Stasiak
0a36d83164
nullptr
2019-04-16 16:59:16 +02:00
Karol Stasiak
9ea04db566
Use the return variable directly if applicable
2019-04-16 16:34:17 +02:00
Karol Stasiak
629691dfb3
Fix stack variables on 8080 and LR35902
2019-04-16 12:09:14 +02:00
Karol Stasiak
d0f64f2cee
Short syntax for small functions
2019-04-15 19:56:14 +02:00
Karol Stasiak
029e84b0f0
Unions, typed pointers, indirect field access via pointers
2019-04-15 19:45:26 +02:00
Karol Stasiak
1ba4b57c1c
Array elements can now be types other than byte
2019-04-15 01:57:18 +02:00