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

156 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
7d596f3ed6 Minor improvements 2019-01-05 01:04:08 +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
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
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
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
Karol Stasiak
78afe3d5f5 Preliminary support for volatile variables 2018-12-16 21:07:04 +01:00
Karol Stasiak
cd8697552c Add sizeof operator 2018-12-16 15:43:17 +01:00
Karol Stasiak
f32d72b51f Multiplication u16×u8 2018-12-14 22:50:20 +01:00
Karol Stasiak
c28b71add5 6502: Stack-related things:
– software variable stack
– fixes for handling stack variables
2018-12-14 22:01:52 +01:00
Karol Stasiak
fe1bf68295 Add align keyword 2018-10-04 21:34:53 +02:00
Karol Stasiak
f37696df5a Added #infoeval preprocessor directive 2018-09-28 22:49:28 +02:00
Karol Stasiak
376c3283b8 Improvements to trigonometric functions 2018-08-08 23:52:47 +02:00
Karol Stasiak
34b7107d27 Allow casting to wider types 2018-08-08 23:14:09 +02:00
Karol Stasiak
2b279ac5e8 Give the preprocessor access to compilation options 2018-08-08 13:44:30 +02:00
Karol Stasiak
516b44ad05 Add docs about Intel asm syntax 2018-08-03 17:26:26 +02:00
Karol Stasiak
48b183828b Z80: LDH instruction for LR35902 2018-08-03 16:43:31 +02:00
Karol Stasiak
f4a2c96512 Fix comparisons 2018-08-03 16:21:02 +02:00
Karol Stasiak
fab1cafec3 Z80: Intel syntax support 2018-08-03 13:23:37 +02:00
Karol Stasiak
388ceb8b3a 6502: software BCD, increase default zpreg to 4 2018-08-03 13:06:23 +02:00
Karol Stasiak
a8ab3b2c3f Documentation update 2018-08-03 13:00:52 +02:00
Karol Stasiak
e952d89849 Z80: Intel syntax for output. 2018-08-01 21:16:20 +02:00
Karol Stasiak
d4beba11a1 Z80: >>' operator 2018-08-01 18:49:37 +02:00
Karol Stasiak
107474978e Updated reentrancy documentation 2018-08-01 18:49:15 +02:00
Karol Stasiak
2046f94b55 Z80: Compile 8-bit values directly into registers other than A 2018-07-31 01:00:17 +02:00
Karol Stasiak
e0bec29318 Minor documentation updates 2018-07-31 00:58:43 +02:00
Karol Stasiak
2ef79d6894 Minor improvements for Intel 8080 and ZX Spectrum 2018-07-30 18:55:20 +02:00
Karol Stasiak
cb92b09942 Improvements related to large types:
– returning types larger than 2
– fastcall for 1 parameter of size 3 or 4 on Z80
– more integer types (up to int128)
– marked farword as a deprecated alias of int24
2018-07-30 14:33:16 +02:00
Karol Stasiak
070ae395ee Text literals in expressions, escape sequences, and more 2018-07-28 00:58:20 +02:00
Karol Stasiak
7ea2fe6a4e Almost full LR35902 opcode space coverage 2018-07-27 19:07:12 +02:00
Karol Stasiak
27de426a38 Documentation updates 2018-07-25 00:04:00 +02:00
Karol Stasiak
a34acbf6ce Z80: Operators *'=, <<' and <<'= 2018-07-23 15:47:03 +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
2c8de8b6a5 Text encoding improvements 2018-07-07 00:58:44 +02:00
Karol Stasiak
351d2ac5f9 Documentation update 2018-07-03 23:28:05 +02:00
Karol Stasiak
9512e8e7ae Really early and very incomplete PC-88 support 2018-07-02 00:31:47 +02:00
Karol Stasiak
24a3943501 Array filters (@word, @word_be) 2018-06-18 02:52:14 +02:00
Karol Stasiak
775707801c Documentation improvements 2018-06-09 00:05:17 +02:00
Karol Stasiak
c71af26989 Documentation updates 2018-06-04 16:24:18 +02:00
Karol Stasiak
e2f7c6ee32 Typo fix 2018-06-01 09:51:04 +02:00