Portabl E r6
Christopher Handley's meta compiler Portabl E is a "recreation of the Amiga E programming language" providing many improvements. After several beta versions he now has released the final release 6. It "fully supports AmigaOS4, AROS & MorphOS, has fairly good support for AmigaOS3, and basic support for Linux & Windows."
Most important changes since the last beta release:
- Added basic Linux support (64bit x86 only), to the same level as Windows, i.e. Shell-only, with no graphics or internet access. This was a major effort, partly due to all the differences (64-bit pointers, case-sensitive filing system, mount-points anywhere, etc), and partly due to all the C headers that needed to be converted.
- Linux: PEGCC now supports cross-compilation using the TargetOS parameter, as long as an appropriate GCC cross-compiler is installed.
- Windows/Linux: In 'std/cPath', added a per-user Assignments.txt file, but removed the per-program-start-folder Assignments.txt file.
- Programs will now compile using the latest SDK of AmigaOS4, AROS and MorphOS.
- All OS procedures that can support unlimited parameters now do so, including the Amiga's SystemTags().
- AmigaOS3: No-longer needs a modified "intuition/classusr.h" file.
- Added the 'std/pUnsigned' module, to provide basic support for unsigned number types, and the example program "Examples/std/Shell/crc32.e". Useful for porting certain C algorithms.
- Added the procedures InStrNoCase(), BigMax(), BigMin(), BigFastMod(), IsBigEndian() & IsLittleEndian().
- In 'std/pTime', improved CurrentTime() to take a timezone parameter.
- Fixed FastNew() (and so NEW) which would trash memory, instead of raising the "MEM" exception, if it failed to allocate memory. Thanks to Dimitris Panokostas for reporting symptoms of this long-standing bug, especially as I don't see out-of-memory errors on the OSes I normally use.
- Amiga: The installer would fail at "Copying executables..." if the user-specified path for executables did not contain any (sub) folders, such as "C:" (which sadly was the default). Many thanks to "Zendarion" for the bug report.
- Windows: In 'std/pTime', CurrentTime() now returns the correct time when DST is in effect.
- I've renamed the language from "PortablE" to "Portabl E" with a space, in the hope of making it more easily searchable on the internet (as well as clarifying how to pronounce it). But the "PortablE" command name itself is unchanged.
amigamia 11/09/2022 1,045