Karol Stasiak
fa7844e0b8
6502: Optimize ROL/ROR before AND
2019-09-16 21:31:53 +02:00
Karol Stasiak
635870585e
Add unsigned 16-bit division
2019-09-15 19:47:19 +02:00
Karol Stasiak
a4f91eda03
6502: Fix arithmetic promotion bugs for function return values
2019-09-14 16:01:02 +02:00
Karol Stasiak
1d445ecdd1
Support sizeof on arrays. Preliminary Commander X16 support.
2019-09-14 03:37:24 +02:00
Karol Stasiak
6c4dc81c1b
Add the -R
option
2019-09-14 02:40:03 +02:00
Karol Stasiak
3ce2249399
Add 16-bit multiplication
2019-09-04 21:17:06 +02:00
Karol Stasiak
e449b67a4a
Added encconv module.
2019-09-04 01:14:14 +02:00
Karol Stasiak
b3ca130299
Update documentation and CHANGELOG
2019-08-16 18:00:04 +02:00
Karol Stasiak
960d16fa18
Add nullchar constant, NULLCHAR feature, and vectrex encoding
2019-08-16 00:46:11 +02:00
Karol Stasiak
263647c59c
Switch to snapshot versioning
2019-08-16 00:42:11 +02:00
Karol Stasiak
6c623e1935
Version 0.3.6
2019-08-05 22:26:27 +02:00
Karol Stasiak
98553d56c0
Don't remove some important type casts
2019-08-04 17:16:01 +02:00
Karol Stasiak
127cd1b901
6502: Fix word multiplication by 0
2019-08-04 13:42:00 +02:00
Karol Stasiak
1a87929ad3
Fix TCO
2019-08-04 13:40:49 +02:00
Karol Stasiak
dfda9f9283
8080: Fix optimizations near ifs
2019-08-04 12:37:54 +02:00
Karol Stasiak
34254314a6
6502: Fix word division and byte multiplication
2019-08-04 00:05:35 +02:00
Karol Stasiak
851bd717ef
Update changelog
2019-08-03 20:46:43 +02:00
Karol Stasiak
05c017e375
New encodings for MSX
2019-07-31 00:20:18 +02:00
Karol Stasiak
4b98f334fc
Update CHANGELOG
2019-07-30 22:51:33 +02:00
Karol Stasiak
5fb6efbd61
Change PETSCII encoding to match CC65 and readkey
2019-07-29 02:07:30 +02:00
Karol Stasiak
35ba36ce11
Function pointers – initial version
2019-07-27 00:58:10 +02:00
Karol Stasiak
3aac33b54f
Add the bool type. Few boolean-related bugfixes.
2019-07-26 19:02:32 +02:00
Karol Stasiak
adc93aeb74
Z80: Fix optimizations near stack variables
2019-07-26 14:15:35 +02:00
Karol Stasiak
a25f6ca3f6
6502: Fix optimizations involving the zeropage pseudoregister
2019-07-23 23:16:37 +02:00
Karol Stasiak
20f4baf2b2
Allow setting segments for multiple declarations at once
2019-07-17 20:51:34 +02:00
Karol Stasiak
f3dcfc78ba
Dijkstra wept
2019-07-15 02:06:23 +02:00
Karol Stasiak
6d499f3623
Arrays with elements larger than one byte
2019-07-10 16:51:12 +02:00
Karol Stasiak
65338555ad
Update changelog
2019-07-09 22:40:26 +02:00
Karol Stasiak
6661e2781b
Update changelog
2019-07-08 19:24:27 +02:00
Karol Stasiak
32bb0d4453
Switch to snapshot versioning
2019-07-01 01:24:55 +02:00
Karol Stasiak
34b9075573
Version 0.3.4
2019-07-01 00:33:28 +02:00
Karol Stasiak
b0df56c8c0
Add more compatibility warnings to documentation
2019-06-28 17:53:00 +02:00
Karol Stasiak
6deee5f69b
Update changelog
2019-06-28 16:43:50 +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
32476f2a4e
Move readkey to a separate module
2019-06-26 15:51:09 +02:00
Karol Stasiak
c9a65d5971
Added #define directive
2019-06-26 13:43:15 +02:00
Karol Stasiak
b85e175292
Use CBM_64_COMPAT for Commodore 128
2019-06-26 13:41:57 +02:00
Karol Stasiak
03f2bacd2b
Add readkey and fix putchar for more targets.
2019-06-26 13:00:55 +02:00
Karol Stasiak
f90d6afc43
8080: Fixed inlining of byte-sized variables into registers
2019-06-26 01:45:34 +02:00
Karol Stasiak
2ad43cf3b3
Update changelog
2019-06-25 18:26:48 +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
0205520bf9
Allow taking addresses of stack variables
2019-06-23 22:53:42 +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
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
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
9164e78a2d
6502: Fix comparison optimizations
2019-06-05 18:12:57 +02:00
Karol Stasiak
bc8ac1f696
Preliminary MSX support
2019-06-05 13:31:43 +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
4eba80b735
Fix name clashes when passing parameters to functions
2019-05-02 13:24:21 +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
0a36d83164
nullptr
2019-04-16 16:59:16 +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
eb69957ada
Update documentation
2019-04-15 01:58:51 +02:00
Karol Stasiak
7635fc256f
Update documentation
2019-03-18 23:15:28 +01:00
Karol Stasiak
b400c884e0
Add memory barriers
2018-12-31 13:20:32 +01:00
Karol Stasiak
fb42e77e6e
6502: Two fixes:
...
– fix writing constants to volatile variables
– fix optimizing variables to registers yet again
2018-12-31 13:19:13 +01:00
Karol Stasiak
c438152f1d
Update changelog
2018-12-30 19:01:38 +01:00
Karol Stasiak
7a1abfba24
Optimization improvements
2018-12-30 00:52:40 +01:00
Karol Stasiak
a100675c7c
Documentation update
2018-12-29 20:16:05 +01:00
Karol Stasiak
ff78c738f2
Switch to snapshot versioning
2018-12-28 19:24:56 +01:00
Karol Stasiak
57ada60435
Version 0.3.2
2018-12-28 19:14:30 +01:00
Karol Stasiak
438d8dbe6e
Detection of the default include path.
2018-12-24 02:38:28 +01:00
Karol Stasiak
acaaa5bdfe
Implicit ranges in for loops are dumb, remove
2018-12-22 01:30:54 +01:00
Karol Stasiak
36a0065b96
Forbid redefining builtins
2018-12-21 22:35:16 +01:00
Karol Stasiak
310df1a8de
It's Amstrad not Armstrad
2018-12-19 22:21:51 +01:00
Karol Stasiak
e23e9afb86
Update readme and changelog
2018-12-19 19:04:19 +01:00
Karol Stasiak
eb9e3e063b
Update changelog
2018-12-16 21:07:42 +01:00
Karol Stasiak
8055de506b
Update changelog
2018-12-14 22:51:09 +01:00
Karol Stasiak
fe1bf68295
Add align keyword
2018-10-04 21:34:53 +02:00
Karol Stasiak
ff16854a11
Code deduplication
2018-08-06 19:29:09 +02:00
Karol Stasiak
f4a2c96512
Fix comparisons
2018-08-03 16:21:02 +02:00
Karol Stasiak
070ae395ee
Text literals in expressions, escape sequences, and more
2018-07-28 00:58:20 +02:00
Karol Stasiak
847a7255c6
Update README and CHANGELOG
2018-07-27 19:15:57 +02:00
Karol Stasiak
27de426a38
Documentation updates
2018-07-25 00:04:00 +02:00
Karol Stasiak
c4c1bf00f2
Enumeration types. Stricter type checks.
2018-07-20 22:46:53 +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
9512e8e7ae
Really early and very incomplete PC-88 support
2018-07-02 00:31:47 +02:00
Karol Stasiak
86b12bd5f9
Switch to snapshot versioning
2018-07-01 19:07:12 +02:00
Karol Stasiak
63988dbe8c
Version 0.3.0
2018-06-25 22:46:52 +02:00
Karol Stasiak
a692a9868e
Update changelog
2018-06-24 00:31:10 +02:00
Karol Stasiak
5ee9fd85ce
Humblebrag
2018-06-19 00:08:18 +02:00
Karol Stasiak
992ea7090e
Comparison fixes and improvements
2018-06-19 00:08:04 +02:00
Karol Stasiak
24a3943501
Array filters (@word, @word_be)
2018-06-18 02:52:14 +02:00
Karol Stasiak
8931ced6fc
Preliminary LUnix support
2018-06-09 00:18:21 +02:00
Karol Stasiak
c71af26989
Documentation updates
2018-06-04 16:24:18 +02:00
Karol Stasiak
7eab7c439e
Preliminary Atari 2600 support
2018-04-03 23:13:57 +02:00
Karol Stasiak
3296d5a201
Documentation improvements
2018-04-03 00:21:26 +02:00
Karol Stasiak
d6995091cf
Character literals
2018-04-02 21:06:18 +02:00
Karol Stasiak
95375378ed
More text codecs
2018-04-02 19:47:11 +02:00
Karol Stasiak
d785d43ae7
Many optimization improvements and bugfixes
...
- fixed VariableToRegisterOptimization removing variables during superoptimization
- fixed PointlessMathFromFlow giving results that do not fit a byte
- fixed PointlessLoadBeforeReturn moving reads from before to after memory modification
- achieved and exceeded CC65 performance when doing 16-bit Eratosthenes sieve
2018-03-28 12:37:38 +02:00