Karol Stasiak
190b398711
Z80: Faster +=2 and similar
2018-07-17 13:07:47 +02:00
Karol Stasiak
5f14484503
More Z80 optimizations. Finally almost as fast as C.
2018-07-16 23:10:55 +02:00
Karol Stasiak
21b086046c
Always require a full optimization context when optimizing
2018-07-16 23:09:55 +02:00
Karol Stasiak
f4ecc2512c
Refactoring the inlining calculators
2018-07-16 23:05:16 +02:00
Karol Stasiak
28e11873dc
Add empty parameter store removal optimization
2018-07-16 23:03:52 +02:00
Karol Stasiak
ab57090790
Improve optimization in tests for 6502
2018-07-16 23:03:12 +02:00
Karol Stasiak
5a8fe547bf
Fix macros and few other things when compiling for Z80
2018-07-16 23:02:34 +02:00
Karol Stasiak
39dfe13a3f
Emit LD (m),BC and similar instructions
2018-07-16 23:01:04 +02:00
Karol Stasiak
704ae17d30
Fix environment namecheck for Z80
2018-07-16 23:00:26 +02:00
Karol Stasiak
caec1bdc1b
Improvements for constants
2018-07-16 23:00:05 +02:00
Karol Stasiak
0efd9ada3e
Few optimization improvements for 6502
2018-07-16 22:59:08 +02:00
Karol Stasiak
b2fa129482
Improve tracking of changed and read registers on Z80
2018-07-16 22:57:20 +02:00
Karol Stasiak
2c0256c1c1
Tons of Z80 improvements:
...
– long assignments
– word and long comparisons
– byte multiplication
– correct sign extension
– fixed flow analysis for LD A,(IX,0) and similar
– unused variable store elimination
– unused code elimination
– unused label elimination
– poinless stack stashing elimination
– function inlining
– other flow analysis improvements
– other bugfixes
– other stuff
– more tests
2018-07-16 00:13:35 +02:00
Karol Stasiak
6d4aa5ef82
Don't track FCEUX label maps
2018-07-16 00:08:22 +02:00
Karol Stasiak
ca4ae4ce2e
Fix optimization of ADC on 6502
2018-07-16 00:07:22 +02:00
Karol Stasiak
215d8d92b4
Preprocessor. Z80 improvements. Library improvements.
2018-07-12 19:39:25 +02:00
Karol Stasiak
35f3638a4f
Added alias support
2018-07-12 01:23:38 +02:00
Karol Stasiak
af1e6d9c9f
Updated changelog
2018-07-07 01:11:53 +02:00
Karol Stasiak
2c8de8b6a5
Text encoding improvements
2018-07-07 00:58:44 +02:00
Karol Stasiak
265f729b24
Fix Z80-based platforms
2018-07-07 00:13:46 +02:00
Karol Stasiak
a00ba49820
Multiple improvements and fixes:
...
– reorganized code for future support of larger zeropage register sets
– added stack-allocated variables for Z80
– added many stack-related optimizations for 6502 and Z80
– fixed flow analysis and optimization bugs for Z80
– flow analysis for stack-allocated variables on Z80
– added more optimizations for 6502 and Z80
– fixed IX/IY-indexed operations on Z80
– code cleanup
2018-07-06 22:45:59 +02:00
Karol Stasiak
55b42645be
Don't print an extra newline on ZX Spectrum
2018-07-06 22:38:19 +02:00
Karol Stasiak
40c98567a0
Make the parser much faster
2018-07-06 01:05:24 +02:00
Karol Stasiak
dffc6e71d9
Optimize operations on known register values
2018-07-05 00:58:07 +02:00
Karol Stasiak
670741392c
Fix tests
2018-07-05 00:57:43 +02:00
Karol Stasiak
c3504a63b3
ZX Spectrum improvements
2018-07-05 00:50:13 +02:00
Karol Stasiak
fe85757e00
Initial and very incomplete support for Z80 assembly
2018-07-05 00:49:51 +02:00
Karol Stasiak
c153588600
Use @word for reset vectors
2018-07-03 23:29:37 +02:00
Karol Stasiak
351d2ac5f9
Documentation update
2018-07-03 23:28:05 +02:00
Karol Stasiak
24ae52e3cc
Really early and very incomplete ZX Spectrum support
2018-07-03 22:37:18 +02:00
Karol Stasiak
00be0b552e
Use target file name as disk label
2018-07-03 22:36:15 +02:00
Karol Stasiak
3390fe552e
Allocate all variables in single pass on Z80
2018-07-03 22:34:45 +02:00
Karol Stasiak
4acc040813
More tests for Z80
2018-07-03 01:52:29 +02:00
Karol Stasiak
0da4637036
Fix and extend Z80 word/long operations
2018-07-03 01:47:31 +02:00
Karol Stasiak
57bde60ced
Fix Z80 shifting
2018-07-03 01:46:57 +02:00
Karol Stasiak
e5ee32f7d6
Fix Z80 reverse flow analysis for CP
2018-07-03 01:45:58 +02:00
Karol Stasiak
be04c9b195
Fix emitting constant decimal expressions
2018-07-03 01:45:20 +02:00
Karol Stasiak
da023daadc
Z80 doesn't have a zeropage
2018-07-02 22:34:29 +02:00
Karol Stasiak
02a408e1be
Fix array iteration on Z80
2018-07-02 22:33:43 +02:00
Karol Stasiak
a394ab631f
Faster array iteration for Z80
2018-07-02 14:59:21 +02:00
Karol Stasiak
619bf8116a
Optimization fixes and improvements for Z80
2018-07-02 14:58:45 +02:00
Karol Stasiak
ed067d3a67
Splitting and tweaking documentation
2018-07-02 00:45:53 +02:00
Karol Stasiak
9512e8e7ae
Really early and very incomplete PC-88 support
2018-07-02 00:31:47 +02:00
Karol Stasiak
62e94d96f7
Added unsigned byte comparisons for Z80
2018-07-02 00:18:33 +02:00
Karol Stasiak
4d00cb4db9
Added Z80 emulator for testing
2018-07-01 22:28:27 +02:00
Karol Stasiak
dc3425f64e
Preliminary and partial machine code output for Z80
2018-07-01 22:28:09 +02:00
Karol Stasiak
893515b649
8- and 16-bit shifting for Z80
2018-07-01 22:27:12 +02:00
Karol Stasiak
f7f22767e4
Various minor Z80-related fixes
2018-07-01 22:26:30 +02:00
Karol Stasiak
35caae6d8b
Unify syntax of command-line switches
2018-07-01 19:19:30 +02:00
Karol Stasiak
2b6315f15b
Let the optimizer optimize the multiplication routine
2018-07-01 19:07:47 +02:00