on this page

getting started
privacy
case statement
cursor control
window size
limitations
contact

Starting with Oberon Core

First time users who have never played with an Oberon system before will likely need at least a few hints to get the hang of working with this system. Typical programs on your Mac have fairly consistent patterns of man-machine interaction, as prescribed by Apple, with which people got familiar. The familiarity however abruptly ends when you start clicking inside the Oberon window, which simulates the screen of a real Oberon computer. This simulated computer has little in common with the Mac OS and its general user interface patterns. Part of the fun of working with Oberon is the exposure to a very different but extremely efficient and consistent UI paradigm.

To get started quickly with Oberon Core, as a novice, probably the most effective thing to do is to begin with the Mac Help in the menu bar at the top of the screen. (Many people overlook this often-present application help function.) There is no help on the "inside" in this Oberon system.

Click on "Help -> Oberon Help". Please read carefully and do the "Examples of small tasks" exercise. In that section you are walked through the basic mouse operations, and shown how to write a small program, compile and run it.

As a next step, you may want to study the Oberon language Report, which is also available on the Help menu, and the Oberon system documentation written by Prof. Niklaus Wirth, available on his web site.

Privacy, Safety

Oberon Core does never contact any servers we (Reactive Instruments) use for our business, except when you choose to click on a help-link to look up a web page (like the one you are reading). More specifically, Oberon Core has no code to send "crash reports" nor usage information. If you choose to communicate with us, you need to send a mail. Your mail is considered confidential by default.

With Oberon Core you can only read or write files in the current Oberon directory. All files written by Oberon Core have a safety mark that prevents them from being inadvertently executed as programs/scripts on the Mac. Of course you can freely move files in- and out of your Oberon Folders, or access them with other Mac Applications.

CASE statements with INTEGER or CHAR labels

Although the Language Report allows this form of a CASE statement, the current Oberon-07 compiler published by Prof. Wirth implements only CASE statements with record or pointer type labels. A workaround is to use IF THEN .. constructs for the time being.

Cursor control in text frames

The current Oberon system does not support cursor movement with the arrow keys. As an example how you can change the system to your individual needs, have a look at the cursor control solution.

Size of the Oberon window

The Project Oberon system works with a 1024x768 bitmap which corresponds to the resolution of the simulated hardware Oberon screen. Oberon Core does not support resizing the window. To get a larger Oberon Window (and larger text display), you could use one of the following:

Limitations

The "Oberon Workstation" application that previously was on the Mac App Store has been simplified and renamed as Oberon Core. Features facilitating system development (e.g. for creating your own variants/enhancements of the Oberon system) have been removed.
Another product will be offered for users who desire a more powerful Oberon development tool.

The original Oberon Project uses modest hardware specifications: memory (1Mb), screen resolution (1024 x 768) and colour depth (black and white). This limitation is reflected in the Oberon application. It allows the application to use the Oberon software with minimal changes, and to keep it compatible with the Project Oberon 2013 hardware platform.

The (simulated) Oberon system in Oberon Core has no network device. This means you cannot contact the internet (or be contacted) from Oberon module code. Also, there are no RS232 or SPI devices.

Contact us

If you find an issue with Oberon Core or have a question, please send a mail.