diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f9b007a..617ca832 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ * Almost complete support for the Zilog Z80, Intel 8080 and Sharp LR35902 microprocessors. -* A very incomplete support for NEC PC-88 and ZX Spectrum. +* A very incomplete support for NEC PC-88, ZX Spectrum, CP/M and Armstrad CPC. * Unified the syntax of commandline switches. @@ -12,7 +12,9 @@ * Added enumeration types. -* Added preprocessor +* Added preprocessor. + +* Added `for` loops over arrays, enum types and in-place lists * Added `align` keyword for choosing data and code alignment. @@ -34,6 +36,8 @@ * **Potentially breaking change!** Curly braces in text literals are now used for escape sequences. +* **Potentially breaking change!** Changed the `c64_basic` module. + * **Potentially breaking change!** `scr` now refers to the default screencodes as defined for the platform. Code that uses both a custom platform definition and the `scr` encoding needs attention (either change `scr` to `petscr` or add `screen_encoding=petscr` in the platform definition file). diff --git a/README.md b/README.md index dd6c7669..26fe16a7 100644 --- a/README.md +++ b/README.md @@ -2,33 +2,25 @@ # Millfork -A middle-level programming language targeting 6502-based and Z80-based microcomputers. +A middle-level programming language targeting 6502-based, 8080-based and Z80-based microcomputers. For binary releases, see: https://github.com/KarolS/millfork/releases -(latest: 0.3.0, doesn't support Z80 yet) +(latest: 0.3.0, only for 6502) ## Features +* high performance, due to being designed and optimized for 8-bit microprocessors + * multiple targets: * Commodore 64 (the primary target) * Commodore 64 with SuperCPU (experimental, incomplete and very buggy) - * Commodore 16 and Plus/4 - - * Commodore 128 - - * Commodore 64/128 running LUnix/LNG 0.21 (experimental) - - * Commodore PET - - * Commodore Vic-20 (stock or with RAM extensions) + * other Commodore computers: C16, Plus/4, C128, PET, VIC-20 (stock or with RAM extensions) * Famicom/NES (the second most important target) - * Atari 2600 (experimental) - * Atari 8-bit computers * BBC Micro @@ -39,7 +31,11 @@ For binary releases, see: https://github.com/KarolS/millfork/releases * NEC PC-88 + * Armstrad CPC + * CP/M + + * Atari 2600 (experimental) * inline assembly @@ -49,7 +45,7 @@ For binary releases, see: https://github.com/KarolS/millfork/releases * simple memory model that avoids using the stack -* multi-pass optimizer (that will even optimize your hand-written assembly if you ask it to) +* multi-pass whole-program optimizer (that will even optimize your hand-written assembly if you ask it to) ## Licensing @@ -70,8 +66,8 @@ Therefore, no attribution is needed if you are developing and distributing Millf * more 6502 targets: Oric computers, PC-Engine/Turbografx-16, Atari Lynx -* more Z80 targets: Armstrad CPC, MSX, TI-83, Sega Master System +* more Z80 targets: MSX, TI-83, Sega Master System * better support for 65816, Intel 8080, Sharp LR35902 and eZ80 -* support for CP/M, Gameboy, SuperFamicom/SNES and Apple IIgs +* support for Gameboy, SuperFamicom/SNES and Apple IIgs