As the AmigaOS version of PureBasic is not actively supported anymore, we decided to open as much code as we could do. Therefore, the whole commandset of PureBasic (beware, written completely in 680x0 assembly), the IDE and some other tools are available for modification. As the compiler source is shared between all the versions of PureBasic, it remains closed. If you do a bug fix, an improvement or anything else which could make PureBasic for AmigaOS better, don't hesitate to send us your patch, it will be included in the next release. We don't plan to work on the AmigaOS libraries anymore, but the compiler has been ported using the lastest v4.00 branch, so we will support any future version of the compiler, but without implementing CPU specific features. For example, the "Macros" are available on AmigaOS 4.00 compiler, as it's a compiler feature, but "quad" and "double" are not, as they need a CPU specific implementation.
Change list against the last official version (2.90):
Added: Character support (.c) for ascii (not for unicode)
Added: SizeOf(), OffsetOf() etc.
Added: Build-in constants like #PB_Compiler_Home, #PB_Compiler_OS, #PB_Compiler_Date
Added: Variable arguments for procedures
Added: Direct variable access for procedure numeric arguments (faster procedure call)
Added: Commandset reworked to preserves d2-d7 and a2-a6 registers like OS functions (by Doobrey)
Added: Improved stability, all the standard PB unit-tests pass for the compiler
Added: 32bits divide for 68000 processors (by Doobrey)
Added: DirectoryEntryAttributes(), DirectoryEntrySize(), IsDirectory(), IsFile() (by Doobrey)
Added: GetExtensionPart(), Red(), Green(), Blue(), RGB() (by Doobrey)
Removed: InitRequester(), now automatically called
Renamed: 'DefType' to 'Define'
Renamed: GetCLIArgs() and CountCLIArgs() to ProgramParameter()
Renamed: Red() to ScreenRed(), Blue() to ScreenBlue(), Green() to ScreenGreen()
Renamed: PalRGB() to PaletteRGB(), RGB() to ScreenRGB()
Renamed: OpenNetworkConnexion() to OpenNetworkConnection()
Renamed: CloseNetworkConnexion() to CloseNetworkConnection()
It can be downloaded directly on the download page. More informations can be found in the Sources/ directory of the package.
Have fun !
The Fantaisie Software Team.