1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-12-24 15:29:23 +00:00
Commit Graph

552 Commits

Author SHA1 Message Date
Karol Stasiak
43e75276df Preliminary and experimental Game Boy support 2019-03-18 23:15:05 +01:00
Karol Stasiak
69ccd993b2 6502: Functions shouldn't use index registers if not necessary 2019-03-18 21:54:26 +01:00
Karol Stasiak
c829c5eb37 Z80: Optimize 16-bit loads after 8-bit stores 2019-03-18 20:12:33 +01:00
Karol Stasiak
6f00cacc6d 6502: Optimize 16-bit multiplication by a constant 2019-03-18 20:01:40 +01:00
Karol Stasiak
b8547ed154 Aliases should access subfields 2019-03-18 15:14:13 +01:00
Karol Stasiak
3a5cf16bba NES: fix swapped joypad definitions 2019-01-13 19:43:37 +01:00
Karol Stasiak
6979cbfe39 Generate checksums for Game Boy 2019-01-11 15:17:48 +01:00
Karol Stasiak
8211b3cf49 8080: better compiler error messages 2019-01-11 15:17:01 +01:00
Karol Stasiak
f71b6a0b04 8080: parse "DEC BC" correctly 2019-01-11 15:16:28 +01:00
Karol Stasiak
56c806ffa3 Optimize the optimizer by trying less likely patterns first 2019-01-08 23:47:02 +01:00
Karol Stasiak
f23e71afa2 6502: Few more optimizations 2019-01-08 23:46:31 +01:00
Karol Stasiak
42ecc574f3 6502: Fix local variable read optimization 2019-01-08 23:46:08 +01:00
Karol Stasiak
492300d298 C64: File I/O support 2019-01-05 01:19:14 +01:00
Karol Stasiak
7d596f3ed6 Minor improvements 2019-01-05 01:04:08 +01:00
Karol Stasiak
4db1126b01 C64: Fix kernal definitions 2019-01-04 14:06:10 +01:00
Karol Stasiak
19c0668002 6502: Better passing of register parameters 2019-01-04 12:59:43 +01:00
Karol Stasiak
25ca2cd6b8 6502: detect zeropage pointers more aggressively 2019-01-04 11:55:35 +01:00
Karol Stasiak
bf0da19ab9 Track source position of else if 2019-01-04 11:54:46 +01:00
Karol Stasiak
b1374bb914 6502: Optimization fixes 2019-01-04 11:53:25 +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
2f63eafc3a Guess-a-number example; make echo run on PC-88 2018-12-30 19:10:57 +01:00
Karol Stasiak
c438152f1d Update changelog 2018-12-30 19:01:38 +01:00
Karol Stasiak
75e572f58c Library improvements:
– random module
– ensure_mixedcase() function
2018-12-30 18:59:32 +01:00
Karol Stasiak
fc56c11b31 Hint typoed identifiers 2018-12-30 18:55:03 +01:00
Karol Stasiak
b068663729 PET: Add oldpet and origpet encodings 2018-12-30 18:54:45 +01:00
Karol Stasiak
6c8ee34a2e Z80: Fix jump following 2018-12-30 18:53:26 +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
9a7086fd8c Fire effect example 2018-12-29 20:12:19 +01:00
Karol Stasiak
d7b2181ef5 If a variable is used wholly within a loop body and initialized conditionally, do not remove the last store to it 2018-12-29 20:07:43 +01:00
Karol Stasiak
cbe709a9cf 6502: fix optimizations using index registers 2018-12-29 20:01:17 +01:00
Karol Stasiak
fca2700787 Z80: fix assembly output 2018-12-29 20:00:40 +01:00
Karol Stasiak
b0e20ade0f Export compiler version as preprocessor parameter 2018-12-29 20:00:06 +01:00
Karol Stasiak
80e4b6d173 Fix #use and #pragma 2018-12-29 19:59:17 +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
0dc16e9af2 8080: Don't change BC/DE when not allowed to 2018-12-28 11:38:52 +01:00
Karol Stasiak
588d52ca80 Better handling of memory alignment 2018-12-28 11:26:55 +01:00
Karol Stasiak
1c55304bad 8080: Exchange BC/DE registers pairs 2018-12-28 11:25:12 +01:00
Karol Stasiak
e66e938469 6502: Fix variable inlining 2018-12-28 01:17:23 +01:00
Karol Stasiak
95e37d63f1 Remove debugging 2018-12-27 22:02:13 +01:00
Karol Stasiak
f848bf898c 6502: inline variables to registers swapping addressing modes 2018-12-27 20:49:54 +01:00
Karol Stasiak
46bf726818 Optimize for loops 2018-12-27 20:47:18 +01:00
Karol Stasiak
985663083a 6502: Fix some optimizations 2018-12-27 20:46:58 +01:00
Karol Stasiak
e0cc25c54f Fix syntax colouring 2018-12-27 15:10:21 +01:00
Karol Stasiak
59afc24db6 Fix memset 2018-12-27 14:19:04 +01:00
Karol Stasiak
0ded460840 8080: Test subroutine extraction 2018-12-27 14:18:30 +01:00
Karol Stasiak
9ff254c72d Allow hi() and lo() in inline assembly 2018-12-27 14:17:48 +01:00
Karol Stasiak
4d64bbafac 6502: always fold constants 2018-12-27 14:16:34 +01:00