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

220 Commits

Author SHA1 Message Date
Karol Stasiak
3ce2249399 Add 16-bit multiplication 2019-09-04 21:17:06 +02:00
Karol Stasiak
f18135ee7f Update documentation 2019-09-04 01:22:40 +02:00
Karol Stasiak
e449b67a4a Added encconv module. 2019-09-04 01:14:14 +02:00
Karol Stasiak
0be52821d9 Add the {nullchar} escape sequence 2019-09-02 23:23:23 +02:00
Karol Stasiak
1f8ece007b Add constants for segment bounds 2019-09-02 23:22:07 +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
efe103b070 Update documentation 2019-08-05 14:07:33 +02:00
Karol Stasiak
96b020ce62 Docs: Fix some typos 2019-07-31 02:37:40 +02:00
Karol Stasiak
05c017e375 New encodings for MSX 2019-07-31 00:20:18 +02:00
Karol Stasiak
22b4776139 Enable pointers to functions with a word parameter (using trampolines on 6502) 2019-07-30 22:49:32 +02:00
Karol Stasiak
d9f8b5acc4 Add support for Japanese C64 2019-07-30 15:30:18 +02:00
Karol Stasiak
d3b72f5b42 Add petjp and petscrjp encodings. Allow lowercase letters in string literals on Apple II. 2019-07-30 15:10:29 +02:00
Karol Stasiak
b68e4b67c8 Better support for big-endian systems 2019-07-29 22:51:08 +02:00
Karol Stasiak
dd4cb17a80 _.length and _.lastindex for arrays 2019-07-29 22:50:26 +02:00
Karol Stasiak
b2afddf05b More output operators 2019-07-28 17:49:20 +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
c8ca48a6b0 Better documentation for in-place modification operators 2019-07-26 18:56:24 +02:00
Karol Stasiak
4b25ce2d8c Pointers to fields of array elements 2019-07-24 00:14:27 +02:00
Karol Stasiak
20f4baf2b2 Allow setting segments for multiple declarations at once 2019-07-17 20:51:34 +02:00
Karol Stasiak
46f060ecc8 Docs: Make links always clickable 2019-07-15 14:41:19 +02:00
Karol Stasiak
b341200a0a More documentation tweaks 2019-07-15 14:21:50 +02:00
Karol Stasiak
1d024eae76 Add LITTLE_ENDIAN and BIG_ENDIAN features 2019-07-15 14:15:38 +02:00
Karol Stasiak
e0cd000b99 Documentation tweaks 2019-07-15 14:15:05 +02:00
Karol Stasiak
52c5a10e6e Documentation overhaul 2019-07-15 13:52:05 +02:00
Karol Stasiak
f3dcfc78ba Dijkstra wept 2019-07-15 02:06:23 +02:00
Karol Stasiak
98f35937e3 Improve text encodings on Atari 2019-07-12 13:29:59 +02:00
Karol Stasiak
6d499f3623 Arrays with elements larger than one byte 2019-07-10 16:51:12 +02:00
Karol Stasiak
a29b2a994b Improve passing of register parameters to assembly functions 2019-07-09 22:40:14 +02:00
Karol Stasiak
62f79388bd Slowly move towards removing the farword alias 2019-07-09 22:03:53 +02:00
Karol Stasiak
8a5672c2dc Allow declaring multiple variables in one line 2019-07-08 19:24:11 +02:00
Karol Stasiak
b0df56c8c0 Add more compatibility warnings to documentation 2019-06-28 17:53:00 +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
261486b3cd Don't enable -fsubroutine-extraction when using -Os or -Of 2019-06-26 19:07:25 +02:00
Karol Stasiak
51599c9615 Allow defining free zeropage bytes instead of pointers 2019-06-26 18:33:59 +02:00
Karol Stasiak
b80e46d755 Minor fixes 2019-06-26 17:06:55 +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
2282e56845 6502: Faster summing for-loops 2019-06-25 18:23:31 +02:00
Karol Stasiak
e9e52d11a7 Add readkey for C64 & ZXS. Fix putchar('{q}') on C64. 2019-06-25 18:19:33 +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
96b5918728 Clarify console output behaviour 2019-06-24 21:26:08 +02:00
Karol Stasiak
0205520bf9 Allow taking addresses of stack variables 2019-06-23 22:53:42 +02:00
Karol Stasiak
7194bc1f1c More details on 8086 support (2) 2019-06-15 19:42:51 +02:00
Karol Stasiak
6e4e5863c6 More details on 8086 support 2019-06-15 01:44:04 +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
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
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
91a7e42d9f Update documentation 2019-06-12 00:20:24 +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
326e9d0585 Documentation fixes 2019-06-05 18:34:32 +02:00
Karol Stasiak
bc8ac1f696 Preliminary MSX support 2019-06-05 13:31:43 +02:00
Karol Stasiak
b4b2e9b041 Documentation fixes 2019-06-05 13:31:30 +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
305376bcec Update documentation 2019-05-29 14:21:00 +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
41e6bddfd9 Documentatin update 2019-04-18 17:20:35 +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
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
6979cbfe39 Generate checksums for Game Boy 2019-01-11 15:17:48 +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
b400c884e0 Add memory barriers 2018-12-31 13:20:32 +01:00
Karol Stasiak
75e572f58c Library improvements:
– random module
– ensure_mixedcase() function
2018-12-30 18:59:32 +01:00
Karol Stasiak
b068663729 PET: Add oldpet and origpet encodings 2018-12-30 18:54:45 +01:00
Karol Stasiak
a100675c7c Documentation update 2018-12-29 20:16:05 +01:00
Karol Stasiak
f12463aef0 Optimization refactoring:
– -Of should imply -finline
– certain optimizations should be controllable
– unused global symbols should be removed even if we're not optimizing
2018-12-27 01:18:29 +01:00
Karol Stasiak
438d8dbe6e Detection of the default include path. 2018-12-24 02:38:28 +01:00
Karol Stasiak
7bf9616fcb Fix/improve documentation 2018-12-24 01:32:17 +01:00
Karol Stasiak
acaaa5bdfe Implicit ranges in for loops are dumb, remove 2018-12-22 01:30:54 +01:00
Karol Stasiak
e43fb39781 Optimize some stdlib calls 2018-12-21 22:33:27 +01:00
Karol Stasiak
62575263c2 NEC PC-88: readline 2018-12-20 00:47:42 +01:00
Karol Stasiak
10492bc534 Updated examples 2018-12-19 22:32:55 +01:00
Karol Stasiak
310df1a8de It's Amstrad not Armstrad 2018-12-19 22:21:51 +01:00
Karol Stasiak
9f16311aff Preliminary CPC support 2018-12-19 19:02:29 +01:00
Karol Stasiak
05884f2c7b Standard library improvements 2018-12-19 19:01:53 +01:00
Karol Stasiak
960cee5124 Foreach statement; emitting subprocedures 2018-12-19 18:13:38 +01:00
Karol Stasiak
fc10746522 Alias improvements:
– aliases can now override other objects
– take aliases into account when ordering functions for optimizations and inlining
2018-12-19 17:33:51 +01:00
Karol Stasiak
08f9426ccb Multiplication fixes and improvements 2018-12-19 01:10:39 +01:00
Karol Stasiak
2454f223c8 Return dispatch over enums 2018-12-19 01:04:56 +01:00
Karol Stasiak
585407e9bb Library improvements 2018-12-17 17:18:29 +01:00
Karol Stasiak
7616c246ee Fix Apple 2 text codec 2018-12-17 17:15:34 +01:00
Karol Stasiak
007b1dc839 C64: ROM cartridge support 2018-12-17 11:13:01 +01:00