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 9 Oct 2021
This version of Astrobe is supported on Windows 10 and 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


Editor

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.


Linker

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.


Compiler

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:


Configuration

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

SYSTEM.NULL

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

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

SYSTEM.VAL

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

PROCEDURE LSR(x, n: INTEGER): INTEGER;

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

System.Date

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 number of inexpensive 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.

General

RISC5-specific


Source Code Examples

Additional source code examples have been included.


Acknowledgements

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

v8.0