Welcome, Guest. Please login or register.

Author Topic: Portabl E r6 release finished  (Read 295 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline ChrisHTopic starter

  • Jr. Member
  • **
  • Join Date: Jun 2007
  • Posts: 92
  • Country: 00
    • http://cshandley.co.uk/email
Portabl E r6 release finished
« on: November 12, 2022, 07:32:10 PM »

Portabl E is my recreation of the AmigaE programming language, along with most of the improvements I have wanted. Portabl E works on AmigaOS4, AROS, MorphOS, as well as even Linux & Windows!  (It should also work on AmigaOS3, but compiling needs a powerful machine like WinUAE.)

This is the finished r6 release, with the "beta" tag removed, although it hasn't really been beta since the last couple of releases.
.

See the main manual for what has changed since r5.  The biggest changes since the last r6 beta release include:
* 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 (for Amiga & Windows) using the TargetOS parameter, as long as an appropriate GCC cross-compiler is installed.
 
* 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.

You can download it from here:
Aminet
OS4Depot
     
Portabl E comes with documentation, but you can always find the latest version & on-line documentation from it's homepage:
cshandley.co.uk/portable
Author of the PortablE programming language.
It is pitch black. You are likely to be eaten by a grue.
 

Offline ChrisHTopic starter

  • Jr. Member
  • **
  • Join Date: Jun 2007
  • Posts: 92
  • Country: 00
    • http://cshandley.co.uk/email
Re: Portabl E r6 release finished
« Reply #1 on: November 14, 2022, 06:05:12 PM »
I've released an update (r6a) which fixes a few bugs:
* AmigaOS4: Fixed the 'std/cGui' module failing to compile (MUIA_Dtpic_Name not declared), due to the SDK not using MUI4+ by default.
* Linux: Fixed 32-bit hex values > $7FFFFFFF not being interpreted as negative by the type checker.
* AROS: Fixed Install_AROS not offering to install the extra C header files (although they're not really needed).
Author of the PortablE programming language.
It is pitch black. You are likely to be eaten by a grue.
 

Offline ChrisHTopic starter

  • Jr. Member
  • **
  • Join Date: Jun 2007
  • Posts: 92
  • Country: 00
    • http://cshandley.co.uk/email
Re: Portabl E r6 release finished
« Reply #2 on: November 25, 2022, 01:15:52 PM »
I've released a second update (r6b) which fixes two serious problems:
* Amiga: Fixed the installer still failing at "Copying executables..." in some cases.  Many thanks to Benedetto Lorello for reporting the bug & assisting with testing (as it didn't happen for me).
* AmigaOS4: Worked-around a bug in the latest OS4 SDK (54.16), which has problems compiling C++ code, unless you use GCC v6.4.0 .  Many thanks to Benedetto Lorello for reporting the problem.
« Last Edit: November 25, 2022, 01:20:01 PM by ChrisH »
Author of the PortablE programming language.
It is pitch black. You are likely to be eaten by a grue.