What's New in Astrobe for RISC5

Version 8.0 Copyright © 2006-2021 CFB Software
Email: support@astrobe.com
Website: www.astrobe.com

Last Updated 29 Oct 2021
This version of Astrobe is supported on Microsoft Windows 10 and Windows 11 with the Microsoft .NET Framework 4.x. There is no longer any need to have older versions of the .NET Framework installed. The Installation and Uninstall executables are digitally signed to validate authenticity and integrity.

This is a summary of the new features introduced in Astrobe for RISC5 since version 7.2


When a new file which is still named Untitled.mod is saved, the Save As dialog box is shown to allow the filename to be changed.

When the Editor Preference Trim whitespace is checked, trailing tab and space characters are deleted from each line of a file when it is saved.


Project > Link combines the core Project Oberon operating system modules Kernel, FileDir, Files and Modules to create a new boot file named Modules.bin. The source code file Modules.Mod should be the current module displayed in the Astrobe editor window when the link command is run.

Make a backup copy of the Embedded Project Oberon SD card and then upload the bin file. Run the Embedded Oberon command BootFile.Load to replace the existing bootfile on the SD card and restart the system to use it.


Order of Import Items

The items in an IMPORT list may now be included in any order. The sequence is not affected by dependencies or indirect imports.

Warnings for Unused Items

The compiler optionally reports a warning for:


The Configuration menu now includes the names of all of the configuration files located in the current Config folder e.g.

Click on the name to set that as the current configuration. Alternatively, select the Configuration > Open command to immediately set the configuration, or to change the current Config folder.

Select Configuration > Edit to view or change the current configuration.

The configuration file now includes a Warnings checkbox so you can enable / disable compiler warning messages.

SYSTEM and Built-In Procedures


PROCEDURE NULL*(x: Numeric type>): BOOLEAN;

SYSTEM.NULL returns true if x is negative or positive INTEGER or REAL zero.


PROCEDURE VAL*(typeName: <any type>; x: <any type>): typeName;

SYSTEM.VAL allows the value of x (which can be of any type) to be interpreted as if it were declared as type typeName. x can be a non-scalar variable i.e. a record or an array. The size of the source and destination types must be the same.



LSR performs an unsigned shift right of integer x by n places, where n is a positive integer expression, returning x * 2-n

Oberon Commands


The parameters to System.Date are now consistent with Project Oberon:

dd mo yy hh mm ss

Leading zeros are optional.

0 <= dd <= 31, 1 <= mo <= 12, 0 < yy <= 63, 0 <= hh <= 23, 0 <= mm <= 59, 0 <= ss <= 59.

For example, 11:59 pm on New Year's Eve, 2021 is set using

System.Date 31 12 21 23 59 0

If System.Date has no, or invalid, parameters, then the date and time is displayed. With parameters, date and time are reset.

Supported FPGA Development Boards

Embedded Project Oberon has been implemented on a wider range of FPGA development boards using Xilinx Spartan-7 and Artix-7 devices. The RISC5 processor clock speed used is 40 MHz.

Arduino Shield-compatible SPI and I2C pins are supported on the Digilent Arty A7 and Arty S7 development boards.

Library Modules

The following new library modules are included. You can refer to the Astrobe for Cortex-M3, M4 and M7 Microcontrollers document for detailed descriptions of the General modules as they are identical to the corresponding Cortex-M versions.



Source Code Examples

Additional source code examples have been included.


The following have contributed significantly towards this release of Astrobe for RISC5 by providing encouragement, problem reports and enhancement requests and by publishing solutions to problems. I greatly appreciate the assistance and recommend that you refer to their work for additional inspiration.

gray Oberon-RTS
Andreas Pirklbauer    Andreas Pirklbauer's GitHub Repositories
Paul Reed Project Oberon
Michael Schierl Michael Schierl's GitHub Repositories

Problems fixed