Today (8th October 2012) I have released a
new PortablE beta of my
modernised AmigaE programming language. The changes include:
* AmigaOS4: Added some missing Commodities & Exec library functions.
* AmigaOS4: Memory allocations now follow the latest guidance. This should ensure that swap is fully utilised, which may be especially handy for the PortablE compiler itself.
* AROS: Got rid of harmless "superfluous cast" warnings that happened when automatically compiling a few modules.
* For the 'std/cPath' module, finally added 64-bit file support for AmigaOS4, and improved handling of files over 2GB for AROS, MorphOS & AmigaOS3.
* For the 'std/cGfx' module, it now uses real double-buffering for Full Screen (except on AROS). This can make animation smoother, and on AmigaOS3 it looks much much better.
* For the 'std/cGfx' module, added the ability to change window position & hide the mouse pointer.
* For the 'std/cGfx' module, fixed a couple of corrupted graphics bugs.
* For the 'std/cGfxSprites' module, made setData() & getData() easier to use, and added setDataPtr() & getDataPtr() for the old behaviour.
* For the 'std/cGui' module, windows can now be vertically resizable, and greatly improved the GUI layout code.
* For the 'std/cGui' module, added cGuiText, and changed how cGuiTextBox behaves. (The new cGuiText behaves similar to how cGuiTextBox used to, so switch to that if you only need to display one line of text.)
* For the 'std/cGui' module, the window's size & position can now be read & changed, just like cGfx.
* For the 'std/cGui' module, added some useful methods, and replaced cGuiWindow's setGhosted() with setBusy() & getBusy(). Also iconified windows now use the program's icon.
* For the 'std/cGui' module, fixed a performance issue, and also a crash which could occur when a window closed.
* For the 'std/cPath' module, split it into several smaller modules, which should allow simple programs to have smaller executables & slightly faster compilation times.
* For the 'std/cPath' module, replaced makePath() with getPath() & setPath().
* For the 'dos/dos' module, made BPTR a real pointer type, so that such variables are now auto-initialised to NIL like you would expect.
* For the 'devices/ahi' module, recreated this module for all targets, using the latest AHI header files. This helped fix various minor issues.
* For the 'dos' & 'icon' modules, BOOL return values (0,-1) were actually C boolean values (0,1). Fixed.
* Removed *Tags() procedures from the modules 'Picasso96API', 'dos', 'exec', 'graphics', 'icon' & 'identify'.
* Duplicate RAISE statements would cause a compilation crash instead of an error message. Also RAISE were incorrectly being inherited between modules in certain situations.
* Fixed many AmigaE code generation bugs & a few module problems, such that all the "std" examples can now be compiled using AmigaE rather than GCC.
* Fixed a few other bugs.
For the full list of changes & additional details, please see the documentation's
History chapter.
Also note that I have updated & recompiled
all the examples.